おはようございます、YASUです。
毎日のようにClaude Codeを使ってZenn記事の作成やコミット・pushを任せていますが、今日は改めて「AIエージェントは裏側で何をしているのか」という仕組みの部分を整理してみます。ただの会話ではなく、実際にファイルを編集したりコマンドを実行したりできる理由が、少し見えてきました。
結論
AIエージェントは、単に質問に答えるだけのチャットボットとは違い、「考える→道具を使う→結果を確認する」というループを、人間の指示なしに何度も繰り返せる仕組みを持っています。Claude Codeで言えば、コードベースを読む・ファイルを編集する・コマンドを実行する・Gitを操作するといった一つ一つの動作を「ツール」として持っていて、それを目的達成のために自律的に組み合わせている、というのが実態でした。
普通のチャットAIと、エージェントの違い
これまで使ってきた普通のチャットAIは、基本的に「質問して、答えが返ってくる」で1往復が完結します。何か作業をしてほしければ、その都度こちらが指示を出す必要がありました。
一方でエージェントは、1つの大きな目標(例えば「このバグを直して」)を伝えるだけで、その後の細かい手順は自分で考えて進めてくれます。Claude Codeの説明でも、コードベースの中から問題の原因を突き止め、修正を実装するところまでを、まとめて任せられるとされています。
裏側で回っている「考える→実行→確認」のループ
エージェントが自律的に動けるのは、大きく3つのステップを繰り返しているからだと理解しています。
- 計画する:与えられた目標を、実行可能な小さいステップに分解する
- 道具(ツール)を使う:ファイルを読む、編集する、コマンドを実行する、といった具体的な操作を行う
- 結果を確認する:実行した結果が正しいか確認し、うまくいっていなければ計画を修正して再度実行する
このループを、人間がいちいち次の指示を出さなくても、目標が達成されるまで自動的に繰り返す、というのがエージェントの本質のようです。以前実際に体験した、Terraformの`–amend`で意図しないコミットを書き換えてしまった時のように、AI自身が状況を勘違いしたまま突き進んでしまうこともありますが、それもこの「自律的に判断しながら進む」性質の裏返しだと感じます。
Claude Codeが持っている、具体的な「道具」
公式の説明を見ると、Claude Codeは主にこんな道具(機能)を持っているようです。
- コードベース全体を理解する力:1つのファイルだけでなく、プロジェクト全体の構造や依存関係を把握しながら作業できる
- ファイルの読み書き:既存のコードを読み、必要な箇所を編集する
- コマンドの実行:ターミナル上で実際にコマンドを打つのと同じように、テストの実行やビルドなどを行える
- Gitとの直接連携:変更をステージングし、コミットメッセージを書き、ブランチを作成し、プルリクエストまで作成できる。まさに今回自分がZenn記事の投稿で日常的に任せている部分です
- MCP(Model Context Protocol)経由での外部ツール連携:Google DriveやJira、Slackなど、外部のサービスとも接続して情報を取得したり操作したりできる、拡張可能な仕組み
なぜ「許可を求めてくる」場面があるのか
実際に使っていて気づくのが、ファイルを変更したりコマンドを実行したりする前に、確認を求めてくる場面があることです。これは、エージェントが暴走して意図しない変更を加えてしまわないよう、重要な操作の前には人間の承認を挟む、という安全設計のようです。以前紹介した本番環境での`terraform destroy`のような、取り返しのつかない操作にこそ、人間の最終確認が必要という考え方と、根本的には同じ発想だと感じます。
ローカルで動く、という設計の意味
Claude Codeは、専用のバックエンドサーバーやリモートのコードインデックスを必要とせず、自分のパソコンのターミナル上で直接動作し、モデルのAPIとやり取りする仕組みになっているようです。コードそのものは手元の環境に留まり、ファイルの変更やコマンドの実行前には許可を求める、という設計は、実際に日々の作業で感じている「安心して任せられる範囲」の理由になっていると思います。
実際に自分が体験してきたことと、照らし合わせると
これまで、Claude Codeに記事の作成からコミット・pushまで任せてきましたが、これはまさに「Gitとの直接連携」という機能そのものでした。また、Zennの投稿数制限に引っかかった時、Claude Code自身がダッシュボードの状況を確認して対処法を提案してくれたのも、単なる作業の実行だけでなく、状況を見て次の手を考える、というエージェントらしい振る舞いだったのだと、今回整理してみて改めて気づきました。
まとめ
- AIエージェントは「計画する→道具を使う→結果を確認する」というループを自律的に繰り返す
- Claude Codeは、コードベースの理解・ファイル編集・コマンド実行・Git操作・MCP経由の外部連携という道具を持っている
- 重要な操作の前に許可を求めてくるのは、暴走を防ぐための安全設計
- ローカル環境で直接動作する設計が、手元での安心感につながっている
普段何気なく「はい」「pushしてください」と答えていた裏側で、これだけの仕組みが動いていたのだと知ると、AIとの付き合い方も少し変わってくる気がします。それでは、また明日!

コメント