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 會被拒絕,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 |
合約
保留這兩項,無論你在內部建立什麼:
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。不支援 pre-1.0 LangChain (LCEL chains、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:POST /a2a/app 的 JSON-RPC,/a2a/app/.well-known/agent-card.json 的卡片,/health 的健康檢查。Token 串流來自 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— 值得複製的代理程式,依形狀分類。