モジュール 07 · 第 1 回

AI コーディングツールのいくつかの形

補完、チャット、エディタ内のエージェント、コマンドラインのエージェント。AI コーディングツールはおおよそこの四つに分けられます。それぞれが何をしていて、どんなタスクに向いているのか、そしてエージェントがあなたのパソコンのどこに触れられるかをどう制御するのかを説明します。

  • 約 30 分
  • 難易度:入門
  • 検証:2026-09-14、製品の機能は各公式ドキュメントに従う、実行不要

コードと実行結果は実際に動かしたときのまま載せているため、コメントと出力は中国語です。

AI コーディングツールの名前はすぐに変わり、数か月ごとに新しい製品や機能が出てきます。しかし「どれだけのことを代わりにやってくれるか」で分ければ、形はおおよそ四つしかありません。それぞれの形が何をしているかを理解するほうが、どの製品にどのボタンがあるかを覚えるより役に立ちます。ツールを替えても、こうした判断は成り立ち続けるからです。

一、補完

エディタで入力していると、カーソルの後ろに灰色の文字で次に書きそうな内容を予測してくれます。Tab を押せば受け入れ、そのまま入力を続ければ無視されます。この形に多くの人を最初になじませたのは GitHub Copilot で、今ではほとんどのエディタに組み込まれています。Cursor を例にとると、その補完機能は Tab という名前で、公式の説明では、最近の変更、周りのコード、リンターのエラーをもとに提案を出すとされています。

モジュール 01 の観点から見れば、これは「次のトークンの予測」の最も直接的な応用です。カーソルの前後のコードを入力として、続く一節を予測するのです。

向いている:何を書くかはわかっていて、ただ 1 文字ずつ打ちたくないだけのとき。関数の残りの部分を補う、繰り返しの定型コードを書く、前の行のパターンに沿って次の行を書く。

向いていない:何を書くかをまだ考えきれていないとき。補完はあなたの書き始めに沿って続きを書くだけで、方針を考えてはくれません。

注意点:速く、もっともらしく補完するので、考えずに Tab を押しがちです。補完されたパラメータ名や関数名はモデルが「予測」したもので、本当に存在するとは限りません(モジュール 01 第 2 課のハルシネーション)。

二、チャット

チャットのウィンドウで質問します。「このエラーはどういう意味?」「CSV を解析する関数を書いて」。Web ページのチャットボットのこともあれば、エディタのサイドバーにあるチャットパネルのこともあります。

補完との違いは、あなたが要件を説明すると、まとまったコードや説明を返してくれて、それをどう使うかはあなたが決めることです。見えるのはあなたが貼り付けた内容だけです(エディタのチャットパネルは、今開いているファイルをふつう自動で添えられます)。

向いている:読めないコードの説明、概念についての質問、独立した小さな関数を書くこと、いくつかの方針の長所と短所の議論。

向いていない:多くのファイルを同時に理解し、変更する必要のあるタスク。関係するファイルをすべて手作業で貼り付け、回答を手作業で対応するファイルに反映しなければならず、抜けが出やすくなります。

三、エディタ内のエージェント

エディタでタスクを与えると、自分でプロジェクトのファイルを読み、どこを変えるかを決め、ファイルを直接書き換えます。コマンド(テストの実行、依存パッケージのインストール)を実行できるものもあります。Cursor の Agent モードや、さまざまなエディタの「エージェントモード」がこれにあたります。

これはモジュール 05 で扱ったエージェントそのものです。モデルに一組のツール(ファイルを読む、コードを検索する、ファイルを書き換える、コマンドを実行する)を加え、ループの中で次に何をするかを自分で決めます。モジュール 05 第 2 課の百数十行のループが、その核心です。

向いている:複数のファイルにまたがる変更、コードを読んで理解してからでないと手をつけられないタスク、変更後にテストを実行して確かめる必要のあるタスク。

注意点:あなたのファイルを直接書き換えます。変更はエディタに表示され、一つずつ受け入れたり取り消したりできます。変更が多くなったら、git で管理する必要があります(第 3 課)。

四、コマンドラインのエージェント

一つ前と同じくエージェントですが、エディタの中ではなくターミナルで動きます。2026 年 9 月時点でよく使われているものには、Anthropic の Claude Code、OpenAI の Codex CLI などがあります。Claude Code を例にとると、公式ドキュメントに従って macOS か Linux にインストールし、プロジェクトのディレクトリで起動します。

curl -fsSL https://claude.ai/install.sh | bash
cd 你的项目
claude

Codex CLI のインストール方法の一つは npm install -g @openai/codex で、インストールしたら codex を実行します。

コマンドラインのエージェントはエディタに縛られないので、どのエディタでも使えます。スクリプトや自動化の流れにも組み込みやすく、たとえば継続的インテグレーションで決まったタスクを実行させることもできます。

向いている:比較的大きなタスク、コマンドを大量に実行する必要のあるタスク(テストの実行、ログの確認、git の操作)、しばらく連続して働かせたいタスク。

注意点:あなたのパソコンでコマンドを実行できます。これが最も役に立つところであり、最も注意が必要なところでもあります。

エージェントに何をさせるかを制御する

後の二つの形はどちらもエージェントで、あなたのファイルに触れ、コマンドを実行できます。モジュール 05 第 8 課で扱ったとおり、手を動かせるエージェントには必ず権限の制限をかけるべきです。幸い、こうしたツールはどれも制御の手段を用意しています。二つのコマンドラインツールを例にとります(2026 年 9 月時点の公式ドキュメントによる)。

Claude Code の権限モードは、Shift+Tab で切り替えるか、起動時に --permission-mode で指定できます。

モード あなたに聞かずにできること
default(画面上では Manual) ファイルを読むことだけで、ほかの操作はすべてあなたの確認が必要
acceptEdits ファイルを読む、ファイルを書き換える、そして mkdirmv のようなよくあるファイル操作
plan 読み取りのみ。先に計画を提案し、あなたが承認するまでファイルを一切変えない
auto すべての操作。別のモデルがバックグラウンドで安全性をチェックする
dontAsk 事前に許可したツールだけを使い、それ以外は一律に拒否する。自動化スクリプトに向いている
bypassPermissions すべての操作。何のチェックもしない。公式の説明では、隔離されたコンテナか仮想マシンの中でだけ使うべきとされている

Codex CLI のサンドボックスと承認は、二つの軸で別々に設定します。サンドボックスは何に触れられるかを決めます。read-only(読み取りのみ)、workspace-write(作業ディレクトリの中にだけ書き込める。これが既定値)、danger-full-access(制限なし。公式には推奨されていない)。承認ポリシーはいつあなたに聞くかを決めます。既定の on-request では、作業ディレクトリの外に書き込もうとしたとき、あるいはネットワークにアクセスしようとしたときにあなたに聞き、never なら一切聞きません。

具体的なモードの名前は今後変わるかもしれませんが、考え方は共通していて、モジュール 05 第 8 課の結論とまったく同じです。

  • なじみのないプロジェクトや重要な変更では、まず計画モードか読み取り専用モードを使う。コードを読ませて方針を提案させ、見て問題がなければ制限を緩めます。
  • 作業ディレクトリの中にだけ書き込ませる。あなたのパソコンのほかのファイルを自由に書き換えられないようにします。
  • 「すべて許可」が必要なときは、コンテナか仮想マシンの中に入れる。何か起きても、あなたの本当の環境には影響しません。
  • 危険な操作はあなたが確認する。コードのプッシュ、ファイルの削除、ネットワークへのアクセス、依存パッケージのインストールは、エージェント自身に決めさせるべきではありません。

どう選ぶか

タスク 向いている形
コードを書きながらついでに補完する 補完
コードやエラーが理解できない チャット
独立した小さな関数やスクリプトを書く チャット
3~5 個のファイルにかかわる機能を変更する エディタ内のエージェント
テストを繰り返し実行しないと確かめられないバグを直す エディタ内かコマンドラインのエージェント
大規模なリファクタリング、依存パッケージのアップグレード コマンドラインのエージェントを、専用の git ブランチで

ほとんどの人はいくつかを同時に使います。コードを書くときは補完をオンにし、困ったらチャットで聞き、少し大きなタスクはエージェントに任せます。

形どうしの違いは、本質的にはあなたが手放す制御権の大きさです。補完は数文字を書いてくれるだけで、その一つ一つにあなたの Tab での確認が要ります。チャットはまとまった量を書いてくれて、使うかどうかはあなたが決めます。エージェントはどのファイルを変え、どのコマンドを実行するかをあなたの代わりに決めます。手放す制御権が大きいほど省ける手間は増え、あなたがチェックすべきものも増えます。次の課ではプロジェクトをよりよく理解させる方法を、第 3 課ではエージェントがしたことをチェックする方法を扱います。

練習問題

  1. 最近書いた小さな機能を一つ選び、チャットとエージェントの二つの形でそれぞれ AI に実装させてください。比べてみましょう。要件の説明にどれだけ時間がかかり、結果のチェックにどれだけ時間がかかりましたか。
  2. 使っている AI コーディングツールで、権限の設定かサンドボックスの設定を見つけてください。既定では何が許可されていて、何を聞いてくるでしょうか。自分が適切だと思う程度に調整してください。
  3. 重要でないプロジェクトで、計画モードで(あるいは読むだけで変更はさせずに)エージェントにタスクを与え、提案された方針だけを見て、手は動かさせないでください。その方針は、あなたが自分で考えたものとどう違いますか。

確認テスト

1. 補完、チャット、エージェントの三つの形の最も根本的な違いは何ですか?

手放す制御権の大きさが違います。補完は次の数文字を予測するだけで、毎回あなたの確認が要ります。チャットはまとまったコードを返し、どう使うかはあなたが決めます。エージェントはどのファイルを読み、どこを変え、どのコマンドを実行するかを自分で決めます。制御権が大きいほど省ける手間は増え、チェックすべきものも増えます。

2. なじみのないプロジェクトで初めてエージェントを使うとき、どんな権限の設定にすべきですか?

まず計画モードか読み取り専用モードを使い、コードを読ませて方針を提案させ、あなたがチェックして問題がなければ変更を許可します。書き込みの範囲は作業ディレクトリの中に限り、プッシュ、削除、ネットワーク接続、依存パッケージのインストールのような操作はあなたの確認が必要なようにします。

3. エージェントの「すべて許可」モードはコンテナか仮想マシンの中でだけ使うべきだと言われるのはなぜですか?

このモードでは、どんなコマンドも何のチェックもなく実行されます。エージェントが誤った判断をしたり、読んだ内容にそそのかされたり(モジュール 05 第 8 課のプロンプトインジェクション)すれば、ファイルを削除し、キーを漏らし、システムを壊すかもしれません。隔離された環境に入れておけば、問題が起きてもあなたの本当のパソコンやデータには影響しません。