ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

OpenClaw 多智能体系统实践:把 Agent 工作空间与长期记忆改到 TaoToken

OpenClaw 多智能体系统实践:把 Agent 工作空间与长期记忆改到 TaoToken 1. OpenClaw 多智能体系统落地时工作空间与长期记忆为什么总是乱OpenClaw 多智能体系统是一套让多个 Agent 各司其职、协同完成复杂任务的本地工作流框架它能做任务规划、代码开发、技术调研、质量审查适合需要长期迭代项目的开发者。但很多人第一次跑起来就发现Agent 之间互相污染上下文、记忆文件越写越乱、模型调用通道各配各的最后整个系统变成一团浆糊。我最初搭 OpenClaw 的时候也踩过这个坑。七个 Agent 共用一个工作目录Coding Agent 写的草稿被 Research Agent 当成调研结论读走QA Agent 检查时又翻到三天前的临时文件结果输出一堆自相矛盾的建议。更麻烦的是长期记忆——所有 Agent 的 memory.md 混在一起检索时根本分不清哪条规则属于哪个角色。问题的根源有三个。第一工作空间没有隔离每个 Agent 的临时文件、草稿、会话摘要全堆在一个目录里读取时没有边界。第二长期记忆没有分层Agent 级记忆和项目级记忆混写导致简单任务也要加载一大堆无关背景。第三模型调用通道没有统一每个 Agent 单独配 Key 和 endpoint改一次配置要动七八个文件成本也没法集中统计。这篇就围绕这三件事展开把 Agent 工作空间改成隔离结构把长期记忆改成文件级持久化把模型调用通道统一改到 TaoToken 的 Key 和 API 上。整个过程给可复制的 settings 和 endpoint 配置片段最后跑一次多 Agent 协作任务验证输出。适合谁看已经在用 OpenClaw 但觉得工作流混乱的开发者想从单 Agent 升级到多 Agent 协作的人需要长期记忆持久化、又不想让上下文无限膨胀的团队。下面按步骤来每一步都能直接复制执行。2. TaoToken 前置准备统一 Key 与 API 通道在改 OpenClaw 配置之前先把模型调用通道统一到 TaoToken。这一步的意义在于后面所有 Agent 的模型请求都走同一个 Base URL 和同一个 Key改模型、换通道、统计成本都只在一个地方操作不用每个 Agent 单独维护。TaoToken 是一个模型调用聚合通道提供统一的 API 入口兼容 OpenAI 风格的请求格式。OpenClaw 的 Agent 配置里模型调用部分本质上就是填 Base URL、API Key、Model ID 这三件套。把这三件套指向 TaoToken所有 Agent 就都走同一条通道了。先拿到 Key。打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议按用途命名比如openclaw-multi-agent方便后面区分。创建后复制保存这个 Key 只显示一次。控制台地址https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite拿到 Key 之后确认 API 入口地址。TaoToken 的 API Base URL 是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 Base URL 使用。OpenClaw 内部拼接路径时会自动加上/v1/chat/completions或/v1/responses所以 Base URL 只需要写到/api这一层。接下来确认你要用的 Model ID。OpenClaw 多智能体系统里不同 Agent 用不同模型比如 Coding Agent 用 Claude Sonnet 系列Research Agent 用 Gemini 2.5 ProQA Agent 用 GPT-5.4 Mini。这些模型在 TaoToken 上都有对应的 Model ID具体名称可以在模型对话页面查看或者直接调 API 的 models 接口列出。模型对话页面https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite如果你打算长期跑编码类 Agent可以看一下 Coding Plan 的额度方案比按量调用更适合高频场景Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite前置准备就这三样Key、Base URL、Model ID。下面进入配置环节。3. 可复制配置settings 与 endpoint 改到 TaoToken这一节是核心操作。OpenClaw 的配置分两层全局配置~/.openclaw/openclaw.json管 Gateway 和默认通道Agent 级配置AGENTS.md管每个 Agent 的模型选择和行为规则。我们要改的是全局配置里的模型通道以及每个 Agent 的模型指向。先看全局配置。打开~/.openclaw/openclaw.json找到模型通道部分。不同版本的 OpenClaw 配置结构略有差异但核心字段是baseUrl、apiKey、model。改成下面这样{ gateway: { mode: local, port: 18789 }, providers: { default: { baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, model: openai/gpt-5-chat } }, agents: { main-agent: { model: openai/gpt-5-chat }, ceo-agent: { model: google/gemini-2.5-pro }, coordinator-agent: { model: openai/gpt-5-chat }, planner-agent: { model: qwen/qwen3-max }, research-agent: { model: google/gemini-2.5-pro }, coding-agent: { model: anthropic/claude-sonnet-4.6 }, qa-agent: { model: openai/gpt-5.4-mini } } }这里的关键点providers.default.baseUrl指向https://taotoken.net/apiapiKey填你刚才创建的 Key。所有 Agent 的模型请求都会走这个通道不需要每个 Agent 单独配 Key。如果你用的是 TOML 格式的配置部分 OpenClaw 版本支持等价写法是[gateway] mode local port 18789 [providers.default] baseUrl https://taotoken.net/api apiKey sk-你的TaoToken密钥 model openai/gpt-5-chat [agents.coding-agent] model anthropic/claude-sonnet-4.6 [agents.research-agent] model google/gemini-2.5-pro改完全局配置后还要确认每个 Agent 的AGENTS.md里没有硬编码的 endpoint。打开~/.openclaw/workspace/agents/coding-agent/AGENTS.md检查有没有类似api_base或endpoint的字段。如果有删掉或改成继承全局配置。推荐的做法是 Agent 级只写模型名通道信息全部继承全局。工作空间隔离的配置也要在这一步一起改。把每个 Agent 的目录结构改成~/.openclaw/workspace/agents/ ├── main-agent/ │ ├── AGENTS.md │ ├── memory.md │ ├── workspace/ │ └── sessions/ ├── ceo-agent/ │ ├── AGENTS.md │ ├── memory.md │ ├── workspace/ │ └── sessions/ ├── coding-agent/ │ ├── AGENTS.md │ ├── memory.md │ ├── workspace/ │ └── sessions/ └── ...每个 Agent 的workspace/只放当前任务的临时文件任务结束后把有价值的信息提炼到memory.md。sessions/只存会话摘要不存完整聊天记录。这样隔离之后Coding Agent 的草稿不会被 Research Agent 误读。长期记忆的持久化配置在memory.md里。每个 Agent 的memory.md只记录该 Agent 的长期职责、用户偏好、已确认结论。项目级记忆放在~/.openclaw/workspace/projects/openclaw-project/project_memory.md记录项目目标、核心原则、关键路径。配置改完后执行一次配置校验openclaw doctor --fix这个命令会检查配置项是否被当前版本识别如果有不支持的字段会提示。之前遇到过Unrecognized key: providers的报错就是因为版本 schema 不支持这个字段需要确认 OpenClaw 版本后再调整配置结构。4. 验证请求多 Agent 协作任务与预期输出配置改完后跑一次真实的多 Agent 协作任务来验证。选一个中等复杂度的任务既能触发多 Agent 协作又不会跑太久。启动 Gatewayopenclaw gateway start查看状态确认启动成功openclaw gateway status预期输出里应该能看到Gateway running on port 18789和mode: local。然后发一个协作任务。这里用 OpenClaw 的 Responses API 直接请求模拟智能终端发来的任务curl -X POST http://127.0.0.1:18789/v1/responses \ -H Content-Type: application/json \ -d { input: 帮我设计一个 OpenClaw 多智能体工作流的目录结构并检查是否符合工作空间隔离原则。, agent: main-agent }这个请求会走完整链路Main Agent 接收 → CEO Agent 判断为中等任务 → Coordinator Agent 分发给 Planner Agent 设计结构 → QA Agent 检查隔离原则 → Coordinator 汇总 → Main Agent 输出。预期输出应该包含三部分Planner Agent 给出的目录结构方案、QA Agent 的检查结论、以及最终汇总的可执行建议。如果配置正确你会在输出里看到类似这样的结构## 目录结构方案 ~/.openclaw/workspace/agents/ ├── coding-agent/ │ ├── workspace/ # 临时草稿 │ ├── memory.md # 长期记忆 │ └── sessions/ # 会话摘要 ... ## QA 检查结论 - 工作空间隔离通过 - 记忆分层通过 - 通道统一通过 ## 最终建议 1. 先建立 agents/ 目录 2. 每个 Agent 单独写 AGENTS.md 3. 项目级记忆放 projects/ 下验证模型通道是否真的走了 TaoToken可以看 Gateway 日志tail -f ~/.openclaw/logs/gateway.log日志里每次模型调用都会显示请求的 Base URL。如果看到https://taotoken.net/api/v1/chat/completions说明通道改成功了。如果还是旧的 endpoint说明全局配置没生效需要检查openclaw.json的providers.default字段。再验证一下长期记忆是否持久化。让 Coding Agent 执行一个任务然后检查它的memory.md是否写入了新内容cat ~/.openclaw/workspace/agents/coding-agent/memory.md如果任务过程中产生了值得长期保留的结论比如用户代码风格偏好应该被写入这个文件。如果没有写入检查AGENTS.md里的记忆读写规则是否配置正确。5. 本篇常见错排查401、local proxy failed、reading choices配置过程中最容易遇到的几个报错这里逐个对照排查。401 Unauthorized这个报错说明 Key 无效或没被正确读取。先确认openclaw.json里的apiKey字段填的是 TaoToken 的 Key不是其他平台的。然后确认 Key 没有多余空格或换行。如果 Key 确认没问题检查 Base URL 是否写成了https://taotoken.net/api/末尾多了斜杠有些版本拼接路径时会产生双斜杠导致鉴权失败。正确写法是https://taotoken.net/api不带末尾斜杠。local proxy failed这个报错通常出现在 Gateway 启动阶段说明本地代理端口被占用或配置的 mode 不对。先检查 18789 端口是否被其他进程占用lsof -i :18789如果有进程占用要么杀掉那个进程要么改 Gateway 端口。然后确认gateway.mode设置为localopenclaw config set gateway.mode local如果还是报错执行openclaw doctor --fix修复配置。reading choices 报错这个报错说明模型返回的响应格式不符合预期通常是 Model ID 写错了。比如把anthropic/claude-sonnet-4.6写成了claude-sonnetTaoToken 找不到对应模型就会返回错误格式。检查每个 Agent 的 Model ID 是否和 TaoToken 支持的名称一致。可以在模型对话页面确认可用模型列表。OAuth 相关报错如果看到 OAuth 相关的错误说明某个 Agent 还在用旧的鉴权方式。检查AGENTS.md里有没有残留的 OAuth 配置字段全部删掉统一走apiKey鉴权。Gateway service not loaded这个报错说明 Gateway 服务没被加载。按顺序执行openclaw gateway install openclaw gateway start openclaw gateway status如果还是不行手动加载launchctl bootstrap gui/$UID ~/Library/LaunchAgents/ai.openclaw.gateway.plist配置项不识别如果openclaw doctor --fix报Unrecognized key说明当前 OpenClaw 版本不支持你写的配置字段。不要硬写先用openclaw config set命令逐项设置或者查对应版本文档确认字段名。不同版本的配置结构差异较大升级后要重新核对。排查完这些基本能覆盖 90% 的配置问题。剩下的就是模型选择和行为规则调优了。6. 把通道固定下来让多 Agent 长期跑得稳走到这一步OpenClaw 多智能体系统的工作空间隔离、长期记忆持久化、模型通道统一这三件事就都落地了。回头看最值得固定下来的习惯是所有 Agent 的模型请求都走同一个 Base URL 和 Key改配置只改一个地方每个 Agent 的 workspace 只放临时文件长期信息写进 memory.md项目级记忆和 Agent 级记忆分开存检索时不会互相污染。如果你后面要接入更多 Agent或者把 OpenClaw 和智能终端、MCP 工具联动这套结构可以直接扩展不用推倒重来。模型通道那边TaoToken 的 Key 和 API 入口保持不变新增 Agent 只需要在openclaw.json里加一行模型配置。接入文档和 API Keys 页面放在这里配置过程中需要核对字段时可以直接查API Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite长期跑编码类 Agent 的话Coding Plan 的额度方案比按量调用更划算Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite最后留一个实用技巧每次改完配置先跑openclaw doctor --fix再启动 Gateway能提前发现大部分字段错误。Gateway 日志用tail -f挂着模型调用走没走 TaoToken 一眼就能看到。
返回列表