1. Manus 爆火之后我为什么劝你先搞懂智能体的九种设计模式Manus 刷屏那几天我朋友圈里做 AI 工具的朋友几乎都在转它的演示视频。一个指令下去它自己开浏览器、查资料、写代码、跑测试、整理成报告全程不用人插手。很多人第一反应是「这不就是个套壳吗」但真正动手搭过 Agent 的人会知道能把这么多步骤串起来还不崩背后一定有一套清晰的设计模式在支撑。AI 智能体AI Agent说白了就是让大模型从「你问我答」变成「你给目标我自己想办法完成」。它和普通聊天机器人的区别在于聊天机器人只负责生成文本而智能体要规划步骤、调用工具、观察结果、根据反馈调整下一步。适合谁看这篇如果你正在用 Cline、Cursor、CC Switch 这类工具做开发或者想自己搭一个能自动干活的 Agent那这九种设计模式就是你绕不开的地图。我试过把 ReAct、Plan-and-Execute、Multi-Agent 这几种模式分别接到同一个任务上跑结果差异大到离谱——有的三步就收敛有的绕了十几轮还在原地打转。问题往往不在模型本身而在你选错了模式。这篇会先把九种模式的核心原理和适用场景讲清楚然后给你一套可复制的 TaoToken 统一 Key/API 通道配置骨架包含 settings.json 和 config.toml 示例最后在 Cline 和 CC Switch 里做一次真实的联调验证。你跟着走一遍就能理解模式差异也能把本地环境跑通。2. 九种设计模式拆解从 ReAct 到 Multi-Agent 到底怎么选2.1 ReAct边想边做最像人的那种ReAct 是 Reasoning Acting 的缩写核心循环是 Thought → Action → Observation → Thought……直到 Action 变成 Finish。你可以把它理解成一个人找胡椒粉的过程先想「胡椒粉可能在调料柜」去柜子里看Action发现没有Observation再想「可能在灶台旁边」再去找。每一步都基于上一步的观察来决定。它的实现方式很直接给大模型一个提示词模板让它输出 Thought 和 Action你解析出 Action 去调用外部工具把工具返回结果作为 Observation 塞回上下文循环往复。适合场景是那种路径不确定、需要根据中间结果调整的任务比如调试代码、排查线上问题。缺点是步数多了容易跑偏上下文会越来越长。2.2 Plan-and-Execute先画图纸再施工这个模式分两阶段Planner 先把大目标拆成有序的子任务列表Executor 再逐个执行。就像炒菜先列好「切菜→热油→下锅→调味→出锅」的计划再一步步做。适合复杂但步骤相对确定的任务比如生成一份完整的技术方案、批量处理数据。和 ReAct 的区别在于ReAct 是走一步看一步Plan-and-Execute 是先看全局再动手。后者在任务步骤多的时候更稳但如果执行中发现计划本身有问题需要额外的重规划机制。2.3 LLM Compiler并行调用提效率LLM Compiler 的核心是把可以并行的 Function Calling 同时发出去。比如你要算两个人的年龄差需要先查 A 的出生年份、再查 B 的出生年份这两个查询没有依赖关系就可以并行。它通过分析任务依赖图把无依赖的调用打包并发执行适合有大量独立子查询的场景比如批量信息抽取、多源数据聚合。2.4 Basic Reflection自己写自己改Generator 负责生成初稿Reflector 负责批改改完再交给 Generator 修订。像师生互动学生写作业老师批注学生改。适合写作、代码生成这类需要迭代打磨的任务。实现上就是两个角色轮流调用Reflector 的输出作为下一轮 Generator 的输入。2.5 Self-Discover对任务本身做反思和 Basic Reflection 不同Self-Discover 反思的不是「答案好不好」而是「我该用什么方式解题」。它会先分析任务类型从一组推理模块里挑选合适的组合再重新推理。适合那种你一开始不知道该怎么下手的开放性问题。2.6 REWOO把观察隐式嵌入计划REWOO 的思路是先把整个推理链规划好把每一步需要的 Observation 用变量占位然后一次性生成所有工具调用最后把实际结果填回去。像审批流先定义好「查余额→查额度→判断是否放行」的流程各步骤相互依赖但可以预先编排。适合流程固定、依赖关系明确的业务场景。2.7 Language Agent Tree Search树搜索 强化学习这个模式把树搜索和强化学习结合起来在每个节点探索多条路径用价值评估决定往哪走。适合需要探索多种可能性的任务比如复杂规划、博弈类问题。实现复杂度最高一般用在研究型项目里。2.8 Reflexion引入外部评估的升级版Reflexion 在 Reflection 基础上引入了外部数据或工具来做评估反馈更具建设性。比如代码 Agent 跑完测试后根据测试报告来反思而不是自己空想。适合对正确性要求高的任务。2.9 Storm先大纲后内容Storm 模式先生成文章大纲再针对每个小节去检索资料、丰富内容。适合长文创作、研究报告生成。它的优势是结构清晰不会写着写着跑题。把这九种模式放在一张表里对比会更直观模式核心机制适用场景实现复杂度ReAct思考-行动-观察循环路径不确定的排查类任务低Plan-and-Execute先规划后执行步骤多的复杂任务中LLM Compiler并行 Function Calling大量独立子查询中Basic Reflection生成-批改迭代写作、代码打磨低Self-Discover对解题方式反思开放性难题中REWOO隐式嵌入观察流程固定的业务流中LATS树搜索强化学习探索型规划高Reflexion外部评估反馈高正确性要求中Storm大纲驱动内容生成长文、报告低Manus 这类产品通常是多种模式的组合外层用 Plan-and-Execute 做任务分解子任务用 ReAct 执行关键节点用 Reflection 做质量把关多 Agent 之间用 Orchestrator-Worker 协调。理解了这些积木你再看它的架构就不会觉得神秘。3. TaoToken 前置统一 Key 与 API 通道准备不管你选哪种模式Agent 最终都要调用大模型。本地开发最烦的就是每个工具配一套 Key、每个模型换一个 endpoint配置散落在各处。TaoToken 的作用是提供一个统一的 API 通道你只需要一个 Key就能在 Cline、CC Switch 等工具里接入不同的模型。先做准备工作打开官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册账号然后进控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsole 创建一个 API Key。创建的时候给它起个能认出来的名字比如agent-dev-local方便后面在多个工具里区分。拿到 Key 之后API 的基础地址是 https://taotoken.net/api 注意这个地址后面不加任何 UTM 参数直接用在配置文件里。如果你用的是 Anthropic 协议的工具比如 Claude Code对应的接入地址在文档里有单独说明可以看 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdoc 里的协议对照表。注意API Key 只显示一次创建后立刻复制保存到本地密码管理器里。不要直接提交到 Git 仓库建议用环境变量或.env文件管理。4. 可复制配置settings.json 与 config.toml 骨架4.1 Cline 的 settings.json 配置Cline 是 VS Code 里的 Agent 插件配置走的是 JSON。打开 Cline 的设置面板找到「API Provider」选自定义然后填入下面的骨架。把YOUR_TAOTOKEN_KEY替换成你刚才创建的 Key{ cline.apiProvider: openai, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiApiKey: YOUR_TAOTOKEN_KEY, cline.openAiModelId: claude-sonnet-4-20250514, cline.customInstructions: 你是一个使用 ReAct 模式的编码助手每次行动前先输出 Thought再输出 Action。, cline.autoApprovalSettings: { enabled: true, actions: { readFiles: true, editFiles: false, runCommands: false } } }这里openAiBaseUrl指向 TaoToken 的 API 地址openAiModelId填你要用的模型标识。customInstructions里我塞了一句 ReAct 的提示词这样 Cline 在执行任务时会先思考再动手。autoApprovalSettings控制哪些操作自动放行建议初期把editFiles和runCommands设为 false观察几轮确认行为符合预期后再放开。4.2 CC Switch 的 config.toml 配置CC Switch 用来在多个模型配置之间快速切换配置走 TOML。在它的配置目录下新建或编辑config.tomldefault_profile taotoken-agent [profiles.taotoken-agent] name TaoToken Agent Dev provider openai-compatible base_url https://taotoken.net/api api_key YOUR_TAOTOKEN_KEY model claude-sonnet-4-20250514 max_tokens 8192 temperature 0.3 [profiles.taotoken-agent.agent] mode plan-and-execute max_iterations 15 reflection_enabled true [profiles.taotoken-fast] name TaoToken Fast provider openai-compatible base_url https://taotoken.net/api api_key YOUR_TAOTOKEN_KEY model gpt-4o-mini max_tokens 4096 temperature 0.7default_profile指定默认用哪个配置。agent段里我设了plan-and-execute模式和最大迭代次数reflection_enabled打开后会启用 Basic Reflection 做质量把关。第二个 profile 配了个更快的模型适合做简单任务时切换过去省成本。提示两个配置文件里的 Key 建议用环境变量引用比如${TAOTOKEN_API_KEY}这样换 Key 时不用改多处。Cline 支持在设置里用${env:VAR_NAME}语法CC Switch 支持${VAR_NAME}。5. 验证请求在 Cline 与 CC Switch 里跑通第一次调用配置写完先别急着上复杂任务用最小请求验证通道是否通。在 Cline 里新建一个对话输入请用一句话说明 ReAct 模式和 Plan-and-Execute 模式的核心区别。如果配置正确你会看到 Cline 先输出一段 Thought然后给出回答。如果报 401说明 Key 没填对如果报 404检查base_url是不是写成了https://taotoken.net/api/多了个斜杠或者漏了/api。在 CC Switch 里验证先确认当前 profilecc-switch current输出应该显示taotoken-agent。然后发一个测试请求cc-switch test --prompt 列出三种适合并行执行的 Agent 设计模式正常返回会是一段包含 LLM Compiler、Parallel Workflow 等内容的文本。如果返回超时检查网络是否能访问taotoken.net以及max_tokens是否设得太小导致截断。跑通之后可以做一个更接近真实场景的验证让 Cline 用 ReAct 模式去读一个本地文件并总结内容。观察它的 Thought 里有没有「我需要先读取文件」这类推理Action 里有没有调用文件读取工具。这一步能确认工具调用链路是通的而不只是文本生成。6. 本篇常见错排查报错一401 Unauthorized。最常见的原因是 Key 复制时带了空格或者用了控制台里已经删除的旧 Key。重新去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keys 生成一个新的替换配置文件里的值。报错二404 Not Found。检查base_url的写法。正确是https://taotoken.net/api不要写成https://taotoken.net/api/v1或结尾带斜杠。不同工具对 base_url 的拼接方式不一样Cline 会自动补/v1/chat/completionsCC Switch 也是所以基础地址不要自己加版本号。报错三模型返回空内容或截断。把max_tokens调大或者检查temperature是不是设成了 0 导致输出过于保守。Agent 任务建议temperature在 0.2 到 0.5 之间太低会死板太高会跑偏。报错四Agent 循环不停止。这是 ReAct 模式常见问题模型一直在 Thought 和 Action 之间打转。解决办法是在customInstructions里加一句「如果连续三次 Observation 没有新信息直接输出 Finish」同时在 CC Switch 的max_iterations里设一个上限比如 15。报错五工具调用格式解析失败。不同模型对 Function Calling 的输出格式支持不一样。如果 Cline 报「无法解析 Action」换一个对工具调用支持更好的模型或者在提示词里明确要求「Action 必须输出为 JSON 格式包含 name 和 arguments 两个字段」。报错六CC Switch 切换 profile 后不生效。检查default_profile的值是否和[profiles.xxx]里的名字完全一致TOML 对大小写敏感。改完配置后需要重启 CC Switch 或执行cc-switch reload。7. 把模式选对比把模型换贵更重要回到开头那个问题Manus 为什么能火不是因为它用了多贵的模型而是它把 Plan-and-Execute、ReAct、Reflection、Multi-Agent 这些模式组合得足够顺滑让用户感觉「它真的在替我干活」。你在本地搭 Agent 也是一样先用 TaoToken 把统一通道配好再根据任务类型挑模式——排查类用 ReAct复杂流程用 Plan-and-Execute写作类用 Storm 或 Basic Reflection多角色协作用 Orchestrator-Worker。如果你接下来要长期跑编码类 Agent建议直接上 Coding Plan把常用的模型和模式预设好省得每次手动切https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-plan 。想先对比不同模型在同一个 Agent 任务上的表现可以去模型对话页面直接试https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchat 。配置过程中遇到接入问题接入文档里有各工具的详细对照https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdoc 。最后留一个我踩过的坑别一上来就追求九种模式全用上。先把 ReAct 跑通再加 Reflection再加 Plan每加一层都观察 Agent 的行为变化。模式是积木不是清单用对两个比堆九个管用。