Files
zhuangang/topics/ai/agent-design/interview.md
T

68 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: ai.agent-design.interview
title: Agent 设计面试题
type: interview
domain: ai
stack: [agent-design]
tags: [ReAct, 规划, 上下文工程, 多 Agent, A2A, 面试]
level: advanced
related: [ai.agent-design.react-planning, ai.agent-design.context-skills-multiagent]
week: [11, 13, 16]
---
# Agent 设计面试题
## 基础
### 【基础】什么是 Agent?和普通的大模型调用有什么区别?
**参考答案**:Agent 是由大模型决定执行步骤的系统:根据目标和当前观察,选择调用工具、获取结果、继续决策,直到完成。普通调用是单次输入输出;工作流是代码固定步骤、模型完成其中的环节。Agent 更灵活,但更难控制和评测。
**追问**:你的项目为什么用 Agent 而不是工作流?→ 按实际说明哪些环节步骤不固定、需要模型决策;哪些环节固定成了工作流。
### 【基础】ReAct 是什么?
**参考答案**:Reasoning + Acting:模型交替进行推理和行动(调用工具),根据工具返回的观察结果继续推理,直到得出答案。现在基于原生工具调用的 Agent 循环就是 ReAct 的工程实现。
**追问**:ReAct 的缺点?→ 每一步都要调用模型,长任务成本高、容易偏离目标;需要最大步数和更好的规划。
### 【基础】什么是上下文工程?
**参考答案**:设计和管理每次模型调用时上下文窗口中的内容:系统提示词、工具、检索结果、历史、记忆、任务状态。手段包括选择相关内容、压缩、用子 Agent 隔离、把信息外部化存储后按需读取。
**追问**:上下文越长越好吗?→ 不是。无关信息会干扰模型、增加成本和延迟;关键信息放在显眼位置,长上下文中间的内容容易被忽略。
## 进阶
### 【进阶】Plan-and-Execute 和 ReAct 怎么选?
**参考答案**:步骤可以提前规划、需要给用户确认或展示进度的任务,用 Plan-and-Execute(执行阶段还能用便宜模型);需要根据每一步结果动态调整的探索性任务,用 ReAct。也可以结合:先规划,执行中每一步用 ReAct,失败时重新规划。
**追问**:计划执行到一半失败怎么办?→ 把具体错误和已完成步骤反馈给规划器重新规划,已完成的步骤不重复执行;设置最大次数。
### 【进阶】什么是 Skills?解决什么问题?
**参考答案**:把某类任务的说明、规范、脚本打包成目录,系统提示词中只放名字和描述,需要时加载全文(渐进式披露)。解决“专业知识太多放不进上下文”的问题,也便于团队沉淀和复用工作流。
**追问**:Skills 和 RAG 有什么区别?→ RAG 按相似度检索知识片段;Skill 是完整的操作说明,由模型根据描述决定是否加载,更像“按需打开的操作手册”。
### 【进阶】多 Agent 有哪些模式?什么时候用?
**参考答案**:主管模式(分派和汇总)、转交模式(按领域转给专门的 Agent)、流水线。在需要上下文隔离、专业分工、并行处理时使用;代价是成本、延迟、信息丢失和调试难度,能用单 Agent 解决的不拆。
**追问**:A2A 和 MCP 有什么区别?→ MCP 是 Agent 调用工具和数据的协议;A2A 是不同 Agent 之间协作的协议(Agent Card 描述能力,Task 有状态)。
## 场景题
### 【场景题】设计一个运营报表 Agent,你会怎么做?
**参考答案**:固定流程 + 局部 Agent;指标口径作为 Skill;SQL 工具连只读库,用解析器限制只读和表白名单,强制时间范围、LIMIT、超时;结论结构化输出,数字必须来自查询结果;任务状态和进度通过 SSE 推送。详见[报表 Agent 场景](scenarios/report-agent.md)。
**追问**:用户问的指标没有定义怎么办?→ 不猜,回复“该指标没有统一口径”,引导用户选择已有指标或联系数据组。
### 【场景题】Agent 接入了 40 个工具,经常选错,怎么优化?
**参考答案**:先用评测集确认错误类型;优化工具描述(何时用 / 何时不用);按意图分组,每次只提供相关工具;把相关工具合并或拆分到子 Agent;规范改成 Skills 按需加载;修改后用评测集验证。
**追问**:怎么评估工具选择的准确率?→ 评测用例标注期望调用的工具和参数,统计工具选择正确率和参数正确率。