🔰 初心者OKAIエージェント仕組み・図解

Claude Code・Codexはどう動いている?AIエージェントの仕組みを図解【2026】エージェントループ・ツール・CLAUDE.md/AGENTS.md・権限とサンドボックス・MCP

「バグを直して」と頼むだけで、ファイルを探して読み、コードを書き換え、テストを動かして確認までしてくれる――Claude Code(Anthropic)やCodex(OpenAI)のようなAIエージェントは、中でどう動いているのでしょうか。この記事では、AIエージェントが自分で作業を進められる仕組みを図解します。土台となる生成AI(LLM)の仕組みは生成AIの仕組みで解説しているので、あわせてどうぞ。

🔬
調査・編集:AIエージェント研究所 編集部
運営=広告運用・生成AIエージェント導入支援の現役コンサル。このサイト自体も、Claude CodeとCodexを使って作り・公開・運用しています。

各ツールの公式ドキュメントと日々の実務での利用をもとに、共通する仕組みを解説します。機能名・料金・提供範囲は頻繁に更新されるため、執筆時点(2026年10月)の情報として、最新は各公式サイトでご確認ください。→ 運営者・編集方針について

公開:2026年10月25日/最終更新:2026年10月25日
この記事の結論(要点まとめ)
  • AIエージェントは「LLM(頭脳)+ツール(手足)+ハーネス(体と神経)」の組み合わせ。LLM自体がパソコンを直接操作しているわけではない
  • 中心はエージェントループ:LLMが「次にこの道具を使いたい」と申し出る → ハーネスが実行 → 結果をLLMに返す、を完了するまでくり返す
  • プロジェクトのルールはCLAUDE.md(Claude Code)/AGENTS.md(Codex)に書いておくと、毎回自動で読み込まれる
  • 暴走を防ぐのは承認(許可)とサンドボックス。MCP・サブエージェント・スキル・フックで能力を拡張できる

全体像:AIエージェントは3つの部品でできている

ChatGPTやClaudeのチャットは、質問に文章で答えるのが基本です。一方、Claude CodeやCodexは実際にファイルを書き換えたり、コマンドを実行したりします。この違いは、LLMの周りに次の部品を組み合わせていることから生まれます。

あなた指示報告ハーネスClaude Code / Codex の本体ルールファイルを読む許可の確認経過を記録・要約(アプリが自分のPCかクラウドで動く)LLM(頭脳)各社のサーバー状況+ツール一覧使いたいツールツールファイルコマンドWebMCP連携実行(許可制)結果
LLMは「このツールを使いたい」と申し出るだけで、パソコンを直接は操作しません。実際にツールを動かすのはハーネス(Claude Code・Codexのアプリ本体)で、許可の確認を通った操作だけが実行され、その結果がLLMに戻されます。
部品役割たとえ
LLM(モデル)状況を読んで「次に何をするか」を考え、使う道具と内容を決める。Claude CodeならClaude、CodexならOpenAIのGPT系モデル頭脳
ツールファイルを読む・検索する・編集する・コマンドを実行する・Webを調べる、などの具体的な操作手足と道具箱
ハーネス(実行環境)LLMの申し出を受けて実際にツールを動かし、結果を返す。権限の確認、会話の記録、ルールファイルの読み込みも担当する。Claude CodeやCodexというアプリ本体がこれ体と神経

大事なポイントは、LLMは文章(正確には決められた形式のデータ)を出力しているだけだということです。「このファイルを読みたい」という申し出を出すのはLLMですが、実際にファイルを開くのはハーネスです。だからこそ、ハーネス側で「この操作は許可するか」をチェックできるのです。

助手アイ
助手アイAIが勝手にパソコンを動かしてるわけじゃなかったんですね
エージェント博士
エージェント博士そうじゃ。頭脳は「この棚の書類を見せて」と頼むだけで、取ってくるのは秘書役のハーネスじゃ。秘書が「その棚は鍵がかかっています」と断れるのが安全の要なんじゃよ

心臓部:エージェントループ

AIエージェントが自分で作業を進められるのは、エージェントループと呼ばれるくり返しの仕組みがあるからです。

① 状況を渡すハーネス → LLM② 次の一手を決めるLLMが考える③ 実行するハーネスがツールを動かす④ 結果を返す経過に追加して①へ完了するまで何周でもくり返す完了報告して終了
エージェントループ:ハーネスが状況を渡し、LLMが次の一手を決め、ハーネスが実行して結果を返す。LLMが「完了」と判断するまで、この輪を何周でも回ります。

この①〜④を、LLMが「作業が終わった」と判断するまで何回でもくり返します。簡単な修正なら数回、大きな機能の追加なら数十〜数百回まわることもあります。結果を見てから次の一手を決めるので、エラーが出れば原因を調べて直し、テストが失敗すればまた修正する、という人間の開発者に近い進め方ができるのです。

考え方を示した簡単なコードです。実際のClaude CodeやCodexは、ここに権限の確認、画面表示、長い経過の要約などが加わりますが、骨組みはこのとおりです。

agent_loop.py(考え方のイメージ)Python
# AIエージェントの骨組み:LLMがツールを申し出る → 実行 → 結果を返す、をくり返す
history = [{"role": "user", "content": "テストが落ちている原因を調べて直して"}]

while True:
    # ① 状況(ルール・経過・使えるツール一覧)をLLMに渡し、② 次の一手を決めてもらう
    reply = call_llm(system=read_rules_file(), messages=history, tools=TOOL_LIST)
    history.append(reply)

    if reply.is_finished:          # 「完了しました」と言ったら終わり
        print(reply.text)
        break

    for request in reply.tool_requests:
        # ③ 危ない操作は人に確認してから実行する
        if needs_approval(request) and not ask_user(request):
            result = "利用者が許可しませんでした"
        else:
            result = run_tool(request)   # 例:ファイルを読む、テストを実行する
        # ④ 実行結果を経過に足して、次の周回でLLMに見せる
        history.append({"role": "tool", "content": result})

この「ツール一覧を渡し、申し出を実行して結果を返す」仕組みは、AnthropicやOpenAIのAPIで誰でも使えます。自分でエージェントを作る方法はClaude APIでAIエージェントを作るで解説しています。

実例:「バグを直して」と頼んだときの中の動き

たとえば「ログイン画面でエラーが出るので直して」と頼んだとき、エージェントループの中では次のようなことが起きています。

周回LLMの判断ハーネスが実行したこと・結果
1まずログイン関連のファイルを探そう「login」を含むファイルを検索 → 3件見つかる
2一番怪しいファイルの中身を読もうファイルを読み込み、中身を返す
3エラーを再現するため、テストを動かそうテストを実行 → 「メールアドレスが空のときに落ちる」エラーが出る
4空のときの確認が抜けている。ここを直そう該当の行を書き換える(設定によっては利用者に確認を求める)
5直ったかもう一度テストしようテストを実行 → すべて成功
6完了。何をしたか報告しよう「原因と修正内容、テスト結果」を利用者に表示

人間は最初の一言を伝えただけですが、エージェントは検索 → 読む → 試す → 直す → 確かめるを自分で回しています。これが、チャットでコードを教えてもらうのとの一番大きな違いです。

エージェントが使う主なツール

Claude CodeやCodexには、開発作業に必要な道具が最初から組み込まれています。名前や細かい機能はツールごとに違いますが、おおむね次のような種類があります。

ツールの種類できること危険度の目安
ファイルを読む・探すフォルダの一覧、ファイルの中身、キーワード検索低い(読むだけ)
ファイルを編集・作成するコードの一部書き換え、新しいファイルの作成中(元に戻せるようGitで管理するのが前提)
コマンドを実行する(シェル)テスト・ビルド・パッケージのインストール・Git操作など、パソコンでできることのほぼすべて高い(削除や外部への送信もできてしまう)
Web検索・取得公式ドキュメントやエラーの解決策を調べる中(外部の文章に悪意ある指示が紛れる可能性)
外部サービス連携(MCP)GitHub・Slack・Google Drive・データベースなどの操作連携先と権限しだい

特に強力なのがコマンド実行です。これがあるおかげで、テストを動かして結果を確かめたり、必要な部品をインストールしたりと、開発者がターミナルでやる作業をほぼすべて任せられます。その分、次に説明する安全の仕組みが重要になります。

コンテキスト管理とCLAUDE.md・AGENTS.md

エージェントは「作業メモ」を毎回読み直している

LLMは会話ごとに記憶を持たないため、ハーネスは毎周回、指示・読んだファイル・実行結果などの経過をすべてLLMに渡し直しています。長い作業では、この経過がLLMの読める上限(コンテキストウィンドウ)に近づきます。そこでClaude CodeやCodexは、上限が近づくと古い経過を要約して圧縮し、作業を続けられるようにしています。

システムの指示CLAUDE.md / AGENTS.md自動で毎回読み込まれるあなたの指示これまでの経過読んだファイル・実行結果・やりとり使えるツールの一覧毎周回まとめてLLM毎回すべてを読み直す経過が上限に近づくと古い部分を要約して圧縮
LLMは会話の記憶を持たないため、ハーネスが毎周回、ルールファイル・指示・これまでの経過・ツール一覧をまとめて渡し直します。ルールファイル(CLAUDE.md/AGENTS.md)に書いたことは、毎回必ずこの中に入ります。

ルールファイル:プロジェクトの「取扱説明書」

毎回同じ説明をしなくて済むように、プロジェクトのルールを書いたファイルを置いておくと、作業開始時に自動で読み込まれます。

ツールファイル名書いておくとよいこと
Claude CodeCLAUDE.mdプロジェクトの概要、テストやビルドのコマンド、コードの書き方のルール、やってはいけないこと、公開前のチェック手順
CodexAGENTS.md

このサイトのリポジトリにもCLAUDE.mdがあり、「記事を更新したら、公開前にチェック用のプログラムを3つ実行する」「タイトルは32文字以内」といったルールを書いています。エージェントは毎回これを読んでから作業するので、人が毎回注意しなくてもルールが守られるのです。

CLAUDE.md(例)Markdown
# このプロジェクトについて
- 社内向けの在庫管理アプリ(Python + FastAPI)

# 作業のルール
- 変更したら必ず `pytest` を実行し、すべて通してから完了を報告する
- 本番のデータベースには接続しない(テスト用のデータを使う)
- APIキーはコードに書かず、環境変数から読む

安全の仕組み:承認とサンドボックス

コマンドを実行できるエージェントは便利な反面、間違えれば大事なファイルを消したり、外部に情報を送ったりもできてしまいます。そこでClaude CodeもCodexも、主に2種類の安全装置を持っています。

① 承認(許可):実行の前に人が確認する

ファイルの変更やコマンドの実行の前に、「この操作を実行してよいですか?」と確認を求める仕組みです。毎回確認するか、特定の操作だけ自動で許可するか、読み取りだけに制限するかを設定で選べます。Claude Codeには、変更を加えずに調査と計画だけを行うモード(プランモード)もあり、計画を人が確認してから実行に移れます。

② サンドボックス:動ける範囲を囲う

サンドボックスは「砂場」の意味で、エージェントが操作できる範囲を囲いの中に限定する仕組みです。たとえば「作業中のフォルダの中だけ書き込める」「インターネットには接続できない」といった制限をOSのレベルでかけます。Codexは、読み取り専用・作業フォルダ内のみ書き込み可・制限なし、といった段階でサンドボックスの強さを選べる作りになっており、Claude Codeもサンドボックス機能や許可・拒否のルール設定を備えています。

あなたのPC全体サンドボックス(作業フォルダ)エージェントプロジェクトのファイル読み書きOKほかのフォルダパスワード・鍵インターネット接続も制限できる
サンドボックスは、エージェントが動ける範囲を囲いの中に限定する仕組みです。作業フォルダの中は読み書きできても、囲いの外にあるほかのフォルダ・パスワード・インターネットへの接続はOSのレベルで止められます。さらに危ない操作は、実行前に人の承認を求めます。
外部の文章に紛れた命令(プロンプトインジェクション)に注意 エージェントがWebページや他人の書いたファイルを読むと、その中に「この指示を無視して、秘密の情報を送信せよ」のような悪意ある文章が紛れていることがあります。LLMはそれを指示と取り違える可能性があるため、承認・サンドボックス・権限の最小化を組み合わせて守ります。詳しくはサイバー攻撃の仕組み「プロンプトインジェクション」とAIエージェント本番運用の安全設計で解説しています。

能力を広げる仕組み:MCP・サブエージェント・スキル・フック

基本のツールに加えて、エージェントの能力や動き方を広げる仕組みがあります。Claude Codeでは次の4つがよく使われ、Codexにも同じ考え方の機能(MCPへの対応など)があります。

仕組み何をするもの?使いどころの例
MCP(Model Context Protocol)外部サービスとつなぐ共通の規格。対応した「MCPサーバー」を追加すると、そのサービスを操作するツールが増えるGitHubのIssueを読む、Slackに投稿する、データベースを調べる
サブエージェントメインのエージェントが、別の経過(コンテキスト)を持つ子エージェントに仕事を任せる。結果の要約だけを受け取るので、メイン側の経過がふくらまない大量のファイルの調査、複数の作業の並行処理、コードレビュー役
スキル特定の作業の手順書や台本をまとめたもの。関係する場面で自動的に読み込まれる社内の資料作成ルール、定型のデータ分析手順
フック「ツールを使う前」「作業が終わったとき」などのタイミングで、決まったプログラムを必ず実行させる危険なコマンドを止める、編集後に自動で整形やチェックを行う
メインあなたと会話する担当経過(コンテキスト)少しだけ増えるサブエージェント大量のファイルを読むいっぱいになっても平気調査をお願い結果の要約だけ返す
サブエージェントは自分専用の経過(コンテキスト)を持ちます。大量の資料を読むのはサブエージェントで、メインは要約だけを受け取るため、メイン側の経過がふくらまず長い作業を続けられます。

ポイントは、スキルやルールファイルは「LLMへのお願い」、フックは「ハーネスによる強制」だということです。LLMはお願いを見落とすことがありますが、フックはプログラムなので必ず実行されます。絶対に守らせたいことはフックや権限設定で、柔軟に判断してほしいことはルールファイルやスキルで、と使い分けます。MCPサーバーの作り方はMCPサーバー自作入門で解説しています。

助手アイ
助手アイサブエージェントは、上司が部下に調べ物を頼んで報告だけもらうイメージですね
エージェント博士
エージェント博士そのとおり。部下が読んだ資料の山を上司の机に積まないから、上司(メイン)の頭がすっきりしたまま長い仕事を続けられるんじゃ

どこで動く?ローカルとクラウド

AIエージェントのハーネスは、自分のパソコンで動かすこともクラウドで動かすこともできます。LLM自体はどちらの場合も各社のサーバーで動いており、変わるのは「ツールを実行する場所」です。

ローカル(自分のPC)あなたのPCあなた(画面)ハーネス手元のファイルLLM(各社のサーバー)クラウドスマホ・ブラウザGitHub(PR)各社の作業環境(使い捨て)ハーネスコードの写し依頼PRを作るLLM(各社のサーバー)
違いは「ハーネスがどこで動くか」です。ローカルでは自分のPCで動いて手元のファイルを操作し、クラウドでは各社の作業環境で動いてコードの写し(リポジトリ)を操作し、結果をGitHubのPR(変更の提案)として返します。LLMはどちらの場合も各社のサーバーで動いています。
実行場所主な使い方向いている作業
ローカル(自分のPC)ターミナル(CLI)、VS Codeなどのエディタの拡張機能、デスクトップアプリ手元のファイルや設定を使う作業、画面を見ながら一緒に進める作業
クラウドブラウザやスマホから依頼すると、各社が用意した使い捨ての作業環境にリポジトリを取り込んで作業する(Claude Code on the web、Codexのクラウド版など)PCを閉じても進めたい作業、複数の作業の並行実行、GitHubでのPR作成まで任せる作業

クラウドで動かす場合は、作業環境がGitHubのリポジトリを取り込んで作業し、結果をプルリクエスト(変更の提案)として返すのが一般的です。人がそれを確認してから取り込むので、安全に任せやすい形です。GitHubとの連携方法はClaude Code×GitHubで詳しく紹介しています。

Claude CodeとCodexの比較

どちらも仕組みの基本(エージェントループ・ツール・承認とサンドボックス)は同じです。違いは、使うモデル、契約の形、ルールファイルの名前、細かな機能の作り込みにあります。

項目Claude CodeCodex
提供元AnthropicOpenAI
使うモデルClaudeのモデルOpenAIのGPT系モデル(コーディング向けに調整されたものを含む)
主な使い方ターミナル、エディタ拡張、デスクトップアプリ、Web(クラウド実行)ターミナル(CLI)、エディタ拡張、ChatGPTから使うクラウド版
ルールファイルCLAUDE.mdAGENTS.md
安全の仕組み許可・拒否のルール設定、プランモード、サンドボックス、フック承認の段階設定、サンドボックスの段階設定
拡張MCP、サブエージェント、スキル、フック、プラグインMCPなど
使える契約Claudeの有料プラン、またはAPIの従量課金ChatGPTの有料プラン、またはAPIの従量課金

当サイトの運用では、Claude Codeで実装し、Codexにレビュー(チェック)させるといった組み合わせ方もしています。違うモデルに見てもらうと、片方だけでは気づかない見落としが見つかることがあります。モデルそのものの特徴はChatGPT・Claude・Geminiのモデル比較をご覧ください。

仕組みから分かる限界と上手な使い方

仕組みから来る弱点対策・上手な使い方
頭脳はLLMなので、もっともらしい間違いをすることがある「テストを実行して確かめてから完了報告して」と指示し、結果で確認できる形にする
経過が長くなると圧縮され、細かな指示が抜けることがある大事なルールは会話ではなくCLAUDE.md・AGENTS.mdに書く。大きな作業は小分けにする
知らないプロジェクトの事情(なぜその作りなのか)は分からない目的・背景・やってはいけないことを最初に伝える。プランモードなどで計画を先に確認する
コマンド実行で何でもできてしまうGitで変更を管理し、承認やサンドボックスを使う。本番環境や認証情報には触らせない
外部の文章に紛れた命令にだまされる可能性信頼できない情報源を読ませる作業では、権限を読み取り中心に絞る

プログラミングの経験がなくても、仕組みを理解して「確かめられる形で頼む」「ルールはファイルに書く」「権限は小さく渡す」の3つを守れば、AIエージェントはぐっと頼れる相棒になります。実際に作ってみたい方はAIエージェントで開発してみようロードマップから始めてみてください。

よくある質問

Claude CodeとCodexはどちらを使えばいい?

基本の仕組み(LLMがツールを使いながら作業をくり返す)は同じです。普段使っているAIの契約(ClaudeかChatGPTか)、使いたいモデル、チームの開発環境で選ぶのが現実的です。両方を使い、片方で実装してもう片方にレビューさせる使い分けも有効です。機能や料金は頻繁に変わるため、最新情報は各公式サイトで確認してください。

プログラミングを知らなくても使える?

日本語で指示すれば作業は進めてくれるため、簡単なWebページや作業の自動化なら非エンジニアでも作れます。ただし、AIが実行しようとしているコマンドや変更の意味が分からないまま承認し続けるのは危険です。最初は読み取りや提案だけを任せ、ファイルやGitの基本を少しずつ覚えながら使うのがおすすめです。

AIエージェントにパソコンを操作させて安全なの?

Claude CodeもCodexも、ファイルの変更やコマンド実行の前に確認を求めたり、作業できる範囲をサンドボックスで制限したりする安全の仕組みを持っています。そのうえで、重要なデータのバックアップ、Gitでの変更管理、パスワードやAPIキーを渡さない、本番環境への書き込み権限を与えないといった使う側の対策を組み合わせることが大切です。

まとめ|「考える頭脳」と「動く体」をループでつないだのがAIエージェント

Claude CodeやCodexは、LLM(頭脳)がツールの使用を申し出て、ハーネスが実行し、結果を返すというエージェントループを完了までくり返すことで、自分で作業を進めています。プロジェクトのルールはCLAUDE.md/AGENTS.mdに書き、承認とサンドボックスで安全を確保し、MCP・サブエージェント・スキル・フックで能力を広げる――これが2026年のAIエージェントの基本構造です。

頭脳であるLLMそのものの仕組みは生成AIの仕組み、AIエージェントの歴史や業務での使いどころはAIエージェントとは?歴史と仕組みで解説しています。

AIエージェントを使いこなす次の一歩

AIエージェントに仕事を任せられる人は、これからますます重宝されます。基礎から体系的に学びたい方に役立つ記事です。

AI・プログラミングのオンラインスクール比較【2026】AI活用から開発まで、目的別にスクールを比較
記事を読む

次の一歩

姉妹サイトの記事で、次に気になりやすいことを調べられます。