AI 智能体开发(一):从概念到架构设计
导读:AI Agent 不是“更会聊天的大模型”,而是能在受控边界内规划、调用工具并完成任务的系统。你可以把这篇当成 AI Agent 架构设计流程来用:先判断是否需要 Agent,再设计工具、状态、权限和验证。
系列文章导航
你真的需要 Agent 吗?
很多项目不需要 Agent。普通 LLM 调用已经能解决摘要、改写、问答、分类等任务。Agent 适合的是“需要多步执行和工具调用”的任务。
| 任务 | 是否需要 Agent | 推荐方式 |
|---|---|---|
| 单轮摘要 | 不需要 | 普通 LLM 调用 |
| FAQ 分类 | 不需要 | 小模型/规则 + LLM |
| 查询数据库并生成报告 | 可能需要 | LLM + 工具调用 |
| 自动修复代码并跑测试 | 需要 | Agent + Git + 测试 |
| 下单、转账、删除数据 | 高风险 | Agent 只能给建议,必须人工确认 |
判断公式:
1 | Agent 价值 = 多步任务收益 + 工具调用收益 - 权限风险 - 调试成本 - 失败成本 |
如果只是为了“看起来高级”,不要上 Agent。
官方来源与核验规则
Agent 概念和框架很多,优先看 官方来源:
核验规则:
- demo 不等于生产;
- 任何工具调用都要有日志和权限;
- 高风险动作必须人工确认;
- 上线前必须用真实任务集测试;
- Agent 失败时必须能停止和回滚。
AI Agent 的定义
AI Agent 是一个围绕目标运行的系统,通常包含:
- LLM:理解任务和生成决策;
- Planner:拆解步骤;
- Tools:执行动作;
- Memory/State:保存上下文和状态;
- Guardrails:限制权限和风险;
- Verifier:检查结果是否达标。
普通 LLM 应用是“输入 → 输出”。Agent 是:
1 | 目标 → 观察 → 计划 → 调工具 → 获取结果 → 再计划 → 验证 → 完成/交给人 |
四层架构
1 | 用户入口 |
| 层 | 关键问题 |
|---|---|
| 用户入口 | 用户目标是否明确?是否需要确认? |
| Agent Core | 如何拆任务?何时停止? |
| Tool Layer | 能调用什么?权限多大? |
| Model Layer | 用哪个模型?成本和失败率如何? |
工具调用是 Agent 的核心风险
Agent 真正的能力来自工具,但风险也来自工具。
| 工具类型 | 风险 | 控制方式 |
|---|---|---|
| 读文件 | 泄露敏感信息 | 限制目录、脱敏日志 |
| 写文件 | 改坏项目 | diff + review |
| 数据库 | 数据损坏 | 测试库、事务、确认 |
| 网络请求 | 泄露上下文 | 域名白名单 |
| Shell 命令 | 破坏环境 | 命令 allowlist |
最小原则:只开放当前任务需要的工具。
记忆和状态
Agent 的 memory 不等于“什么都记住”。生产系统需要区分:
| 类型 | 内容 | 保存方式 |
|---|---|---|
| 短期状态 | 当前任务步骤、工具结果 | session state |
| 长期偏好 | 用户规则、项目约定 | profile / memory |
| 知识库 | 文档、FAQ、代码说明 | RAG / 数据库 |
| 审计日志 | 工具调用、错误、审批 | log system |
不要把所有历史都塞回 prompt。上下文越乱,Agent 越容易偏离目标。
设计第一个 Agent 的 checklist
- 任务是否真的需要多步执行;
- 工具有明确 schema;
- 每个工具有权限边界;
- 有最大轮数和超时;
- 有失败处理;
- 有人工确认节点;
- 有日志;
- 有验证标准;
- 有 fallback 或回滚。
示例:代码修复 Agent
1 | 输入:用户给出 bug 描述 |
这个 Agent 的成功标准不是“生成代码”,而是“测试通过、diff 可解释、影响范围可控”。
FAQ
Agent 和普通聊天机器人有什么区别?
聊天机器人主要回答问题;Agent 会围绕目标规划步骤、调用工具、根据结果继续执行。
第一个 Agent 应该做什么?
选低风险任务,例如文档总结、代码解释、生成测试建议。不要从支付、删除、生产数据库开始。
Agent 是否需要多 Agent 架构?
不一定。单 Agent + 明确工具 + 验证闭环,通常比多个角色互相聊天更可控。
总结
AI Agent 开发的第一原则是边界。先判断任务是否真的需要 Agent,再设计工具、状态、权限、验证和人工确认。能控制失败的 Agent,才有机会进入生产;只能跑 demo 的 Agent,还不算真正可用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 AJie's Blog!
评论

