Claude Codeとは何か・使う前に知っておきたいこと
ここまでGitやLinuxコマンドの読み方を見てきましたが、実際にAIコーディングツールを使い始めると、また別の戸惑いに出会います。「ChatGPTのように質問すれば答えてくれるものだと思っていたら、いきなりファイルを書き換え始めた」という戸惑いです。Claude Codeはターミナルの中で動くエージェント型のツールで、質問に答えるだけでなく実際にコードを読み書きし、コマンドまで実行します。この違いを知らずに使い始めると、便利さと同じくらい不安も感じることになります。
「質問に答えるAI」ではなく「作業するAI」
チャットAIに慣れていると、Claude Codeにも「コードを書いてもらって、それを自分でコピペする」ものだと思いがちです。実際にはその前提が違います。Claude Codeは自然言語の指示を受け取ると、リポジトリの中のファイルを自分で読み、必要なら編集し、テストやビルドのコマンドまで自分で実行します。人間がやることは、指示を出すことと、その結果(差分やコマンド出力)を確認することに変わります。
ハクスラゲームでたとえると、Claude Codeは自分の代わりにダンジョンへ潜ってくれるNPC冒険者です。「敵を倒して」と頼めば、自分の武器(コマンド)で実際に敵と戦い、ドロップ品(コードの変更結果)を持って帰ってきます。プレイヤーである自分がやるべきことは、戦い方を細かく指示することではなく、持ち帰ってきた戦利品(差分)が本当に必要なものかを確認することです。
権限モデル:エージェントは何でも自由にできるわけではない
「作業を代わりにやってくれる」と聞くと、暴走してファイルを消されないか不安になる人もいれば、逆に何でも許可していいと思ってしまう人もいます。実際にはClaude Codeには権限モデルがあり、既定では読み取り専用の操作(lsやgit statusなど)は確認なしで実行しますが、ファイルの変更やその他のコマンド実行には都度ユーザーの承認を求めます。
# イメージ: 変更を伴う操作の前には必ず確認が入る
> config.txtの権限を644に変更して
chmod 644 config.txt を実行しますか?
[y]es / [n]o / [a]lways allow this session
# 読み取り専用の操作(ls, cat, git statusなど)は確認なしで進む
NPC冒険者にどこまで裁量を渡すかを、パーティ加入時に設定するイメージです。既定モードは「攻撃の前に必ず確認を挟む」設定、bypassPermissionsのような設定は「隔離された専用マップでは自由に戦わせる」設定にあたります。慣れないうちは既定モードのまま使い、確認画面を毎回読む習慣をつけるのが安全です。
CLAUDE.mdでプロジェクトのルールを教える
「さっき言ったことをまた説明しないといけないの?」と感じたことはないでしょうか。Claude Codeはセッションが変わると会話の記憶を持ち越しませんが、リポジトリ直下にCLAUDE.mdというファイルを置いておくと、セッション開始のたびに自動で読み込み、プロジェクト固有のルールとして扱います。実際にこのサイトのリポジトリにも次のようなCLAUDE.mdが置かれています。
# CLAUDE.md の抜粋(このサイト自身のリポジトリより)
## 前提
- WEBサーバはHTML,css,javascript,perlのみしか使えません
- 内容はオリジナリティを出したいので、他のサイトの転載にならないよう
- Perlはv5.8
新しいNPC冒険者がパーティに加わるたびに、口頭で「このダンジョンは氷属性が効く」「このボスは毒無効」と説明し直すのは非効率です。CLAUDE.mdはそのダンジョン専用の攻略メモをあらかじめ渡しておくようなもので、次に呼び出したときも一から説明し直す必要がありません。このサイトの例では「Perlはv5.8」のようなバージョン制約まで書いてあるおかげで、AIが新しい構文をうっかり提案してしまう事故を防げています。
よくあるはまりポイント:確認プロンプトを読まずに連打する事故
権限モデルさえ理解すれば安心、と思いたいところですが、実際にはその確認プロンプト自体を読まなくなることが一番の事故のもとです。Claude Codeに限らずAIエージェント全般で最も多い事故が、確認プロンプトの内容を読まずに「はい」を連打してしまうことです。最初の数回は差分をきちんと読んでいても、同じような確認が続くと、途中から反射的に承認するようになりがちです。ところがその一回に限って、意図と違うファイルを編集する変更や、想定より広い範囲に影響する変更が混ざっていることがあります。承認は「実行して良いかの最終確認」であり、AIが常に意図を完璧に汲み取っている保証ではない、という前提を忘れないことが重要です。
- エージェント
- 指示を受けて自律的に複数の手順(ファイル読み書き・コマンド実行など)をこなすAIの動作形態。チャットボットとの違いはここにある
- CLI(コマンドラインインターフェース)
- ターミナル上で文字入力によって操作するインターフェース。Claude CodeはブラウザやGUIではなくCLIとして動く
使い始めのうちは、1つの指示に対する差分やコマンド結果を最後まで読み終えるまで、次の指示を出さないようにしてみてください。急いで次々と指示を重ねると、どの変更がどの指示によるものか分からなくなり、結果的に確認が雑になります。Gitの記事で触れたコミット単位の考え方と同じで、「1指示・1確認」を徹底するほうが、最終的には早く安全に進められます。
権限やCLAUDE.mdの考え方が掴めたら、Linux基礎コマンドの記事でAIが実行するコマンド自体の意味を、Gitの記事でAIが作る差分の読み方を確認してみてください。