CLI駆動開発の現在地
深夜2時、終わらないデバッグ作業の最中にふと「今のコンテキスト、AIがどこまで理解しているのか?」と不安になった経験はないだろうか。我々エンジニアにとって、IDEのGUI操作は時にノイズとなる。ターミナルから離れず、思考の速度を落とさずにAIと対話する。Claude Codeは、まさにその「エンジニアの思考の拡張」を実現するための強力なCLIツールだ。しかし、ただ漫然とチャットを繰り返すだけでは、AIはすぐに文脈の迷宮に迷い込み、トークン消費という名のコストを垂れ流すことになる。
Claude Codeを真に使いこなす鍵は、スラッシュコマンドによる「対話の制御」にある。特にコンテキスト管理の要となるのが /compact と /clear だ。長いセッションでAIが過去の議論に引きずられ、的外れな回答を始めたとき、我々は即座に /compact を叩くべきだ。これは単なる要約ではない。AIが保持する「記憶の圧縮」であり、重要なアーキテクチャの決定事項を維持しつつ、ノイズを削ぎ落とす高度なコンテキスト管理術である。一方で、全く別のタスクへ切り替える際には /clear を用いる。これらを使い分けることは、メモリリークを起こしたプロセスを適切に再起動するような、エンジニアとしての「衛生管理」そのものだと言える。
また、モデルの切り替え(/model)や利用状況の確認(/usage)をCLIからシームレスに行える点は、開発フローの断絶を防ぐ上で極めて重要だ。特に /usage は非ブロッキングで動作するため、重い処理の合間にコストを監視できる。これは、クラウドインフラのメトリクスをダッシュボードで監視する感覚に近い。CLIというインターフェースは、GUIよりも遥かに「開発者の意図」を直接的にAIへ伝えることができる。我々がコマンドを打つことは、AIに対して「今、何を優先すべきか」というメタな指示を出すことに他ならないのだ。
コマンドによる開発の標準化
プロジェクトの立ち上げ時、CLAUDE.md の作成に頭を悩ませる時間は無駄である。/init コマンドは、プロジェクトの構造を解析し、AIが振る舞うべき「ルール」を自動生成する。これは、チーム開発におけるコーディング規約の自動適用に近い。さらに CLAUDE_CODE_NEW_INIT=1 を付与して起動することで、SkillsやHooksの設定まで含めた高度な初期化が可能になる。この「環境のコード化」こそが、属人化を排除し、チーム全体の生産性を底上げする鍵となる。
そして、最もエンジニアが恩恵を受けるのがレビュー機能だ。/review と /code-review の使い分けは、現代のCI/CDパイプラインにおける「静的解析」と「人間によるコードレビュー」の役割分担をAIに拡張したものだ。既存のGitHub PRを対象とする /review は、マージ前の最終確認として機能する。一方、ローカルの未コミット差分を対象とする /code-review は、コミット前の「自己レビュー」をAIが代行してくれる。特に ultra モードでの複数エージェントによるレビューは、単なる構文チェックを超えた、設計思想レベルのフィードバックを期待できる。
| コマンド | 対象 | 主な用途 |
|---|---|---|
| /compact | 会話履歴 | 文脈の要約と圧縮 |
| /clear | 会話履歴 | セッションの完全リセット |
| /model | モデル設定 | opus/sonnet/haikuの切り替え |
| /usage | 利用状況 | コストとトークンの監視 |
| /init | プロジェクト | CLAUDE.mdの自動生成 |
| /review | GitHub PR | リモートPRのレビュー |
| /code-review | ローカル差分 | 未コミットコードのレビュー |
これらのコマンドを使いこなすことは、単なるツールの習熟ではない。AIを「ただのチャットボット」から「専属のペアプログラマー」へと昇華させるための儀式である。我々がコマンドを叩くたびに、AIはより正確に、より深く、我々のコードベースを理解していく。このフィードバックループをいかに高速化できるかが、今後のエンジニアの市場価値を左右するだろう。
AI時代のエンジニアの問い
Claude Codeのようなツールが普及した今、我々エンジニアに突きつけられているのは「AIに何をさせるか」という問いではない。「AIに何をさせないか」、そして「AIが生成したコードの責任を誰が負うのか」という、より本質的な問いである。コマンドを駆使して効率化を図ることは素晴らしい。しかし、/code-review で生成された修正案を、我々はどれだけ深く理解してマージしているだろうか。ブラックボックス化したAIの提案を盲目的に受け入れることは、技術的負債を高速で積み上げる行為に他ならない。
明日からあなたが取るべき実践的な処方箋は明確だ。まず、プロジェクトごとに CLAUDE.md を徹底的に作り込み、AIの振る舞いを定義せよ。次に、/compact を活用して、AIのコンテキストを常にクリーンに保つ習慣をつけよ。そして何より、AIのレビュー結果を「正解」と見なすのではなく、あくまで「議論の叩き台」として扱い、最終的なアーキテクチャの決定権は常に人間が保持し続けることだ。AIは強力なレバレッジだが、そのレバレッジを支える支点は、あくまであなたのエンジニアリングスキルである。
もし、AIが書いたコードの意図を説明できないのであれば、それはあなたのコードではない。あなたはAIのオペレーターに成り下がっていないか?それとも、AIを使いこなすアーキテクトとして、より高次元の課題に挑んでいるか?ツールが進化するほどに、我々エンジニアの「判断力」と「責任」の重みは増していく。この技術的特異点において、あなたはAIを「道具」として支配し続けられるだろうか。その答えは、あなたが今日書くコードと、そのレビュープロセスの中にしかない。


コメント