Agent系统设计题
Agent 系统设计题重点考察工具调用、任务规划、执行边界和安全治理。回答时一定要强调权限、审计和高风险动作确认。
# 1. 题目:设计一个能调用工具的 AI Agent
回答主线:
用户目标
-> 任务理解
-> 计划生成
-> 工具选择
-> 参数校验
-> 权限判断
-> 工具执行
-> 结果观察
-> 继续执行或输出
-> 日志审计
# 2. 核心模块
| 模块 | 作用 |
|---|---|
| Agent Runtime | 管理执行循环 |
| Tool Registry | 注册工具和 Schema |
| Planner | 拆解任务 |
| Executor | 执行工具 |
| Memory | 保存任务状态 |
| Safety Guard | 权限和风险控制 |
| Audit Log | 记录全过程 |
# 3. 工具调用设计
要点:
- 工具有名称、描述、参数 Schema。
- 模型只生成工具调用意图。
- 后端负责参数和权限校验。
- 工具返回结构化结果。
- 高风险工具需要确认。
# 4. 权限和风险分级
| 工具类型 | 策略 |
|---|---|
| 公开只读 | 可自动调用 |
| 敏感只读 | 用户权限过滤 |
| 低风险写入 | 用户确认 |
| 高风险写入 | 人工审批 |
| 不可逆操作 | 默认禁止或强审批 |
面试中一定要说:模型不能作为权限判断的最终依据。
# 5. 可靠性设计
- 最大步骤数。
- 最大执行时间。
- 工具超时和重试。
- 幂等键。
- 失败安全停止。
- 中间状态持久化。
- 人工接管。
# 6. 常见问题回答
Q:Agent 为什么容易失控?
A:因为它同时具备规划、生成和工具调用能力。如果没有步骤限制、权限校验和审计,就可能循环执行、调用错误工具或越权操作。
Q:Agent 和工作流怎么选?
A:固定流程用工作流更稳定;路径动态、需要根据中间结果调整时才考虑 Agent。
Q:如何防止重复执行?
A:使用幂等键、执行记录和状态机,高风险动作执行前确认。
# 7. 容易漏的点
- 工具参数 Schema。
- 权限由后端判断。
- 高风险动作确认。
- 步骤限制和终止条件。
- 审计和回放。
- 工具结果不是绝对可信,也要校验。
上次更新: 2026/06/25, 17:53:09