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 项目中进行开发。它明确指出项目没有 google.adk 依赖或 ADK 运行器,因此基于 ADK 的 agents-cli 技能(如 `google-agents-cli-*`)中描述代理本身的部分会被此技能覆盖。技能详细解释了项目结构:代理是一个编译后的 LangGraph 图,从 `app/agent.py` 导出为 `root_agent`;部署通过 `cloud_run` 或 GKE 进行,而 `agent_runtime` 环境存在功能降级(如 `publish gemini-enterprise` 被拒绝)。它还提供了一个清晰的映射表,说明 ADK 概念(如 `LlmAgent`、`adk web`、`adk run`)在此项目中对应的实现是什么(例如 LangChain 的 `create_agent`、`agents-cli playground` 对应 `langgraph dev`)。此外,技能还涵盖了添加工具(编写带文档字符串的类型化函数并传入 `tools=[...]`)、命令(如 `agents-cli run`、`agents-cli eval generate`)以及常见错误(比如重命名 `root_agent`、期望使用 ADK 的会话路由)等重要信息。

兼容平台~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 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

LangChain 项目 (agents-cli)

该代理是一个编译后的 LangGraph 图,从 app/agent.py 导出为 root_agent。没有 google.adk 依赖,也没有 ADK 运行器。其他 google-agents-cli-* 技能假设使用 ADK;当它们描述代理本身时,此技能优先。

实验性,且 Agent Runtime 功能已降级。 部署到 cloud_run 或 gke。在 agent_runtime 上,应用程序可以提供服务,但 publish gemini-enterprise 被拒绝,控制台 playground 无法调用它,并且控制台会话/跟踪保持为空:这三者都希望使用此项目不提供的 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

契约

无论你在其内部构建什么,请保留以下两项:

  • 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 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 通过 Vertex AI 使用 ADC 调用 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.

相关技能