Skip to content

Agent 开发:从单轮问答到可执行智能体

📅 主题:Agent 架构、规划执行、记忆与评估

一、什么是 Agent

在 LLM 场景里,Agent(智能体) 通常指:

  • 能理解目标(而不只是回答一个问题)
  • 能调用工具(搜索、代码执行、API、数据库等)
  • 能分解任务并迭代执行
  • 能基于中间结果继续决策

所以 Agent 不只是“会聊天的模型”,而是一个「模型 + 工具 + 工作流 + 状态」的系统。

一句话:LLM 提供推理与生成,Agent 提供行动与闭环。


二、Agent 与传统 Prompt 应用的区别

维度传统 Prompt 应用Agent 应用
任务粒度单轮或少轮问答多步骤目标驱动
外部能力很少或固定按需调用多工具
状态管理基本无状态维护上下文、记忆、任务进度
失败处理用户重试具备重试、回滚、替代策略
结果形态一段文本文本 + 操作结果 + 结构化输出

这也是为什么 Agent 开发往往更像“后端系统开发”,而不仅是 Prompt 调优。


三、典型 Agent 架构

一个常见的工程化 Agent,通常包含以下模块:

  1. Planner(规划器)

    • 把用户目标拆成子任务(例如:先检索资料 → 再分析 → 再输出报告)
  2. Executor(执行器)

    • 实际执行步骤,调用工具或子 Agent
  3. Tool Router(工具路由)

    • 决定当前步骤该用哪个工具,并做参数校验
  4. Memory(记忆)

    • 短期记忆:当前会话上下文
    • 长期记忆:用户偏好、历史任务结论、知识沉淀
  5. State / Store(状态存储)

    • 记录任务状态、中间结果、重试次数、日志
  6. Guardrail(安全护栏)

    • 权限控制、敏感操作确认、输出合规检查
  7. Evaluator(评估器)

    • 检查结果是否达标,不达标则触发修正或重试

四、核心能力设计

4.1 规划与分解

Agent 要做复杂任务时,应先明确:

  • 目标是什么(输出格式、成功标准)
  • 子任务顺序(串行/并行)
  • 每个子任务依赖什么数据

可选策略:

  • 一步步规划(Plan-then-Execute):先出计划再执行,适合任务清晰、可审计场景
  • 边想边做(ReAct 风格):推理与行动交替,适合动态环境和探索型任务

4.2 工具调用

工具调用是 Agent 开发的关键。实践上建议:

  • 工具输入输出尽量结构化(JSON Schema)
  • 调用前做参数验证(类型、范围、权限)
  • 失败时提供重试策略与降级路径
  • 对副作用操作(写库、发消息、执行命令)加确认机制

4.3 记忆设计

可把记忆分三层:

  • 会话记忆:当前任务中的中间过程(短期)
  • 用户记忆:偏好、背景、长期目标(长期)
  • 知识记忆:文档、经验、SOP(通常通过 RAG/索引读取)

记忆要可追溯、可更新、可删除,避免“积累脏上下文”。

4.4 反思与纠错

成熟 Agent 不应一次失败就结束,通常要有:

  • 结果自检(是否满足约束)
  • 失败分类(工具错误、检索不足、推理错误)
  • 自我修正(补检索、换工具、重写方案)

这类闭环可显著提升复杂任务的稳定性。


五、Agent 开发流程(实战建议)

阶段 1:先做单任务 MVP

选一个高频且明确的场景,比如:

  • 文档问答 Agent
  • PR 变更解读 Agent
  • 日报/周报生成 Agent

先完成“从输入到可用输出”的闭环,不要一上来追求全能。

阶段 2:引入工具与数据

  • 接入检索(RAG)
  • 接入外部工具(API、数据库、文件系统)
  • 打通基础权限与审计

阶段 3:增加规划与状态管理

  • 拆分步骤
  • 记录状态与中间结果
  • 增加重试与超时控制

阶段 4:加评估与护栏

  • 结果质量评估(准确率、引用率、任务完成率)
  • 安全检查(敏感词、越权、数据泄露)
  • 人在回路(高风险步骤需人工确认)

六、与 RAG、MCP、Skills 的配合

  • RAG:解决“Agent 知识从哪来”

    • 在每个步骤前按需检索,减少幻觉
    • 参考文档可要求输出引用
  • MCP:解决“Agent 能调用哪些能力”

    • 通过标准协议接入工具与资源
    • 让 Agent 能跨系统执行动作
  • Skills / Agent Skills:解决“Agent 应该怎么做”

    • 把流程、规范、模板封装成可复用技能
    • 降低行为漂移,提高一致性

可以理解为:

  • RAG = 知识层
  • MCP = 能力层
  • Skills = 策略层
  • Agent = 决策与执行层

七、常见坑与规避

  1. 提示词堆砌但无状态管理

    • 规避:建立明确 state,记录每一步输入输出
  2. 工具很多但不会选

    • 规避:加工具路由与工具描述规范,限制默认可用集合
  3. 上下文爆炸

    • 规避:做上下文裁剪、摘要与优先级管理
  4. 无评估只看“感觉可用”

    • 规避:定义可量化指标(完成率、错误率、平均耗时)
  5. 高风险操作无护栏

    • 规避:权限分级 + 人工确认 + 操作日志

八、小结

  1. Agent 开发本质是系统工程:模型 + 工具 + 状态 + 护栏 + 评估
  2. 从单任务 MVP 起步,逐步增加工具、记忆、规划和评估,比一次性做“大而全”更稳。
  3. 工程落地重点不是“模型有多强”,而是“流程是否可控、可观测、可迭代”。
  4. 与 RAG、MCP、Skills 结合后,Agent 才能形成完整生产力闭环。

当你把 Agent 当成一个可演进的产品来做,而不是一个临时 Prompt,效果通常会发生质变。

Released under the MIT License.