Was macht LangChain-Projekt (agents-cli)?
Der Agent ist ein kompilierter LangGraph-Graph, der als root_agent aus
app/agent.py exportiert wird. Es gibt keine Abhängigkeit von google.adk und keinen ADK-Runner. Andere
google-agents-cli-*-Skills setzen ADK voraus; wo sie den Agenten selbst beschreiben, hat dieser Skill Vorrang.
Experimentell, und die Agent Runtime ist eingeschränkt. Bereitstellung auf cloud_run oder gke. Auf
agent_runtime wird die App ausgeliefert, aber publish gemini-enterprise wird verweigert, die Console
Playground kann ihn nicht aufrufen, und Console-Sitzungen/Traces bleiben leer: alle drei benötigen die ADK-
reasoning_engine-Routen, die dieses Projekt nicht bereitstellt. Sagen Sie dies, bevor Sie es empfehlen.
Welche ADK-Anleitung hierher passt
| ADK-Anleitung | Dieses Projekt |
|---|---|
LlmAgent, Agent, google.adk.tools | langchain.agents.create_agent, einfache Python-Funktionen als Tools oder jeder kompilierte StateGraph |
adk web, adk run | agents-cli playground (führt langgraph dev aus) |
ADK-Runner hinter agents-cli run | agents-cli run ruft den Graphen prozessintern auf |
agents-cli eval dataset synthesize, eval optimize | Nicht verfügbar: beide treiben den Agenten durch ADK an. Der Befehl gibt dies aus und beendet sich |
Hinzufügen eines LlmAgent in app/agent.py | Ändern Sie den Graphen in app/agent.py; behalten Sie den Namen root_agent bei |
Der Vertrag
Behalten Sie diese beiden bei, unabhängig davon, was Sie darin erstellen:
app/agent.pyexportiertroot_agent, einen kompilierten Graphen mitmessages-Zustand. Aufrufer verwenden nurroot_agent.invoke({"messages": [...]})undroot_agent.astream(stream_mode="messages").app/fast_api_app.pymachtappverfügbar. Jedes Bereitstellungsziel führtuvicorn app.fast_api_app:appaus.
Das Hinzufügen eines Tools bedeutet, eine typisierte Funktion mit einem Docstring zu schreiben und sie in
tools=[...] zu übergeben. Das Wechseln von Frameworks (LangGraph StateGraph,
deepagents.create_deep_agent) bedeutet, nur app/agent.py umzuschreiben. Pre-1.0
LangChain (LCEL-Ketten, AgentExecutor) wird nicht unterstützt: keine kompilierten Graphen.
Befehle
agents-cli install # uv sync
agents-cli playground # langgraph dev, Port 8080
agents-cli run "hallo" # Graph prozessintern aufrufen
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 # unverändert
agents-cli scaffold enhance -d cloud_run --cicd-runner github_actions # Infrastruktur später hinzufügen
playground, run und eval generate werden durch
agents-cli-extension.yaml im Projektstammverzeichnis überschrieben. Stellen Sie jedem Befehl
AGENTS_CLI_DISABLE_OVERRIDES=1 voran, um stattdessen den integrierten Befehl zu verwenden.
Bereitstellung
Nur A2A: JSON-RPC unter POST /a2a/app, Karte unter
/a2a/app/.well-known/agent-card.json, Health unter /health. Token-Streaming erfolgt über
astream(stream_mode="messages").
Häufige Fehler
- Umbenennen von
root_agentoderapp, wasrun, eval und deploy unterbricht. - Verwenden von
eval dataset synthesizeodereval optimize: sie benötigen ADK. Schreiben Sie Fälle intests/eval/datasets/und verwenden Sieeval generate+eval grade. - Erwarten von
/run_sseoder ADK-Sitzungsrouten; dieser Server bedient A2A. - Ausführen von
agents-cli run --url ...gegen einen bereitgestellten Agenten ohneAGENTS_CLI_DISABLE_OVERRIDES=1, was stattdessen den lokalen Graphen aufruft. runundeval generaterufen Gemini über Vertex AI mit ADC auf, daher benötigen sieGOOGLE_CLOUD_PROJECTund Anmeldedaten oderGOOGLE_API_KEY/GEMINI_API_KEYin.env.
Referenzen
references/langchain.md— Framework-Vertrag und Detail pro Befehl.references/samples.md— Agenten, die es wert sind, kopiert zu werden, nach Form.