AI AGENT
AI Agent面试题怎么准备?重点是可控地完成任务
Agent不是给大模型接几个工具就完成了。面试中应讲清任务如何分解、工具如何约束、状态如何保存、失败如何恢复,以及怎样证明系统在真实场景中既有效又安全。
AI Agent是什么?
AI Agent通常是由模型、指令、工具和运行时共同组成的任务执行系统。模型根据当前状态选择下一步行动,工具连接外部数据或执行动作,运行时负责状态、循环、权限、超时、重试和观察,直到任务完成、失败或需要人工介入。
ReAct论文探索了推理与行动交错的方式:模型根据观察更新计划并调用外部环境。实际系统不必暴露或保存模型内部推理文本,重点是能记录可审计的输入、工具选择、参数、结果和状态变化。
工作流和Agent有什么区别?
| 类型 | 路径 | 优势 | 风险 |
|---|---|---|---|
| 确定性工作流 | 代码预先规定 | 易测试、延迟和权限可控 | 难适应开放任务 |
| 带模型的工作流 | 关键步骤固定,局部由模型判断 | 平衡灵活性与可控性 | 分支仍需充分评测 |
| 自主Agent | 模型动态选择步骤和工具 | 可处理路径未知的任务 | 循环、越权、成本和错误传播 |
面试中的成熟回答不是“Agent一定更先进”,而是说明什么时候固定工作流已经足够。高频、规则清楚、风险高的流程通常应尽量确定;只有任务路径难以预先枚举、收益足以覆盖风险时,再增加自主决策。
一个可落地Agent有哪些组件?
- 任务入口:解析目标、约束、截止条件和用户权限。
- 模型与策略:决定下一步、生成结构化工具参数或请求澄清。
- 工具层:用清晰schema定义输入输出,执行检索、查询或外部动作。
- 状态:保存当前任务、已完成步骤、工具结果和错误,不等同于把全部对话无限累积。
- 控制器:限制循环次数、预算、超时、重试与终止条件。
- 安全边界:鉴权、最小权限、参数校验、人工确认和审计。
- 可观测性:记录每一步耗时、错误、模型版本、工具调用和最终结果。
LangGraph官方文档用状态、节点和边描述有状态工作流,并强调持久化、人工介入和调试能力。这是一种实现思路,不是Agent的通用定义,也不是所有项目必须选择的框架。
工具调用怎样保证安全?
模型输出的工具名称和参数都应视为不可信输入。系统必须在执行层重新鉴权、校验参数、限制资源范围。读取天气与删除数据的风险完全不同,工具权限不应共享一套默认策略。
- 只暴露完成任务必需的工具和字段。
- 读操作与写操作分离,敏感写操作要求明确确认。
- 使用幂等键避免超时重试造成重复扣款、重复发信或重复写入。
- 对URL、文件路径、数据库条件和命令参数使用白名单与结构化校验。
- 工具返回内容也可能包含提示注入,不能自动提升为系统指令。
- 记录谁在什么上下文授权了哪次操作,并提供撤销或补偿路径。
安全边界:自然语言约束不能替代服务端权限。NIST的生成式AI与Agent安全资料强调持续风险管理;涉及资金、账号、隐私或外部消息时,应默认采用最小权限和人工确认。
状态、记忆和上下文有什么区别?
| 概念 | 保存内容 | 常见问题 |
|---|---|---|
| 运行状态 | 当前步骤、工具结果、错误、预算 | 并发覆盖、无法恢复、重复执行 |
| 短期上下文 | 本次任务需要给模型的信息 | 无限增长、重点被淹没 |
| 长期记忆 | 跨任务复用的用户偏好或事实 | 过期、隐私、错误写入 |
| 审计日志 | 动作和决策的可追溯记录 | 敏感数据泄露、无法关联请求 |
持久化不是越多越好。应定义每类数据的用途、保留时间、访问权限和删除方式。恢复时还要判断上一步是否已经产生外部副作用,不能简单从失败节点重复执行。
Agent卡住或反复调用工具怎样排查?
按“目标—状态—决策—工具—终止”顺序还原轨迹。先确认任务目标是否清楚,再看模型拿到的状态是否完整、工具反馈是否可判定成功,以及终止条件是否能被触发。
| 现象 | 常见原因 | 控制措施 |
|---|---|---|
| 重复调用同一工具 | 结果没有写入状态或成功条件模糊 | 幂等键、状态归约、最大次数 |
| 工具参数反复报错 | schema含糊、示例不足、校验反馈不清 | 严格结构、可操作错误、有限重试 |
| 任务越做越偏 | 目标漂移、上下文噪声、工具过多 | 阶段目标、上下文压缩、工具路由 |
| 中断后重复执行 | 检查点与副作用状态不一致 | 事务边界、幂等、补偿操作 |
| 成本不可控 | 无预算和终止条件 | 词元/步骤/时间预算与降级 |
Agent如何评测?
最终答案分数不足以解释Agent系统。评测应覆盖任务成功率、步骤效率、工具选择、参数正确性、恢复能力、安全违规、延迟和成本。对有外部动作的任务,还应在沙箱中检查副作用是否符合预期。
- 建立正常、歧义、工具失败、权限不足和恶意输入用例。
- 定义完成、部分完成、拒绝和人工接管的判定规则。
- 检查轨迹,但不要要求模型输出私有思维过程;关注可观测动作与状态。
- 按模型、工具和流程版本保存回归结果。
- 上线后监控循环次数、失败节点、重试和人工接管率。
常见问题
多Agent一定比单Agent好吗?
不一定。多Agent增加角色隔离和并行可能性,也增加通信、状态、延迟和错误归因成本。只有任务天然可分且单体边界已经清楚时才值得评估。
Agent为什么需要人工介入?
当信息不足、动作不可逆、风险超出阈值或策略冲突时,人工确认是正常控制机制,不是系统失败。
怎样避免无限循环?
设置明确终止状态、最大步骤、时间和费用预算;识别重复状态;失败后选择降级、澄清或人工接管。
没有Agent项目经验怎么回答?
区分亲自做过与理论设计。可以基于真实工作流说明如何加入模型决策、工具约束和评测,但不要声称不存在的线上结果。
来源与适用范围
推理与行动模式参考 ReAct;状态化编排概念参考 LangGraph官方Graph API说明;风险边界参考 NIST生成式AI风险管理资料。框架文档只代表一种实现,面试回答应结合具体任务、权限和失败成本;来源与面试稳不存在合作关系。