
AI Agent 设计模式是指在构建智能体系统时,用于解决工具调用、任务规划、记忆管理等特定问题的标准化逻辑结构。 掌握这些模式能显著提升 Agent 的稳定性、可维护性和执行效率。本文从微软开源的 6 万星教程中提炼出 8 种核心模式,为国内开发者提供一份即查即用的实战指南,涵盖从基础的 Tool Use 到高级的 Multi-Agent 协作。
开发Agent的一大痛点,不是模型不够聪明,而是逻辑写成一团浆糊。
一旦业务稍微复杂一点,Prompt里全是“如果...就...否则..."的补丁,最后连开发者自己都看不懂Agent为什么在发疯。
微软那套18节课的教程里,最值得研究的部分其实就是这8种设计模式。它把散落在各家文档里的“野路子”整理成了工程化的“正规军”。

我把它们从教程里剥离出来,去掉了冗长的Azure配置,只留下核心逻辑。
建议你收藏这篇。下次写Agent的时候翻一翻,看看你的场景对应哪种模式,直接对号入座。
01 Tool Use 模式(工具调用)
一句话:让LLM长出“手”。
适用场景:Agent需要查天气、读写数据库、发邮件、调API。
核心逻辑:
定义:把工具写成函数,定义好JSON Schema(参数类型、描述)。 注入:把 Schema 塞进System Prompt。 执行:LLM输出函数名和参数 → 你的代码拦截这个请求 → 执行函数 → 把结果塞回给LLM。
避坑指南:工具描述写得越像“给人类看的说明书”,LLM调得越准。别只写个函数名,要把 description 写清楚。
02 Context Engineering 模式(上下文工程)
一句话:决定Agent“吃什么”,吃多少。
适用场景:任务复杂,需要区分“长期指令”和“临时对话”,或者上下文超长。
核心逻辑:把上下文分层。
System Layer:你是谁、规则是什么(永远保留)。 Knowledge Layer:检索到的相关知识(按需插入)。 Memory Layer:用户偏好、历史摘要(按需插入)。 Task Layer:当前的具体指令(每次更新)。
避坑指南:别把整本说明书塞进Context里。只给Agent此刻需要的那一页。塞多了不仅费钱,模型还会“迷失”在无关信息里(Lost in the Middle)。
03 Memory 模式(记忆管理)
一句话:让Agent“记得住”你是谁。
适用场景:用户偏好存储、长期知识沉淀、跨会话连续性。
核心逻辑:
短期记忆:就是对话窗口(Context Window),关掉就没了。 长期记忆:存入向量数据库或JSON文件。Agent每次回答前,先去库里搜一下“这哥们上次说了啥”,搜到了就塞进短期记忆。
避坑指南:别把所有聊天记录都存下来。只存“事实”和“偏好”。比如用户说“我喜欢Python",记下来;用户说“今天天气不错”,忘掉。
04 Planning 模式(任务规划)
一句话:把大任务拆成小步骤。
适用场景:用户说“帮我写个贪吃蛇游戏”,Agent 需要自己决定先干嘛后干嘛。
核心逻辑:思维链(CoT)或 ReAct 框架。
Plan:LLM 生成步骤列表(1. 设计 UI -> 2. 编写逻辑 -> 3. 调试)。 Act:执行步骤 1。 Reflect:看执行结果,如果成功,进行步骤 2;如果失败,重新Plan。
避坑指南:给LLM设定最大步数限制(Max Steps)。不然它一旦陷入死循环,你的Token账单会教做人。
05 Metacognition 模式(元认知/自我反思)
一句话:让Agent“自己纠错”,别把锅甩给用户。
适用场景:代码执行失败、工具调用报错、输出格式不对。
核心逻辑:在执行循环中增加一个Check节点。
如果报错了,把错误Traceback喂回给LLM。 让 LLM 分析原因:“我刚才写错了,原因是...,我应该修正为..."。 LLM 自己重新生成代码。
避坑指南:限制重试次数(比如3次)。3次还搞不定,就得承认自己能力有限,向用户求助了。
06 Agentic RAG 模式(智能检索增强)
一句话:主动决定“什么时候去查资料”。
适用场景:知识库问答,但不确定用户问题是否需要检索。
核心逻辑:
普通 RAG:用户问啥,先检索再回答(哪怕用户只是在说“你好”)。 Agentic RAG:LLM先判断意图。 如果是“你好”,直接回“你好”。 如果是“公司报销流程是什么”,生成Query去搜向量库,结合结果回答。
避坑指南:给 Agent 一个 No_Op 工具(空操作)。如果它觉得不需要检索,就调用这个工具,直接输出。
07 Multi-Agent 模式(多智能体协作)
一句话:三个臭皮匠,顶个诸葛亮。
适用场景:超级复杂的任务,单模型上下文不够、逻辑处理不过来。
核心逻辑:
Orchestrator(包工头):负责拆解任务,分配给专家。 Specialists(专家):比如一个专门写代码,一个专门写文档,一个专门做测试。 大家各司其职,最后汇总。
避坑指南:Agent数量别太多(建议不超过3-4个)。节点一多,通讯延迟和成本会指数级上升,而且很难Debug到底是谁在胡说八道。
08 Computer Use 模式(计算机操作代理)
一句话:Agent变成“虚拟员工”,能看屏幕能点鼠标。
适用场景:操作GUI界面,如点击网页按钮、填写表单、操作旧系统。
核心逻辑:
截图:把当前屏幕截图传给VL模型(视觉模型)。 识别:模型输出坐标(X, Y)和动作(Click, Type)。 执行:代码控制鼠标在(X, Y)处点击。 循环:再次截图,直到任务完成。
避坑指南:国内目前的VL模型在坐标识别上还有延迟。这玩意儿目前适合跑在后端做自动化任务,别轻易拿来给用户做实时演示,容易卡顿。
实战:模式组合拳
单一模式很少够用,真正的项目通常是组合拳:
高级客服 Agent = Agentic RAG + Memory + Tool Use(查订单) 编程助手 Agent = Planning + Metacognition + Tool Use (Code Interpreter) 数据分析 Agent = Tool Use (Python) + Memory + Computer Use (操作 Excel)
FAQ 环节
Q1:新手应该先学哪种模式?A:Tool Use 和 Planning。搞定这两个,能解决 80% 的日常需求。
Q2:多智能体(Multi-Agent)是不是比单智能体更好?A:不一定。单智能体结构简单、成本低、响应快。只有在任务复杂度超出单模型处理能力(上下文不够、逻辑太乱)时,才考虑拆分。
结语
这个系列聊了三篇,从“怎么入门”,到“怎么避坑”,再到“怎么搭积木”。
希望这份速查手册能帮你少写两斤Patch
代码。
事情既然都过了。
Day 17

夜雨聆风