Agent 核心概念
前置阅读:核心概念卡、Prompt-RAG-上下文与 MCP。 预期收获:读完你能画出 Agent 的认知循环,并设计一个最小 Agent 的边界(输入、工具、停止条件、人工确认点)。
定义
AI Agent 是一种能够理解目标、规划步骤、调用工具、观察结果、更新状态,并在任务完成或触发停止条件前持续推进的软件系统。
它不是一个提示词,也不是一次 LLM 调用,而是一个闭环系统。
核心组成
| 模块 | 职责 | 设计问题 |
|---|---|---|
| 目标与策略 | 把高层目标拆成可执行子任务 | 成功标准是什么?哪些行为禁止? |
| 模型 | 负责语言理解、推理和决策生成 | 选哪个模型?什么时候升级到更强模型? |
| 感知 | 读取用户输入、文件、API、UI、数据库、图片、日志 | 哪些输入可信?哪些需要归一化? |
| 上下文 | 提供事实、指令、历史和工具结果 | 哪些内容进入上下文?冲突如何处理? |
| 记忆 | 保存短期任务状态和长期知识 | 记什么?何时过期?如何删除? |
| 工具 | 通过 API、函数、浏览器、数据库、代码执行外部动作 | 权限和限额是什么? |
| 规划器 | 拆解任务并选择动作 | 规划是确定性、模型驱动,还是混合? |
| 执行器 | 运行工具、代码、工作流或 UI 操作 | 哪些可重试?哪些需要人工确认? |
| 观察器 | 解释工具输出和系统状态 | 错误如何分类? |
| 评估器 | 判断质量、继续、重试或结束 | 验收标准如何自动化? |
| 运行时 | 管理状态、调度、沙箱、回放、审计、成本 | 中断后能否恢复? |
认知循环
Agent 的认知循环可以概括为:
感知 -> 推理 -> 行动 -> 观察 -> 反思 -> 更新记忆 -> 继续或结束
工程实现常见流程:
用户目标
-> 解析意图
-> 收集上下文
-> 生成计划
-> 调用工具
-> 检查结果
-> 修正计划
-> 调用下一个工具
-> 返回答案或产物
Think-Act-Observe 模式
实用执行模式:
- Think:分析当前任务,决定下一步。
- Act:调用工具、API、模型、数据库、代码执行器或 UI 自动化。
- Observe:读取结果并更新状态。
- Finish:满足停止条件后返回答案或产物。
生产约束:不要把内部推理链直接暴露给用户。应暴露可审计摘要、工具轨迹、输入输出、验证结果和关键决策。
记忆系统
记忆通常分为:
- 短期记忆:当前会话、当前任务状态、最近工具输出。
- 长期记忆:用户偏好、历史决策、可复用流程、文档向量库。
- 情景记忆:过往任务轨迹和结果。
- 语义记忆:稳定知识和事实。
- 工作流记忆:成功计划、工具序列和可复用解决路径。
常见失败模式:
- 记忆过期。
- 隐私泄漏。
- 记忆之间互相矛盾。
- 检索漂移。
- 过度依赖旧用户行为。
最低设计要求:
- 每条长期记忆都要有来源、时间、作用域、保留规则和删除路径。
工具系统
工具让模型从文本生成器变成行动系统。
工具设计要求:
- 名称清晰。
- 语义描述明确。
- 输入结构严格。
- 输出结构稳定。
- 权限和限流明确。
- 高风险动作支持预览或 dry-run。
- 错误类型可区分。
- 有审计轨迹。
- 高风险写操作需要人工确认。
常见工具类型:
- 搜索和检索。
- 数据库查询。
- 代码执行。
- 浏览器或 UI 自动化。
- 文件读写。
- 日历、邮件、聊天、工单、CRM、ERP。
- Figma 等设计工具。
- LLM 评估器。
多 Agent 协作
子 Agent 适合把复杂任务拆成职责清晰的角色:
- 规划者。
- 研究者。
- 实现者。
- 审阅者。
- 测试执行者。
- 安全审查者。
- 数据分析者。
- 原型设计者。
- 记忆管理者。
适合使用子 Agent 的情况:
- 任务可以拆成相对独立的工作流。
- 上下文隔离能提升质量。
- 不同子任务需要不同权限或工具。
- 专家角色可以产出边界明确的结果。
不适合使用子 Agent 的情况:
- 下一步依赖主线即时判断。
- 子任务与主任务高度耦合。
- 协调成本超过收益。
常见框架
| 框架 | 优势 | 典型用途 |
|---|---|---|
| LangGraph | 状态图、条件路由、多步工作流 | 复杂 Agent 流程和状态机 |
| LlamaIndex | 索引、检索、RAG、知识图谱 | 知识库和文档密集型应用 |
| CrewAI | 角色化多 Agent 协作 | 团队式自动化流程 |
| AutoGen | 多 Agent 对话和协同 | 研究、仿真、协作模式 |
| n8n | 低代码自动化和集成 | 原型工作流和非工程用户自动化 |
| Agno | 性能和云原生取向 | 企业级 Agent 应用 |
构建检查清单
开始构建 Agent 前,先回答:
- 它服务哪个用户目标?
- 它能做哪些动作?
- 它能读取哪些数据?
- 它能写入哪些数据?
- 哪些动作必须人工确认?
- 保存哪些状态?
- 哪些过程可以回放?
- 成功指标是什么?
- 主要失败模式是什么?
- 如何发现幻觉?
- 工具错误如何恢复?
- 成本上限是多少?
最小 Agent 设计模板
Agent 名称:
主要用户:
业务目标:
允许输入:
允许工具:
禁止动作:
记忆范围:
执行循环:
停止条件:
人工确认点:
轨迹字段:
评测用例:
兜底策略:
完整版见 Agent 设计模板。
读完自测
- [ ] 用一句话回答:"Agent 和一次 LLM 调用 + 工具" 的本质差异是什么?
- [ ] 画出 think-act-observe 循环,并说出每一步可能的失败模式。
- [ ] 给一个真实场景(如"用 Agent 处理客服工单"),你能列出至少 3 个必须人工确认的动作。
- [ ] 解释为什么"能用确定性代码写就别让模型决策"是工程红线。
- [ ] 你能说出 LangGraph、LlamaIndex、CrewAI、AutoGen 分别擅长什么场景。
下一站
| 你接下来想… | 去这里 |
|---|---|
| 真正动手设计一个 Agent | Agent 设计模板 |
| 看 Agent 上线要补的工程能力 | 工程化与 Runtime |
| 看 Agent 完整执行闭环图 | Agent 任务闭环 |
| 看 Agent 怎么做评测和回放 | Agent 评测与回放流程 |
| 看真实行业 Agent 案例 | 案例卡片 |
| 深入 Agent 全景 | Agent 资料专题综述 |