Codex 跑 MCP 到 A2A 的 Agent 架构分析:Key 用 TaoToken
AI Agent 从定义上看是由大语言模型驱动、面向实际问题的应用系统。TaoToken 的官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 上可以拿到一把 API Key接下来我会用它让 Codex 成为长会话架构分析助手。这次要拆的对象不是别的东西正是原文里那对容易混的协议MCP 与 A2A——一个管 Agent 调用外部数据和应用一个管 Agent 与 Agent 互相通信。把自己的解读交给 Codex 之前先说明我的理由原文讨论的是 AI Agent 应用架构设计的演进核心是「Agent 如何拿到外部能力」和「Agent 如何与别的 Agent 协作」。这类架构问题逐字读很容易绕晕让 Codex 在一个长会话里反复对照原文、分段输出结论比人自己硬读效率高得多。下面是实际操作步骤。1. 让 Codex 读原文先把 Key 从 TaoToken 领回来1.1 官网拿 KeyCodex 拿权限原文通篇没有讲“怎么给 Codex 配模型服务”因为作者的重点在协议本身。但要让 Codex 真正跑起来准备工作少不了。打开 TaoToken 注册并创建 API Key这是全文唯一需要你动手注册的地方。创建完 Key 后页面会给你一段字符串本文统一用YOUR_API_KEY占位别把复制结果里的空格或换行带进终端。在拿 Key 的同时建议顺手看一眼模型广场。Codex 配置里需要一个模型 ID我在这里不写死某个值因为不同时期模型列表会有变化以 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 模型广场当时列表为准。模型 ID 决定了 Codex 在分析 MCP 与 A2A 时使用的底座模型能力选一个上下文窗口大、长文本理解稳的模型后面分段喂原文会轻松很多。提示TaoToken 官网落地页只负责注册、创建 Key、看模型广场和用量填进 Codex 配置里的 Base URL 必须写成 https://taotoken.net/api末尾不要加 /v1。官网地址和接口地址是两个不同的东西别混在一起。1.2 改好 config.tomlCodex 才认得路Codex 启动时会读取~/.codex/config.toml。用文本编辑器打开这个文件如果目录不存在就先创建。把我下面的配置块原样放进去替换掉你自己的模型 ID# ~/.codex/config.toml model_provider taotoken model YOUR_MODEL_ID [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api api_key_env_var TAOTOKEN_API_KEYbase_url就是 TaoToken 给 Codex 走的统一 API 接入地址很多人在这一步习惯性补一个/v1结果反而 404。api_key_env_var告诉 Codex 去读哪个环境变量接下来在终端里导出 Keyexport TAOTOKEN_API_KEYYOUR_API_KEY codex启动后先发一句「回复 OK」确认连通。如果提示找不到 model provider多半是 config.toml 里的model_provider taotoken与[model_providers.taotoken]名称不一致如果报连接错误先检查 Base URL 是否多写成了https://taotoken.net/api/v1。确认连通后就可以进入正文拆解了。2. 原文第一层拆解MCP 的客户端-服务器调用链2.1 MCP 解决的第一件事把「调用外部资源」做成标准回到原文第一层MCP 协议解决的是大模型调用外部数据和应用的规范性问题。它采用客户端-服务器架构我把这两层类比成「主厨和备菜间」Agent 是主厨负责把大模型生成的意图变成具体指令MCP 服务器是备菜间按指令去对应的储物柜取数据。储物柜可能是数据库、文件系统、SaaS 工具的 APIMCP 服务器把「取」的动作包装成了统一协议。关键点在“统一”这两个字。Agent 只要支持 MCP就能直接调用那些配备了 MCP 服务器的应用不需要每个外部系统单独写一套插件适配。比如你在一个 Agent 里接了三款协作软件只要各有 MCP ServerAgent 端就只需要维护一套 MCP Client 逻辑。原文把这条链路总结为「解决 AI Agent 调用外部数据和应用时的难点」落到架构图上就是左侧那条纵向的「Agent → MCP Client → MCP Server → 外部资源」调用链。2.2 给 Codex 的分析提示词让模型替我们读 MCP 架构有了可用的 Codex 环境下面把它当成长会话分析助手来用。新建一个会话把下面的提示词发过去我接下来会分段发给你一篇关于 AI Agent 架构演进的原文。 第一段只讲 MCP。请你用 200 字以内把“MCP Client → MCP Server → 外部资源”这条调用链写清楚 并说明为什么“客户端-服务器”两级比“Agent 直接连各应用”更适合做协议标准。 收到后先不要展开等我发第二段。发完提示词后把原文里讲 MCP 的那几段内容粘贴进对话。Codex 会按这条指令输出调用链拆解。你不需要把原文一次全塞给它长会话的意义就在于分步对齐先让 Codex 理解 MCP 这一段再进入 A2A。如果这一步得到的结论和你自己读出来的差不多说明 MCP 这一层的理解已经立住了。3. 原文第二层拆解A2A 的跨平台 Agent 通信3.1 A2A 是「Agent 对 Agent」的会话不是 MCP 的替代原文用一个例子把 A2A 讲清楚了如果协议普及阿里云上的 Agent 和火山云上的 Agent 可以无缝协作。这两个 Agent 底层框架可能不同部署平台也不同A2A 要做的是让它们之间能互相发消息、能约定任务、能交换结果。这里要特别注意A2A 不是 MCP 的替代品。MCP 管「Agent 调用外部资源」A2A 管「Agent 调用另一个 Agent」两者的层级完全不同。为了避免层级混乱可以这样记忆MCP 是纵向的接入协议解决的是 Agent 够不够得着数据A2A 是横向的协作协议解决的是 Agent 之间认不认识。原文特别提到 A2A 基于 HTTP、SSE、JSON-RPC 这些成熟技术构建没有引入私有协议还支持企业级认证和授权。对做架构的人来说这意味着 A2A 可以直接融入现有 IT 设施不用为了 Agent 协作专门改造网络。3.2 让 Codex 对照 A2A 的三个关键词继续拆MCP 那段分析完成后继续给 Codex 发第二段提示词这是原文的第二段讲 A2A 协议。 请只回答两个问题 1. A2A 和 MCP 在 Agent 架构里分别处于哪一层为什么它们不是互相取代的关系 2. A2A 选择 HTTP、SSE、JSON-RPC 而不是自研协议对企业落地有什么好处 每个问题控制在 150 字内先别给总结等第三段提示词。然后把原文讲 A2A 的段落粘进去。Codex 在这个会话里已经持有 MCP 的上下文再读 A2A 时就会自动做对比而不是把两段知识割裂开。这一步完成后你可以追问一句「A2A 的认证授权机制解决的是 Agent 通信中的哪个安全隐患」把原文里带过的一句话展开成架构判断。协议演进不是背名词能说出「为什么这样设计」才算把 A2A 放到了正确的架构位置上。4. MCP 与 A2A 在 Agent 架构里的分工边界4.1 MCP 管「接入」A2A 管「协作」把原文两层串起来看结论其实很清楚MCP 定义了 Agent 与外部能力之间的接入规范A2A 定义了 Agent 与 Agent 之间的协作规范。前者是纵向的从 Agent 到资源后者是横向的从 Agent 到另一个 Agent。套回原文开头对 AI Agent 的定义「通过控制大语言模型来解决问题」只是内核真正让这个系统可用的是“谁把工具交给 Agent”和“谁把任务转交给另一个 Agent”这两件事。这个阶段可以让 Codex 把前两轮的中间结论汇总成一张分工表。下面这个表是我在这个会话里让它输出后整理的版本只改了措辞和长度维度MCPA2A协议方向解决大模型调用外部数据和应用的规范解决不同平台/框架 Agent 之间的通信角色关系MCP Client 与 MCP ServerAgent 与 Agent技术底座客户端-服务器消息架构HTTP、SSE、JSON-RPC覆盖范围数据、应用、工具接入跨供应商 Agent 协作架构层次能力层协作层表格里的「架构层次」是我加的一层判断原文没有直接说这两个词但从全文逻辑可以推出MCP 成熟在前成为 Agent 获取能力的事实标准A2A 发布在后把互操作能力补上。4.2 让 Codex 输出演进的中间结论表格给到 Codex 后可以发第三段提示词收尾请基于前两轮对话用“演进前后”的对比说明这次架构演进的意义。 前每个 Agent 需要分别对接各应用平台之间无法互通 后MCP 统一应用接入A2A 统一 Agent 互操作。 最后用一句话说明为什么说 AI Agent 从“提升单点效率”迈向“大规模驱动应用”这个提示词其实把原文的结论改成了问题原文说 A2A 让 Agent 的应用范围「从提升工作效率迈向大规模驱动应用的新阶段」Codex 会围绕这句话展开说理由。到了这一步长会话分析任务就完整了先拆 MCP再拆 A2A最后给出分工边界。你会在对话里看到它独立得出「MCP 是纵向、A2A 是横向」的结论而不是你把答案告诉它。5. 跑通之后去控制台对一下这次调用5.1 怎么确认这次 Codex 真的走了 TaoToken在 Codex 会话里发一句「回复 OK」如果它正常响应说明配置已被接受。随后打开 TaoToken 登录后进控制台找到最近调用记录重点核对模型 ID 和这次会话开始的时间。如果控制台里能看到刚才那几条架构分析请求被计费说明整条链路是通的如果在配置时把 Base URL 写错成/v1这里通常看不到任何记录。确认这把 Key 能跑通后就可以正式接手架构分析工作。如果接下来要长时间做这类长会话拆解建议先在 TaoToken 模型对话 里用同一把 Key 发一条消息确认模型 ID 和 Base URL 一致需要持续写代码或做深度分析再看 Coding Plan 套餐是否够用Key 管理在 控制台 API Keys 完成。若以后要把同一把 Key 接到 Claude Code环境变量接入方式见 Claude Code 接入文档。5.2 这一步配完后可能遇到的三个问题对照我实际配下来的过程卡点基本集中在这三个地方。第一个是codex启动后提示找不到 model provider。这是改完config.toml没重启进程导致的TOML 不会被热加载关掉终端重新codex即可。第二个是请求返回 404。九成原因是 Base URL 写成了https://taotoken.net/api/v1Codex 发起请求时会自己处理版本路径你多写一个/v1反而会拼成双份路径。第三个是提示 Key 无效。检查环境变量是否真的导出成功运行echo $TAOTOKEN_API_KEY看看输出里有没有空格或换行最好现导现用。这三个问题都排除后Codex 读原文、拆 MCP、再拆 A2A 的完整流程就能稳定复现。之后再看原文里关于「Agent 规划能力」「Agent 行动能力」「工具调用之 MCP」的内容都可以丢进同一个会话继续追问让 Codex 在上下文连续的前提下不断加深结论。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →