Agent(エージェント)
概念
Agent は、自律的に計画を立て、意思決定を行い、タスクを実行できるコンポーネントです。中核となる考え方は、大規模言語モデル(LLM)がタスクの要求に応じてツールを選択・呼び出し、モデル単体では解決できない複雑な問題に対応することです。
Agent がある場合とない場合の違い
| Agent なし | Agent あり | |
|---|---|---|
| 能力の限界 | 学習データに基づく回答のみ | 外部ツールを呼び出してリアルタイムデータ取得や計算が可能 |
| 動作方式 | 単発の Q&A | 思考 → ツール選択 → 実行 → 結果に基づく戦略調整をループし、完了まで繰り返す |
| 典型的な制約 | リアルタイムデータ、複雑な計算、外部システム連携などで「行き詰まり」やすい | LLM が「指揮官」としてツールチェーンを調整し、タスクを完遂する |
主な特徴
- 目標駆動:ユーザーの具体的なタスク目標に沿って動作する
- ツール呼び出し:外部ツールと連携し、LLM の弱点を補う
- 自律的な判断と反復:ツールの返却結果に基づき、ツールを継続呼び出すか最終回答を生成するかを判断する。各ステップで人手の介入は不要
ReAct
ReAct(Reasoning + Acting、推論 + 行動)は、大規模モデルエージェントの中核となる思考・行動フレームワークです。Agent が人間のように「問題を考える → 戦略を立てる → 行動する → 結果を検証する」流れで動作できるようにします。
従来の「直接回答する」方式とは異なり、ReAct は自然言語による思考過程を通じてツール呼び出しを導き、段階的に複雑な問題を解決します。多段推論やツール連携が必要なシーン(インテリジェントカスタマーサポート、レポート生成、タスク計画など)に適しています。
実行ループ
思考(Reason)→ 行動(Act)→ 観察(Observe)→ 再思考 → …LangChain の Agent オブジェクトは ReAct フレームワークに従い、実行中に継続的に自己思考・自行動・自己観察を行います。LangGraph では、このループがグラフ構造のノードとエッジによって実装されます。詳細は LangGraph を参照してください。
