
News Observation Lab for Future
AIエージェントを構成する4つの要素と実装例

AIエージェントの4つのコンポーネント
AIエージェントは大きく「脳」「メモリ」「ツール」「アクションループ」の4つに分けられます。脳は次に何をすべきかを決める言語モデル、メモリは会話履歴や永続的な事実を保持する領域、ツールはモデル外部で実行される機能、アクションループはモデル呼び出し→ツール実行→結果フィードバックという一連の流れを管理します。
各コンポーネントの概要
脳:システムプロンプト、会話内容、ツール一覧、ツールの結果を受け取り、テキスト応答またはツール呼び出しのリクエストを返すだけです。実際に何かを実行することはありません。
メモリ:短期記憶(各ターンのメッセージ履歴)と長期記憶(ノートファイル、データベース行、ベクトルストアなど)の二層構造です。モデルは呼び出し間で情報を保持しないため、記憶の管理はコード側の仕事です。
ツール:名前、使用タイミング、入力のJSONスキーマといった説明を付けた普通の関数です。モデルはコード本体ではなく説明だけを参照します。
アクションループ:メモリを脳に渡し、テキスト応答なら完了、ツールリクエストならツールを実行し結果をメモリに追加して再度ループします。ループの出口では最終回答、ステップ上限、致命的失敗、人間の承認などが返されます。
1つのファイルで実装した例
サンプルは経費トラッカーです。npm install @anthropic-ai/sdkでSDKを導入し、環境変数ANTHROPIC_API_KEYを設定した上でnpx tsx Agent/four-parts.tsを実行します。脳はclient.messages.create、メモリはメッセージとnotes.json、ツールは関数群、アクションループはrunAgentのforブロックで実装されています。
よくあるミスと対策
- 曖昧なツール説明:ツールが何をするか、必要な入力、使用条件を明確に書く。
- 全履歴を常に送信:コストと遅延が増えるので、古いターンはトリミングまたは要約し、永続的事実は別ストアへ。
- ツール実行時のエラー処理:エラーテキストを返し、モデルが再試行できるようにする。
- 計算を脳に任せる:金額合計などは専用ツール(例:
get_total)に委譲する。
まとめ
AIエージェントは「脳」「メモリ」「ツール」「アクションループ」の四要素で構成され、それぞれがコードとデータで実装されます。実装時の典型的な落とし穴を把握し、適切にデバッグすることで安定したエージェントが作れます。
元記事: https://dev.to/zahidhasantonmoy/the-four-components-of-an-ai-agent-in-one-small-typescript-file-d1h