Agent 工程师学习笔记
一、分层上下文(Layered Context)
1.1 四层架构
| 层级 | 内容 | 作用 |
|---|---|---|
| 系统提示词 | Agent的角色定义、行为准则 | 设定Agent的身份和能力边界 |
| 会话历史 | 用户与Agent的对话记录 | 维持对话连贯性和上下文理解 |
| 工具结果 | 动态调用外部工具获得的实时数据 | 提供实时信息和计算能力 |
| 知识库 | 预先构建的外部知识集合(RAG) | 提供专业领域知识,避免幻觉 |
1.2 工具结果 vs 知识库
工具结果(Tool Results)
- 记忆锚点:"现查现用的即时情报"
- 数据来源:外部实时API/服务
- 获取方式:Agent主动调用工具
- 时效性:实时最新
- 典型场景:查天气、股票、日期计算
知识库(Knowledge Base)
- 记忆锚点:"随身携带的百科全书"
- 数据来源:预先构建的向量数据库
- 获取方式:RAG系统自动检索
- 时效性:静态(需定期更新)
- 典型场景:查公司政策、产品文档、历史资料
1.3 混合使用场景
用户:"根据公司政策,我今年可以休几天年假?我去年10月入职。"
工具结果:【日期API】"今天是2026年6月23日"
知识库:【检索政策】"入职不满1年按比例折算:(入职天数/365) × 5"
计算:(267天/365天) × 5天 ≈ 3.65天 → 可休3天
二、思考链 vs 树状思考
2.1 链式思考(Chain of Thought, CoT)
特点:线性、单向、无分支决策
适用场景:简单、确定性任务,步骤明确
例子:取快递(顺利情况)
取件码 → 快递柜 → 输入码 → 取快递
类比:按菜谱做菜,步骤清晰按顺序执行
复杂度:O(n)
2.2 树状思考(Tree of Thoughts, ToT)
特点:分支、多路径、每个节点都可能产生决策点
适用场景:复杂、需要探索的任务,存在多种可能性
例子:取快递(考虑异常情况)
取快递任务
│
┌─────────┴─────────┐
▼ ▼
有取件码? 没有取件码?
│ │
┌─────────┴─────────┐ ┌──────┴──────┐
▼ ▼ ▼ ▼
去快递柜 去快递点 查物流 查微信
│ │ │ │
▼ ▼ └─────┬───────┘
输入取件码 找工作人员 ▼
│ │ 是否已签收?
▼ ▼ ┌─────┴─────┐
取出快递 获取取件码 ▼ ▼
│ │ 已签收 未签收
▼ ▼ │ │
完成 去快递柜 ▼ ▼
联系快递员 等待派送
类比:迷宫寻宝,遇到岔路口需要判断,可能走回头路
复杂度:O(2^n)
2.3 核心区别对比
| 维度 | 链式思考(CoT) | 树状思考(ToT) |
|---|---|---|
| 结构 | 线性、单向 | 分支、多路径 |
| 决策点 | 无或极少 | 每个节点都可能分支 |
| 适用场景 | 简单、确定性任务 | 复杂、需要探索的任务 |
| 计算复杂度 | O(n) | O(2^n) |
| 类比 | 单线程程序 | 多线程/分支程序 |
2.4 混合使用策略
简单步骤用CoT → 遇到决策点切换到ToT → 决策完成后回到CoT继续执行
三、单Agent vs 多Agent
3.1 单Agent
优势:
- 维护性好,逻辑清晰
- 反应速度快
- 实现简单
局限性:
- 容易出现幻觉
- 可能自证(编造证据)
- 能力边界有限
解决方案:
- RAG检索增强生成
- 工具调用验证
- 引用机制要求标注来源
3.2 多Agent
适用场景:
- 处理复杂多流程任务
- 需要多角色协作
- 高精度要求的场景
角色分工模式:
- 流水线模式:Agent A → Agent B → Agent C(顺序执行)
- 圆桌模式:多个Agent并行分析,汇总结果
- 监督模式:主Agent调度,子Agent执行,评审Agent验证
数据共享机制:
- 共享状态库(Shared State)
- 消息总线(Message Bus)
四、工程化落地
4.1 安全性
| 维度 | 关注点 |
|---|---|
| 输入安全 | 防止Prompt注入攻击 |
| 输出安全 | 内容过滤和合规检查 |
| 操作安全 | 工具调用权限控制 |
4.2 可维护性
- 组件化设计:提示词、工具、记忆存储分离为独立模块
- 配置化管理:通过YAML/JSON管理提示词,避免硬编码
- 自动化评估:使用LLM-as-a-Judge定期测试Agent性能
五、学习顺序建议
| 时间 | 内容 |
|---|---|
| 第1周 | 提示词工程基础(CoT, Few-shot) |
| 第2周 | 单Agent工具调用(Function Calling) |
| 第3周 | RAG与长期记忆(向量数据库) |
| 第4周 | 多Agent协同(角色分工与状态管理) |
| 第5周 | 工程化落地(评估与观测性) |
