LangChainプロジェクト (agents-cli)
エージェントは、app/agent.py から root_agent としてエクスポートされるコンパイル済みのLangGraphグラフです。google.adk への依存関係やADKランナーはありません。他の google-agents-cli-* スキルはADKを前提としています。それらがエージェント自体について説明している場合、このスキルが優先されます。
実験的であり、Agent Runtimeは機能が制限されています。 cloud_run または gke にデプロイしてください。agent_runtime ではアプリは提供されますが、publish gemini-enterprise は拒否され、Consoleプレイグラウンドはそれを呼び出すことができず、Consoleのセッション/トレースは空のままになります。これらはすべて、このプロジェクトが提供しないADK reasoning_engine ルートを必要とします。推奨する前にその旨を伝えてください。
ADKガイダンスのマッピング
| ADKガイダンス | このプロジェクト |
|---|---|
LlmAgent、Agent、google.adk.tools | langchain.agents.create_agent、ツールとしてのプレーンなPython関数、またはコンパイル済みのStateGraph |
adk web、adk run | agents-cli playground (langgraph dev を実行) |
agents-cli run の背後にあるADKランナー | agents-cli run はグラフをインプロセスで呼び出します |
agents-cli eval dataset synthesize、eval optimize | 利用不可: どちらもADKを介してエージェントを駆動します。コマンドはその旨を表示して終了します |
app/agent.py に LlmAgent を追加する | app/agent.py のグラフを変更します。名前 root_agent は維持してください |
契約内容
内部に何を構築する場合でも、以下の2つを維持してください。
app/agent.pyはroot_agentをエクスポートします。これはmessages状態を持つコンパイル済みグラフです。 呼び出し元はroot_agent.invoke({"messages": [...]})とroot_agent.astream(stream_mode="messages")のみを使用します。app/fast_api_app.pyはappを公開します。すべてのデプロイターゲットはuvicorn app.fast_api_app:appを実行します。
ツールを追加するということは、ドキュメント文字列を持つ型付き関数を作成し、それを tools=[...] に渡すことを意味します。フレームワークを切り替える(LangGraph StateGraph、deepagents.create_deep_agent)場合は、app/agent.py のみを書き換えます。プレ1.0のLangChain(LCELチェーン、AgentExecutor)はサポートされていません。コンパイルされたグラフではありません。
コマンド
agents-cli install # uv sync
agents-cli playground # langgraph dev、ポート8080
agents-cli run "hello" # グラフをインプロセスで呼び出し
agents-cli eval generate --dataset tests/eval/datasets/basic-dataset.json -o tests/eval/output/
agents-cli eval grade --traces tests/eval/output/<dataset>.json --config tests/eval/eval_config.yaml
agents-cli deploy # 変更なし
agents-cli scaffold enhance -d cloud_run --cicd-runner github_actions # 後でインフラを追加
playground、run、eval generate は、プロジェクトルートの agents-cli-extension.yaml によってオーバーライドされます。任意のコマンドの前に AGENTS_CLI_DISABLE_OVERRIDES=1 を付けると、代わりに組み込みのコマンドが使用されます。
サービング
A2Aのみ: JSON-RPC (POST /a2a/app)、カード (/a2a/app/.well-known/agent-card.json)、ヘルスチェック (/health)。トークンストリーミングは astream(stream_mode="messages") から行われます。
よくある間違い
root_agentまたはappの名前を変更すると、run、eval、デプロイが壊れます。eval dataset synthesizeまたはeval optimizeを使用しようとすること: これらはADKを必要とします。 テストケースはtests/eval/datasets/に記述し、eval generate+eval gradeを使用してください。/run_sseやADKセッションルートを期待すること。このサーバーはA2Aを提供します。- デプロイされたエージェントに対して
AGENTS_CLI_DISABLE_OVERRIDES=1なしでagents-cli run --url ...を実行すると、ローカルグラフが呼び出されます。 runとeval generateはADCを介してVertex AI経由でGeminiを呼び出すため、GOOGLE_CLOUD_PROJECTと認証情報、または.env内のGOOGLE_API_KEY/GEMINI_API_KEYが必要です。
参考文献
references/langchain.md— フレームワークの契約とコマンドごとの詳細。references/samples.md— 形状別にコピーする価値のあるエージェント。