コンテンツにスキップ

9.6.1 フレームワークロードマップ:必要なときだけ選ぶ

フレームワークは Agent を自動的に賢くしません。タスクが十分に複雑になったとき、状態、ツール、ワークフロー、メモリ、ログ、協調を整理するための抽象化です。

Agent フレームワーク位置図

Agent フレームワーク選択図

Agent フレームワーク選択判断図

タスクが 3 つの固定ステップだけなら、普通の Python 関数のほうが良いことがあります。状態、分岐、復旧、データ接続、役割協調が管理しづらくなったらフレームワークを入れます。

フレームワークルートチェックを動かす

Section titled “フレームワークルートチェックを動かす”

人気だからという理由でフレームワークを選ぶ前に、このチェックを使います。

task = {
"needs_state": True,
"needs_rag": False,
"needs_roles": False,
"needs_resume": True,
}
if task["needs_state"] or task["needs_resume"]:
route = "LangGraph-style state graph"
elif task["needs_rag"]:
route = "LlamaIndex-style data app"
elif task["needs_roles"]:
route = "CrewAI or AutoGen-style collaboration"
else:
route = "plain functions first"
print("route:", route)
print("reason:", "choose the smallest abstraction that exposes state")

期待される出力:

Terminal window
route: LangGraph-style state graph
reason: choose the smallest abstraction that exposes state

フレームワーク選択は README にトレードオフとして書きます。依存関係の中に隠さないでください。

手順読む内容実践アウトプット
1フレームワーク概観フレームワークが何を抽象化するか説明する
2LangChain / LangGraph状態、ノード、エッジ、分岐、復旧をモデル化する
3LlamaIndex文書、インデックス、検索、評価を接続する
4CrewAI / AutoGen役割協調とマルチ Agent 会話を比較する
5フレームワーク選定判断表とフレームワークなしの基準実装を書く

このページを終えたら、この証拠カードを残します。

問題の形
ワークフローグラフ、検索アプリ、役割チーム、または実験
フレームワーク選択
どの抽象化を追加し、何を隠すか
追跡記録
state、node、tool call、message、または run id
失敗確認
フレームワークの魔法が状態、再試行、または権限を隠す
判断
シングルエージェントのループが明確になってからフレームワークを選ぶ

同じ小さなタスクを普通の関数と 1 つのフレームワークで実装し、どちらがデバッグしやすいか、なぜかを説明できれば、この章は合格です。

確認の考え方と解説
  1. 合格レベルの答えでは、agent loop を goal、plan、tool call、observation、memory/state update、stop condition として説明します。
  2. 証拠には、最終回答だけでなく、別の開発者が確認できる trace を残します。
  3. tool schema、permission boundary、retry、evaluation case、人間レビューなど、安全性または信頼性の制御を1つ説明できれば十分です。