尧图精选

Agent 工程终于有脚手架了:用 agents-cli 配 TaoToken 打通 ADK 开发链路

🕒 发布时间:2026/10/1 6:53:57 📁 来源:尧图网络
1. 为什么 Agent 工程需要一套脚手架做 Agent 项目最难受的地方往往不是模型不会写代码而是工程链路太散。你在编辑器里改 prompt在终端里起服务在浏览器里点测试在云控制台里看日志最后还要回到另一个平台做评估。每换一个工具脑子里的上下文就断一截改完一轮下来真正花在“想清楚 Agent 该怎么答”的时间反而被挤没了。Google 开源的 agents-cli 想解决的正是这段断裂。它不是一个新的聊天机器人也不替代 Claude Code、Codex、Cursor 这类编码助手而是一套 CLI 加 skills 的工程技能包让这些编码助手知道怎么用 Google 的 ADK、Agent Runtime、Cloud Run 去搭、测、发一个企业级 Agent。GitHub 上的定位很直白把常见 coding assistant 变成更懂 Google Cloud Agent Platform 的开发助手。它支持 Antigravity CLI、Claude Code、Codex也能配合其他 coding agent。安装后会给编码助手注入 7 类技能覆盖工作流、ADK 代码写法、项目脚手架、评估、部署、发布和可观测性。换句话说它把 Agent 项目从 demo 拉到可交付状态能创建只是第一步能测试、能部署、能被组织里的人找到才算走完。但这里有个现实问题agents-cli 负责的是工程骨架模型调用通道还得自己接。如果你在国内做本地开发直接调 Google 系模型经常遇到网络和鉴权配置的麻烦。这时候用 TaoToken 做统一 Key 和 API 通道就顺手很多——一个 Key 打通模型对话、编码 Agent 和 CLI 验证agents-cli 生成的 ADK 项目只要把 Base URL 指过来就能跑。下面我按“初始化项目 → 写配置骨架 → 接 TaoToken → CLI 验证 → 排错”的顺序把这条链路完整走一遍。2. 前置准备agents-cli 与 TaoToken 通道先把环境备齐。agents-cli 依赖 Python 3.11、uv 和 Node.js这三个装好之后安装命令很短uvx google-agents-cli setup如果你只想装 skills让已有的编码助手接管后续工作也可以用npx skills add google/agents-cli装完后打开你常用的编码助手比如 Claude Code、Codex 或 Cursor让它按自然语言指令去创建项目。一个可复现的起手式是_rag template with Gemini 3.5 Flash.这一步 agents-cli 会调用 ADK skills从 agentic_rag 模板搭出项目结构用 Vector Search 做 datastore还会补上 citation 相关逻辑回答必须有引用retriever 返回文档时带 source ID。引用链如果一开始没设计后面再补会很麻烦所以模板里带上这块很省事。接下来是 TaoToken 通道。你需要在 TaoToken 控制台创建一个 API Key这个 Key 会同时用于模型对话、编码 Agent 和 CLI 验证。控制台地址是https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建 Key 的入口在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite拿到 Key 之后记住两个地址官网是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 基址是https://taotoken.net/api这个不加 UTM。后面所有配置里的 Base URL 都填这个 API 基址不要带查询参数。这里有个容易踩的坑agents-cli 生成的 ADK 项目默认读环境变量里的模型配置但不同编码助手读的配置文件不一样。Claude Code 读settings.jsonCodex 读auth.jsonCline 走 MCP 配置CC Switch 走config.toml。所以下面我会把这几套骨架都列出来你按自己用的工具挑一份改就行。三件套永远是 Base URL、Key、Model ID缺一个都跑不通。3. 可复制配置settings.json / config.toml / auth.json 骨架这一节是全文最需要照着抄的部分。我按工具分三套配置路径和字段名都按实际读取的位置写你直接替换 Key 和 Model ID 即可。先说 Claude Code 的settings.json。它一般放在项目根目录的.claude/settings.json或者用户级的~/.claude/settings.json。内容骨架如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoTokenKey, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, permissions: { allow: [ Bash(uvx google-agents-cli:*), Bash(agents-cli:*) ] } }注意ANTHROPIC_BASE_URL填的是 TaoToken 的 API 基址不要在后面加/v1之类的路径SDK 会自己拼。ANTHROPIC_MODEL填你要用的 Model ID具体可用的模型名在模型对话页面能查到https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite再说 Codex 的auth.json。它通常在~/.codex/auth.json结构是这样的{ OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: sk-你的TaoTokenKey, OPENAI_MODEL: gpt-4o }如果你用的是 CC Switch 管理多套配置那对应的是config.toml骨架如下[provider.taotoken] name TaoToken base_url https://taotoken.net/api api_key sk-你的TaoTokenKey model claude-sonnet-4-20250514 [settings] current_provider taotokenCline 走的是 MCP 配置一般在cline_mcp_settings.json里加一段{ mcpServers: { taotoken: { command: npx, args: [-y, taotoken/mcp-server], env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的TaoTokenKey, TAOTOKEN_MODEL: claude-sonnet-4-20250514 } } } }ADK 项目本身还需要一份模型配置。agents-cli 生成的agent.py或config.py里通常会有模型初始化把它改成读环境变量import os from google.adk.models import Gemini model Gemini( modelos.environ.get(ADK_MODEL, gemini-2.0-flash), api_keyos.environ.get(TAOTOKEN_API_KEY), base_urlos.environ.get(TAOTOKEN_BASE_URL, https://taotoken.net/api), )然后在项目根目录建一个.envTAOTOKEN_BASE_URLhttps://taotoken.net/api TAOTOKEN_API_KEYsk-你的TaoTokenKey ADK_MODELgemini-2.0-flash这样 ADK 项目、编码助手、CLI 验证三处读的是同一套 Key 和 Base URL改一处就全生效。三件套对齐之后链路才不会有“编码助手能跑但 ADK 报 401”这种割裂问题。4. 验证请求一条 CLI 命令确认调用链路配置写完别急着让编码助手去搭完整项目先用一条命令确认通道是通的。最直接的方式是让 agents-cli 跑一个最小请求或者直接用 curl 打 TaoToken 的模型接口。先看 curl 版本这条命令能确认 Key 和 Base URL 是否正确curl -s https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: reply with ok}], max_tokens: 16 }如果返回里有choices字段和正常的 content说明通道没问题。如果返回 401就是 Key 错了如果返回local proxy failed或连接超时就是 Base URL 写错或者网络层有问题。通道确认后再让 agents-cli 走一遍 ADK 调用。在项目目录里跑uvx google-agents-cli scaffold enhance --check这条命令会检查项目结构是否完整同时触发一次模型连通性验证。如果输出里显示 skills 加载正常、模型响应正常就说明 agents-cli 和 TaoToken 已经接上了。接着启动本地 ADK Web UI 做端到端测试adk web --port 8000打开http://localhost:8000在界面里问一个资料里能回答的问题比如 “how to merge two dictionaries?”Agent 应该能检索到对应内容解释|合并和update()方法并附上类似[source: 1003]的引用。再问一个资料里没有的问题比如 “who won the FIFA World Cup in 2022?”Agent 应该承认资料不足而不是凭常识硬答。RAG 项目上线前这类拒答测试比“答得很顺”更有价值。如果你想让编码助手直接接管验证可以给它这条指令Spin up a local dev server so I can test this, then run a smoke test against the TaoToken endpoint and report the status code.实测下来通道打通后从 scaffold 到本地可测大概几分钟就能跑完。真正花时间的是评估集设计和 instruction 调优那部分下一节会讲。5. 常见报错排查401 / local proxy failed / reading choices / OAuth这一节按真实报错来对。Agent 链路出问题九成集中在四个错误上我按出现频率排。401 Unauthorized。最常见的原因是 Key 没填对或者填了但没生效。检查三处.env里的TAOTOKEN_API_KEY、编码助手配置里的ANTHROPIC_API_KEY或OPENAI_API_KEY、以及 curl 命令里的 Bearer。三处必须是同一个 Key。另一个原因是 Base URL 多写了路径比如写成https://taotoken.net/api/v1SDK 再拼一次/v1就变成/api/v1/v1服务端认不出来。正确写法就是https://taotoken.net/api。local proxy failed。这个报错通常出现在编码助手启动时说明它尝试走本地代理但没起来。检查settings.json或config.toml里有没有残留的 proxy 字段有就删掉。TaoToken 的通道是直连 API 基址不需要额外代理配置。如果删掉后还报检查环境变量里有没有HTTP_PROXY或HTTPS_PROXY有就 unset 掉再重启编码助手。reading choices 相关报错。这个一般出现在解析响应时比如error reading choices或choices field missing。原因是模型返回的结构和 SDK 预期不一致常见于 Model ID 填错。比如你填了一个 TaoToken 不支持的模型名服务端返回的是错误对象而不是标准的choices数组。解决办法是去模型对话页面确认可用的 Model ID填一个确定存在的。另一个原因是max_tokens设得太小返回被截断解析也会失败把它调到 256 以上再试。OAuth 相关报错。如果你用的是 Codex 或 Claude Code 的登录态可能会看到 OAuth token 过期或刷新失败的提示。这时候不要走 OAuth 流程直接用 API Key 模式。把auth.json里的OPENAI_API_KEY填成 TaoToken 的 KeyOPENAI_BASE_URL填 API 基址重启即可。OAuth 和 API Key 是两条路混用会互相干扰。排查顺序建议是先 curl 确认通道再确认编码助手配置最后确认 ADK 项目里的模型初始化。三层都对齐三件套Base URL、Key、Model ID基本不会出问题。如果还卡住去接入文档页面看最新的配置示例https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite6. 把链路用起来从本地验证到长期编码通道打通只是起点。agents-cli 真正的价值在于把评估、部署、观测这些环节串起来而这些环节都依赖稳定的模型调用。你可以在本地验证通过后让编码助手继续做评估集生成Generate 20 test scenarios for this RAG agent covering correct retrieval, insufficient context where the agent should say it doesnt know, multi-hop questions, and citation accuracy. Run the full eval suite and show me the results.这 20 个 case 可以分成四组6 个正确检索问题、5 个资料不足时的拒答问题、5 个需要多文档推理的问题、4 个 citation accuracy 问题。评估跑完分数表只是表面结果最有用的是提前暴露那些容易被忽略的指令漏洞。比如当问题不在语料里时Agent 有时会补一句通用知识问题往往来自 instruction 里一行宽松规则删掉它拒答行为才会稳定。如果你打算长期做 Agent 开发建议把 TaoToken 的 Coding Plan 用起来它适合需要持续调用模型做编码和 Agent 迭代的场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite部署环节agents-cli 会把项目补齐为 Agent Runtime 可部署的形态加入入口文件和基础设施配置。Cloud Trace 默认接入Agent 出问题时能回到 trace、日志、调用链里定位是哪一步坏了。注册到 Gemini Enterprise 后组织内有权限的人可以发现和使用IAM 控制访问企业面板负责观测。到这一步一个 RAG Agent 才从个人 demo 变成团队可用的内部知识助手。最后提醒一句不要把“编码助手能自动跑完整流程”理解成可以少做验收。脚手架能加速eval 和权限检查不能省。Agent 最危险的地方往往不在答不上来而在资料不足时答得太顺。把三件套配好、把拒答测试跑通、把评估集建起来这条链路才算真正可用。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →