Agent 系统高频题
本篇按面试题型组织:工具调用、记忆、规划失败、评测、安全。概念底座见 Agent 核心概念与架构;代码向落地见 工具调用与评测实践;记忆分层见 [Agent 记忆分层实践](/docs/ai/Agent/Agent 记忆分层实践);图编排见 [LangGraph 编排实践](/docs/ai/Agent/LangGraph 编排实践);单题深答见 Agent 面试专题。
工具调用 / ReAct
Q:模型怎么调工具?
A:暴露带 name / description / JSON schema 的工具列表;模型输出「调哪个 + 参数」;运行时执行后把结果塞回上下文再继续。
Q:ReAct 和「一次函数调用」差在哪?
A:一次调用适合单步;ReAct 允许多轮「想→做→看」,适合未知步数任务。
Q:LLM Agent 如何进行动态 API 调用?
A:OpenAPI 等契约转 function schema → 检索/规则裁剪 tool 面 → 模型选 endpoint 填参 → 受控 HTTP 执行与结果回灌。详见 [LLM Agent 动态 API 调用](/docs/ai/Agent/面试/LLM Agent 动态 API 调用)。
Q:LLM Agent 在多模态任务中如何执行推理?
A:仍是 ReAct;感知/观察含图音。路线一:VLM 原生读图 + ask_tool;路线二:screenshot/OCR/ASR 工具化后回灌。GUI 用 look-act-look。详见 [LLM Agent 多模态推理](/docs/ai/Agent/面试/LLM Agent 多模态推理)。
| 坑 | 表现 | 缓解 |
|---|---|---|
| schema 含糊 | 乱填参数 | 描述写清枚举/范围/必填 |
| 工具过多 | 选错工具 | 按场景裁剪工具面 |
| 无超时 | 卡死 | 超时、次数上限、人工接管 |
短期 / 长期记忆
| 类型 | 存什么 | 典型实现 |
|---|---|---|
| 短期 | 当前任务轨迹、近几轮对话 | 上下文窗口 / 会话 state |
| 长期 | 用户偏好、历史结论、知识 | 向量库、业务 DB、摘要写入 |
答法要点: 记忆不是无限加长 Prompt;要分层,真源数据优先放业务库而非「模型记得」。窗口 / 摘要 / 画像的写法见 [Agent 记忆分层实践](/docs/ai/Agent/Agent 记忆分层实践)。单题深答见 大模型长短期记忆机制。
Q:在大模型应用中,通常如何实现长短期记忆机制?
A:短期靠滑动窗口 + 会话 summary + Agent state;长期靠结构化画像与(可选)向量 episodic;业务事实查库。记忆 ≠ RAG。详见 大模型长短期记忆机制。
规划失败与重试
常见失败:目标含糊、工具报错、死循环(反复同一坏调用)、过早放弃。
| 策略 | 作用 |
|---|---|
| 最大步数 / 墙钟超时 | 硬终止 |
| 错误分类重试 | 网络可重试;参数错则改参或换工具 |
| 反思(reflection) | 把失败摘要写回再规划 |
| 降级 | 转人工 / 返回部分结果 |
Q:在 AI 超级智能体项目中,你如何解决 Agent Loop 可能出现的死循环问题?
A:四层防御——硬终止(max_steps/timeout/recursion_limit)→ 重复检测(同 tool+args、assistant 复读)→ 恢复(反思、改参、blocked 跳步)→ 人工/降级出口。详见 [Agent Loop 死循环治理](/docs/ai/Agent/面试/Agent Loop 死循环治理)。
评测怎么谈
| 指标 | 含义 |
|---|---|
| 任务成功率 | 端到端是否达成目标 |
| 轨迹质量 | 步数、无效工具调用比例 |
| 幻觉/事实性 | 关键断言是否有依据 |
| 成本延迟 | token、工具 RT、总耗时 |
答法: 「离线评测集 + 轨迹日志 + 线上抽样」;不要只说「看感觉」或「用 BLEU」。单题深答见 [AI 应用测试与效果评估](/docs/ai/Agent/面试/AI 应用测试与效果评估)。
Q:如何进行 AI 应用的测试和效果评估?
A:测试(Mock LLM、schema、权限)与评估(JSONL 评测集)分开;分层评检索/工具/端到端;Agent 看成功率+轨迹,RAG 看 Recall@k+拒答;离线 nightly + 线上 trace 抽样。详见 [AI 应用测试与效果评估](/docs/ai/Agent/面试/AI 应用测试与效果评估)。
安全与权限
- 最小权限:工具只能做岗位需要的动作
- 人审闸门:转账、删数据、对外发送等不可逆操作
- 输入输出过滤:防提示注入、防把密钥打进日志
- 租户隔离:检索与工具都带身份上下文
对比速查
| 对比 | 一句 |
|---|---|
| Agent vs RAG | RAG 补知识;Agent 补行动闭环 |
| OpenManus 是什么 | 开源 ReAct Agent 框架:四层继承 + ToolCollection + MCP + 可选 PlanningFlow |
| LangGraph vs GraphRAG | LangGraph 编循环;GraphRAG 建图索引 |
| 短期 vs 长期记忆 | 窗口内状态 vs 跨会话持久 |
| 成功率 vs 轨迹 | 结果对不对 vs 过程是否浪费/危险 |
面试速记
- 工具调用要素: schema + 执行器 + 结果回灌;要有超时与步数上限。
- 记忆分层: 短期轨迹/对话;长期用库或摘要,真源不靠模型硬记。
- 失败怎么办: 分类重试、反思、降级人工;必须有硬终止。
- 评测三件套: 任务成功率、轨迹、事实性(+ 成本延迟)。
- 安全底线: 最小权限、不可逆人审、防注入、租户隔离。