Communitygithub.com

google/agents-cli-langchain

このプロジェクトで作業する際に使用します。ツールの追加、エージェントの編集、実行、評価、提供、デプロイ、またはガイダンスがADK、LlmAgent、google.adk、adk web、ADKランナーに言及している場合に使用します。このプロジェクトはagents-cliによってスキャフォールドされたLangChain/LangGraphであるため、ADK固有の指示は適用されません。

agents-cli-langchain とは?

このスキルは、agents-cli によってスキャフォールドされた LangChain / LangGraph プロジェクトにおける、AIエージェントの開発、実行、評価、デプロイを支援します。プロジェクトは `app/agent.py` からエクスポートされるコンパイル済みのLangGraphグラフ(`root_agent`)を使用しており、ADK(google.adk)には依存していません。そのため、ADKを前提とした他の `google-agents-cli-*` スキルとは異なり、このスキルがエージェント自体に関する記述において優先されます。主な機能として、`agents-cli playground` によるローカル開発サーバーの起動、`agents-cli run` によるグラフのインプロセス実行、`agents-cli eval generate` と `agents-cli eval grade` による評価、`agents-cli deploy` によるデプロイが含まれます。また、このスキルは、A2Aプロトコルを介したサービング、ツール追加時の型付き関数の受け渡し、`root_agent` や `app` のリネームといった一般的なミスの回避についてもガイダンスを提供します。

対応~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/google/agents-cli/tree/main/extensions/langchain/template/.agents/skills/agents-cli-langchain

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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.toolslangchain.agents.create_agent、ツールとしてのプレーンなPython関数、またはコンパイル済みのStateGraph
adk web、adk runagents-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 — 形状別にコピーする価値のあるエージェント。

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

関連スキル