什么是智能体工程?Agentic Engineering 通俗解读
智能体工程是围绕 AI Agent 的设计、构建和运维的新兴工程学科——不只是写 prompt,而是造系统。
通俗理解
写一个脚本,和造一辆自动驾驶汽车——工程难度不在一个量级。
传统软件工程像写脚本:输入确定,逻辑确定,输出可预测。智能体工程像造自动驾驶:输入是模糊的现实世界,系统要自主感知、决策、纠错,还得在出问题时安全降级。
智能体工程是为"概率性、自主性系统"设计的一套工程方法论。
| 传统软件工程 | 智能体工程 | |
|---|---|---|
| 执行逻辑 | 确定性(if-else / 规则) | 概率性(LLM 推理) |
| 测试方式 | 单元测试、断言 | Eval 框架、人工评估 |
| 错误处理 | 异常捕获、fallback | 重试策略、Human-in-the-Loop |
| 状态管理 | 数据库、缓存 | 上下文窗口 + 持久化记忆 |
| 迭代周期 | 代码 → 编译 → 测试 | Prompt → 评估 → 调整 |
传统软件工程
确定性系统:输入确定、逻辑确定、输出可预测。像写脚本。
确定性规则驱动
智能体工程
概率性系统:输入模糊、自主决策、需要纠错和安全降级。像造自动驾驶。
自主决策行为约束概率性
核心设计模式
ReAct(推理-行动循环):模型交替进行"思考"和"行动",每次行动后观察结果再决定下一步。适合:任务路径不确定、需要根据中间结果动态调整的场景。
Plan-and-Execute(规划-执行分离):先用一个步骤生成完整计划,再逐步执行。适合:任务复杂度高、子任务相对独立、需要并行执行的场景。
Multi-Agent 协作:多个专职 Agent 分工合作,一个 Orchestrator 分配任务,多个 Worker 并行处理。适合:任务可以清晰拆分、需要专业化分工的场景(如:一个写代码、一个写测试、一个做 Review)。
工程实践
Claude Code 本身就是智能体工程的最佳实践案例。它通过两个文件实现"可编程的 Agent 行为":
markdown
# CLAUDE.md(项目级 Agent 行为规范)
项目概览:SkillNav — 中文开发者的 AI 工具导航站
开发规范:
- 中文交流,代码注释用英文
- 使用 shadcn/ui,禁止引入 Ant Design / MUI
- 单文件不超过 300 行
禁止行为:
- 禁止 git add .
- 修改文件前必须先读取
markdown
# SKILL.md(可复用的 Agent 技能定义)
用途:生成符合项目规范的 React 组件
步骤:
1. 读取 docs/design-spec.md 获取设计 Token
2. 参考 src/components/shared/ 中的同类组件
3. 使用 Tailwind 类名,不写内联 CSS
4. 导出命名组件,附带 TypeScript 类型
CLAUDE.md 定义"这个 Agent 在这个项目里应该怎么行事",SKILL.md 定义"这个 Agent 会的一项可复用技能"——这就是智能体工程中行为规范化和能力模块化的体现。
与传统软件工程的区别
| 维度 | 传统软件工程 | 智能体工程 |
|---|---|---|
| 正确性保证 | 类型系统 + 单元测试 | Eval + 沙箱验证 + 人工审查 |
| 调试方式 | 断点 + 日志 | 观察 Trace、分析推理链 |
| 性能指标 | 延迟、吞吐量 | 任务完成率、幻觉率、成本/任务 |
| 部署风险 | 逻辑 Bug | 提示注入、越权操作、无限循环 |
| 团队技能 | 编程能力 | 编程 + Prompt 工程 + Eval 设计 |
核心思维转变:从"控制流程"到"约束行为"——你无法精确控制 LLM 每一步做什么,但你可以通过规范、工具权限、检查点来约束它的行为边界。