
1. 907 个智能体群评测现场先炸的是 Base URL不是模型在 DAIR.AI 转发的那篇 agent swarm 论文复盘里第三方 wiki 存档被用来重建 2026 年 5 月 24 日至 7 月 2 日之间的自主协作事件规模覆盖 907 个智能体群、约 876 次实验。我之所以对这个数字有感是因为我们最近也在跑同量级的评测每个智能体群都要独立调模型、写中间结论、再汇总到本地结果库。真正把流水线卡住的不是推理速度而是官方 SDK 的 Endpoint 散落在不同工具里——Claude Code 读 ANTHROPIC_BASE_URLCodex CLI 读 config.tomlOpenAI 兼容脚本又硬编码 base_url。批量启动到第 60 多个进程时日志开始交替出现 401 invalid api key、404 not found、model not found。后来统一接入 TaoToken去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval 拿 KeyBase URL 填 https://taotoken.net/api再把官方端点和 TaoToken 端点做成一张对照表批量启动只改配置不改业务代码。下面按可跟做的顺序拆开。2. 官方端点与 TaoToken 端点对照先改配置再谈并发这一节先给对照表。注意一件事TaoToken 的 Base URL 固定为 https://taotoken.net/api不要在后面拼 /v1 或 /anthropic除非你的 SDK 明确要求追加路径。Key 统一用 YOUR_API_KEY 占位真实值从控制台创建https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval。官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentendpoint_compare。使用场景官方默认端点TaoToken 端点环境变量/配置项Claude Codeapi.anthropic.comhttps://taotoken.net/apiANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKENCodex CLIapi.openai.com/v1https://taotoken.net/apiconfig.toml 中 model_provider.base_url、env_keyOpenAI Python SDKhttps://api.openai.com/v1https://taotoken.net/apibase_url、api_keyAnthropic SDKhttps://api.anthropic.comhttps://taotoken.net/apibase_url、api_key/auth_token自研批量评测脚本按供应商分别配置https://taotoken.net/apiTAOTOKEN_BASE_URL、TAOTOKEN_API_KEY表格里最重要的不是 URL 长得像不像而是鉴权头和模型名。Claude Code 用 x-api-key 或 Authorization Bearer 由 SDK 决定Codex 走 OpenAI 兼容协议不要在 Codex 里导出 ANTHROPIC_*。统一入口后907 个智能体群可以共用同一个 Key 池和同一个 Base URL。评测工程师要做的是把“供应商分支”从代码里删掉收敛成两个变量TAOTOKEN_BASE_URL 和 TAOTOKEN_API_KEY。3. Claude Code 接入settings.json 与 ANTHROPIC_* 的完整改法Claude Code 的配置分两层持久化的 settings.json 和临时的环境变量。推荐先改 settings.json再在 CI 或批量脚本里用环境变量覆盖。文件位置可以是 ~/.claude/settings.json 或项目级 .claude/settings.json。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: claude-sonnet-4-20250514, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-20250514 } }注意模型名要按控制台可用列表填不要照抄示例。验证方式export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY claude -p 只回复 ok如果返回 ok说明 Claude Code 已经走 TaoToken。如果还是 401先检查是否在另一个 shell 里残留了旧 Key如果 404检查 Base URL 是否被手动加了 /v1。Claude Code 的文档入口见文末。4. Codex 接入只动 config.toml不要套 ANTHROPIC_*Codex 的配置和 Claude Code 完全分开。不要因为两个工具都调模型就把 ANTHROPIC_* 写进 Codex 的环境。Codex 使用 config.toml典型位置是 ~/.codex/config.toml。model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat然后导出 Keyexport TAOTOKEN_API_KEYYOUR_API_KEY codex exec 打印当前目录如果 Codex 报 provider 找不到检查 model_provider 的值是否和 [model_providers.taotoken] 一致。如果报 401检查 env_key 指向的变量是否真的导出。Codex 不接受 ANTHROPIC_AUTH_TOKEN不要混用。把 Codex 的入口也统一到 https://taotoken.net/api 后批量评测脚本就不需要再判断“当前是 Claude 还是 GPT”。5. CC Switch 三件套Provider、Base URL、API Key 一次填好CC Switch 的价值在于频繁切换评测环境。用它管理 TaoToken 时只需要盯三件套Provider 名称填 taotoken便于识别。Base URL填 https://taotoken.net/api。API Key填 YOUR_API_KEY 对应的真实 Key。示例配置结构{ provider: taotoken, baseUrl: https://taotoken.net/api, apiKey: YOUR_API_KEY, model: claude-sonnet-4-20250514 }切换后重启终端或者重新 source 环境文件。批量评测时建议把 CC Switch 的配置文件和项目脚本分开CC Switch 管交互式开发脚本管 907 个智能体群的批量启动。这样不会因为切换工具把批量任务的环境变量覆盖掉。如果团队里有人用 Claude Code、有人用 CodexCC Switch 只负责把 Provider、Base URL、Key 三件套写对剩下的交给各自的配置文件。6. 一次批量启动907 个智能体群的分批脚本批量启动的核心是所有智能体群共用同一个 Base URL 和 Key但每个群有独立的 group_id 和输出目录。下面给一个 Bash 版本使用 xargs 控制并发避免一次性拉起 907 个进程把本地机器打满。#!/usr/bin/env bash set -euo pipefail export TAOTOKEN_BASE_URLhttps://taotoken.net/api export TAOTOKEN_API_KEYYOUR_API_KEY # 兼容 OpenAI 风格 SDK export OPENAI_BASE_URL$TAOTOKEN_BASE_URL export OPENAI_API_KEY$TAOTOKEN_API_KEY # 兼容 Anthropic 风格 SDK / Claude Code export ANTHROPIC_BASE_URL$TAOTOKEN_BASE_URL export ANTHROPIC_AUTH_TOKEN$TAOTOKEN_API_KEY TOTAL_GROUPS907 CONCURRENCY16 LOG_DIR./swarm-eval-logs mkdir -p $LOG_DIR seq 1 $TOTAL_GROUPS | xargs -P $CONCURRENCY -I{} bash -c group_id$1 python ./run_agent_group.py \ --group-id $group_id \ --base-url $TAOTOKEN_BASE_URL \ --api-key $TAOTOKEN_API_KEY \ $LOG_DIR/group-${group_id}.log 21 _ {}如果评测代码是 Python asyncio可以用信号量控制并发import asyncio import os import json from openai import AsyncOpenAI BASE_URL https://taotoken.net/api API_KEY os.environ[TAOTOKEN_API_KEY] MODEL gpt-5 CONCURRENCY 32 client AsyncOpenAI(base_urlBASE_URL, api_keyAPI_KEY) sem asyncio.Semaphore(CONCURRENCY) async def run_agent_group(group_id: int) - dict: async with sem: prompt f你是第 {group_id} 个智能体群的研究评测单元输出一条协作结论。 resp await client.chat.completions.create( modelMODEL, messages[{role: user, content: prompt}], temperature0.2, ) return { group_id: group_id, content: resp.choices[0].message.content, } async def main(): tasks [run_agent_group(i) for i in range(1, 908)] results await asyncio.gather(*tasks, return_exceptionsTrue) ok [r for r in results if isinstance(r, dict)] with open(./swarm-eval-results.jsonl, w, encodingutf-8) as f: for item in ok: f.write(json.dumps(item, ensure_asciiFalse) \n) print(f完成 {len(ok)} / 907) if __name__ __main__: asyncio.run(main())注意评测数据写本地 JSONL 或 SQLite 即可不要让智能体直接连生产库。SQL 和命令都在本地执行先在小批量 10 个群上验证再放大到 907 个群。7. 排障清单批量启动时最容易踩的 6 个配置错401 invalid api keyKey 没导出或者用了官方 Key。重新从 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval 创建并导出 TAOTOKEN_API_KEY。404 not foundBase URL 多写了 /v1 或 /anthropic。统一写 https://taotoken.net/api。model not found模型名不在控制台可用列表。把 ANTHROPIC_MODEL 或 Codex 的 model 改成实际可用值。Claude Code 不读 settings.json环境变量优先级高于文件。检查当前 shell 是否残留旧的 ANTHROPIC_BASE_URL。Codex 读了 ANTHROPIC_*配置串了。Codex 只认 config.toml 里的 model_provider 和 env_key。429 或超时并发太高。把 xargs -P 16 降到 8或把 asyncio.Semaphore(32) 降到 16。排障时先跑单群python ./run_agent_group.py --group-id 1 --base-url https://taotoken.net/api --api-key YOUR_API_KEY单群通过后再批量启动。不要一上来就 907 个并发。8. 把多智能体评测入口收拢到 TaoToken这次替换的收益不是某个模型变快了而是评测工程少了一层供应商分支。官方端点与 TaoToken 端点对照表放在文档里批量启动脚本只改环境变量Claude Code、Codex、CC Switch 各自用各自的配置。下一步可以直接从模型对话开始验证再决定用 Coding Plan 跑长期评测然后创建独立的 API Key 给批量任务最后把 Claude Code 的配置固化到文档里。模型对话https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval_chatCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval_coding创建 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval_keysClaude Code 文档https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentswarm_eval_claude_code官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentfinal_cta最后再强调一次Base URL 填 https://taotoken.net/apiKey 用 YOUR_API_KEY 占位真实 Key 从控制台创建。先把 10 个智能体群跑通再放大到 907 个。