Communitygithub.com

google/agents-cli-langchain

À utiliser dans ce projet — pour ajouter des outils, modifier l'agent, l'exécuter, l'évaluer, le servir ou le déployer — ou lorsque les instructions mentionnent ADK, LlmAgent, google.adk, adk web ou un runner ADK. Ce projet est structuré avec LangChain/LangGraph via agents-cli, donc les instructions spécifiques à ADK ne s'appliquent pas.

Qu'est-ce que agents-cli-langchain ?

Ce compétence est dédiée aux projets LangChain/LangGraph générés par `agents-cli`. Elle fournit un cadre clair pour modifier, exécuter, évaluer ou déployer l'agent. Contrairement à d'autres compétences `google-agents-cli-*` qui supposent l'utilisation d'ADK, celle-ci précise que le projet utilise un graphe compilé LangGraph exporté sous le nom `root_agent` et un serveur A2A. L'ajout d'outils se fait par des fonctions Python typées. Cette compétence est donc cruciale pour travailler efficacement dans ce type de projet, elle évite les confusions avec ADK et détaille les commandes spécifiques, les pièges fréquents (comme renommer `root_agent`), les limitations (déploiement, évaluation) et les alternatives disponibles.

Compatible avec~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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Projet LangChain (agents-cli)

L'agent est un graphe LangGraph compilé exporté sous le nom root_agent depuis app/agent.py. Il n'y a pas de dépendance google.adk ni de runner ADK. Les autres compétences google-agents-cli-* supposent ADK ; lorsqu'elles décrivent l'agent lui-même, cette compétence prévaut.

Expérimental, et Agent Runtime est dégradé. Déployez sur cloud_run ou gke. Sur agent_runtime l'application fonctionne, mais publish gemini-enterprise est refusé, le playground de la Console ne peut pas l'invoquer, et les sessions/traces de la Console restent vides : les trois nécessitent les routes reasoning_engine ADK que ce projet ne sert pas. Dites-le avant de le recommander.

Correspondance avec les instructions ADK

Instruction ADKCe projet
LlmAgent, Agent, google.adk.toolslangchain.agents.create_agent, fonctions Python simples comme outils, ou tout StateGraph compilé
adk web, adk runagents-cli playground (lance langgraph dev)
Runner ADK derrière agents-cli runagents-cli run invoque le graphe dans le processus
agents-cli eval dataset synthesize, eval optimizeIndisponible : les deux pilotent l'agent via ADK. La commande le signale et se termine.
Ajouter un LlmAgent dans app/agent.pyModifier le graphe dans app/agent.py ; conserver le nom root_agent

Le contrat

Conservez ces deux éléments, quoi que vous construisiez à l'intérieur :

  • app/agent.py exporte root_agent, un graphe compilé avec état messages. Les appelants utilisent uniquement root_agent.invoke({"messages": [...]}) et root_agent.astream(stream_mode="messages").
  • app/fast_api_app.py expose app. Chaque cible de déploiement exécute uvicorn app.fast_api_app:app.

Ajouter un outil signifie écrire une fonction typée avec une docstring et la passer dans tools=[...]. Changer de framework (LangGraph StateGraph, deepagents.create_deep_agent) implique de réécrire app/agent.py uniquement. Les versions antérieures à 1.0 de LangChain (chaînes LCEL, AgentExecutor) ne sont pas prises en charge : ce ne sont pas des graphes compilés.

Commandes

agents-cli install                  # uv sync
agents-cli playground               # langgraph dev, port 8080
agents-cli run "hello"              # invoque le graphe dans le processus
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                   # inchangé
agents-cli scaffold enhance -d cloud_run --cicd-runner github_actions   # ajouter l'infrastructure plus tard

playground, run et eval generate sont remplacés par agents-cli-extension.yaml à la racine du projet. Préfixez toute commande avec AGENTS_CLI_DISABLE_OVERRIDES=1 pour utiliser la version intégrée à la place.

Service

A2A uniquement : JSON-RPC à POST /a2a/app, fiche à /a2a/app/.well-known/agent-card.json, santé à /health. Le streaming de jetons provient de astream(stream_mode="messages").

Erreurs courantes

  • Renommer root_agent ou app, ce qui interrompt run, eval et le déploiement.
  • Utiliser eval dataset synthesize ou eval optimize : ils nécessitent ADK. Écrire des cas dans tests/eval/datasets/ et utiliser eval generate + eval grade.
  • S'attendre à /run_sse ou aux routes de session ADK ; ce serveur sert A2A.
  • Exécuter agents-cli run --url ... contre un agent déployé sans AGENTS_CLI_DISABLE_OVERRIDES=1, ce qui invoque le graphe local à la place.
  • run et eval generate appellent Gemini via Vertex AI avec ADC, ils ont donc besoin de GOOGLE_CLOUD_PROJECT et d'identifiants, ou de GOOGLE_API_KEY / GEMINI_API_KEY dans .env.

Références

  • references/langchain.md — contrat de framework et détails par commande.
  • references/samples.md — agents à copier, par forme.

Individual skills in this repo

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

Skills associés