はじめに
「AIエージェント」 が2026年のテック業界で最もホットなキーワードになっています。
でも「AIエージェントって何?ChatGPTと何が違うの?」と思っている方も多いのではないでしょうか。
この記事では、AIエージェントの仕組み、従来のAIとの違い、そして実際の作り方まで、初心者にもわかるように解説します。
AIエージェントとは
一言で言うと
「自分で考えて、自分で行動して、目標を達成するAI」 です。
従来のAIチャットとの違い
従来のAIチャット:
人間: 「明日の天気は?」
AI: 「東京は晴れ、最高気温15℃です」
→ 聞かれたことに答えるだけ
AIエージェント:
人間: 「明日の外出に合わせて準備して」
AI: 1. 天気を調べる → 晴れだが風が強い
2. カレンダーを確認 → 14時に屋外ミーティング
3. 服装を提案 → 防風ジャケット推奨
4. 交通手段を確認 → 電車が遅延気味、早めに出発推奨
5. リマインダーを設定
→ 自分で考えて複数のアクションを実行
3つの特徴
| 特徴 | 説明 |
|---|---|
| 自律性 | 指示がなくても自分で次のアクションを決める |
| ツール使用 | 外部のAPI、DB、ファイルシステム等を操作できる |
| 目標指向 | 与えられたゴールに向かって行動し続ける |
AIエージェントの仕組み
基本的なループ
┌─────────────────────────────────────┐
│ │
│ ① 入力を受け取る │
│ ↓ │
│ ② 状況を分析する(LLMが思考) │
│ ↓ │
│ ③ 次のアクションを決める │
│ ↓ │
│ ④ ツールを実行する │
│ ↓ │
│ ⑤ 結果を観察する │
│ ↓ │
│ ⑥ 目標達成? → No → ②に戻る │
│ → Yes → 結果を返す │
│ │
└─────────────────────────────────────┘
これを ReAct(Reasoning + Acting)ループ と呼びます。
構成要素
AIエージェント = LLM(脳)+ ツール(手足)+ メモリ(記憶)+ プランニング(計画力)
| 要素 | 役割 | 例 |
|---|---|---|
| LLM | 思考・判断 | Claude, GPT-4o |
| ツール | 外部との接続 | API呼び出し、ファイル操作、検索 |
| メモリ | 文脈の保持 | 会話履歴、作業状態 |
| プランニング | 計画の立案 | タスク分解、優先順位付け |
身近なAIエージェントの例
Claude Code
人間: 「ログイン機能を実装して」
Claude Code(エージェント)の動き:
1. プロジェクト構造を探索
2. 既存の認証コードを確認
3. 実装計画を立てる
4. ファイルを作成・編集
5. テストを実行
6. エラーがあれば修正
7. 完了を報告
GitHub Copilot Agent(Actions)
Issue: 「ダークモードのCSS変数が一部適用されていない」
AIエージェントの動き:
1. Issueを読んで問題を理解
2. 関連するCSSファイルを検索
3. 未適用の変数を特定
4. 修正コードを作成
5. PRを自動作成
AIエージェントを作ってみよう
シンプルなエージェントの実装(Python)
最もシンプルなAIエージェントを、PythonとClaude APIで作ってみましょう。
Step 1:基本構造
import anthropic
import json
client = anthropic.Anthropic()
# エージェントが使えるツールの定義
tools = [
{
"name": "get_weather",
"description": "指定した都市の天気を取得する",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "都市名(例: 東京)"
}
},
"required": ["city"]
}
},
{
"name": "search_web",
"description": "Webで情報を検索する",
"input_schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "検索クエリ"
}
},
"required": ["query"]
}
}
]
Step 2:ツールの実装
def execute_tool(tool_name, tool_input):
"""ツールを実行して結果を返す"""
if tool_name == "get_weather":
# 実際にはAPIを呼ぶ。ここではダミー
city = tool_input["city"]
return f"{city}の天気: 晴れ、最高気温15℃、風速5m/s"
elif tool_name == "search_web":
query = tool_input["query"]
return f"検索結果: '{query}' に関する情報が見つかりました"
else:
return f"不明なツール: {tool_name}"
Step 3:エージェントループ
def run_agent(user_message):
"""エージェントのメインループ"""
messages = [{"role": "user", "content": user_message}]
while True:
# LLMに問い合わせ
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=4096,
tools=tools,
messages=messages,
)
# テキスト応答があれば表示
for block in response.content:
if block.type == "text":
print(f"AI: {block.text}")
# ツール使用がなければ終了
if response.stop_reason == "end_turn":
break
# ツール使用を処理
if response.stop_reason == "tool_use":
# AI の応答をメッセージ履歴に追加
messages.append({"role": "assistant", "content": response.content})
tool_results = []
for block in response.content:
if block.type == "tool_use":
print(f"[ツール実行] {block.name}({block.input})")
result = execute_tool(block.name, block.input)
print(f"[結果] {result}")
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result,
})
# ツール結果をメッセージに追加
messages.append({"role": "user", "content": tool_results})
return messages
Step 4:実行
run_agent("明日東京で外出する予定です。天気を調べて準備すべきことを教えて")
出力例
[ツール実行] get_weather({"city": "東京"})
[結果] 東京の天気: 晴れ、最高気温15℃、風速5m/s
AI: 明日の東京の天気を確認しました。
晴れですが、風が少し強めです。以下の準備をおすすめします:
1. 服装: 薄手のジャケットやウィンドブレーカー
2. 紫外線対策: 日焼け止め、サングラス
3. 気温: 朝晩は冷えるので、重ね着がおすすめ
4. 風対策: 帽子は飛ばされやすいので注意
AIが自分でツールを呼び出し、結果を使って回答を作成しています。 これがエージェントの基本です。
エージェント開発のフレームワーク
主要フレームワーク
| フレームワーク | 特徴 | 言語 |
|---|---|---|
| Claude Agent SDK | Anthropic公式。Claude Codeと同じ基盤 | Python / TypeScript |
| LangChain | 最も有名。豊富なツール連携 | Python / TypeScript |
| LangGraph | LangChainの上に構築。複雑なワークフロー | Python |
| CrewAI | 複数エージェントの協調 | Python |
| AutoGen | Microsoft製。マルチエージェント | Python |
初心者におすすめ
まず始めるなら → Claude Agent SDK or LangChain
複雑なワークフロー → LangGraph
マルチエージェント → CrewAI
マルチエージェントシステム
1体 vs 複数のエージェント
シングルエージェント:
1体のAIが全てのタスクをこなす
マルチエージェント:
複数のAIが役割分担して協力する
マルチエージェントの例
リーダーエージェント: タスクを分解して各エージェントに割り振る
├── コーディングエージェント: コードを書く
├── レビューエージェント: コードをレビューする
├── テストエージェント: テストを書いて実行する
└── ドキュメントエージェント: ドキュメントを更新する
Claude Codeの Agent Teams 機能がまさにこのマルチエージェント構成です。
AIエージェント開発のポイント
1. ツールの設計が重要
✅ ツールの説明を明確に書く(AIはこれを読んで判断する)
✅ 入出力の型を明確に定義する
✅ エラーハンドリングを入れる
❌ 1つのツールに機能を詰め込みすぎない
2. 安全性の確保
✅ 実行前に人間の承認を求める仕組み
✅ 実行できるアクションの制限
✅ ログの記録
❌ 重要な操作を無制限に許可しない
3. コスト管理
✅ ループ回数の上限を設定
✅ トークン使用量を監視
✅ 不要なツール呼び出しを減らす
まとめ
| ポイント | 内容 |
|---|---|
| AIエージェントとは | 自律的に思考・行動して目標を達成するAI |
| 仕組み | LLM + ツール + メモリ + プランニング |
| 従来のAIとの違い | 「答える」から「行動する」へ |
| 作り方 | ツール定義 + エージェントループ |
| 注目フレームワーク | Claude Agent SDK, LangChain, LangGraph |
AIエージェントは 2026年最大のテクノロジートレンド です。基本的な仕組みを理解しておくだけで、今後のキャリアに大きなアドバンテージになります。
著者: @kotaro_ai_lab
AI駆動開発やテック情報を毎日発信しています。フォローお気軽にどうぞ!