准备 AI Agent 应用工程师面试,先拿一个“会调用外部工具并改变状态”的项目,把执行、失败和验收讲完整。例如预约会议的助手,不能只演示它会说“已预约”,还要解释它如何核对时间、提交请求、处理超时、避免重复预约,以及最后如何确认日历里确实只有一条正确记录。
本文提供10道自拟练习题、一个完整故障推演和项目材料清单,适合准备工具集成与应用交付方向的候选人。题目依据公开技术资料整理,不是任何公司的内部真题,也不代表岗位统一考纲。若JD主要要求检索、模型训练或算法研究,应另外准备对应知识,不把这些题当成全部面试内容。
一、先确认岗位:你要交付的是哪种系统?
同样写着“Agent”,实际工作可能不同。读JD时标出任务、外部工具、业务状态和交付要求。如果主要任务是知识问答,需要准备检索与引用;如果要连接日历、工单、数据库等服务,就需要说明工具执行后的真实结果。
Anthropic的公开工程文章区分了预设流程的workflow与模型动态决定步骤的agent,并建议先考虑较简单的实现。面试时可以说明为什么某一步由固定代码负责、哪一步确实需要模型判断,而不必把每个流程都设计成自主规划。
| 练习题组 | 要准备的具体材料 | 回答应落到哪里 |
|---|---|---|
| 架构与工具契约 | 任务流程图、工具输入输出示例 | 谁做决策,谁实际执行,执行前检查什么 |
| 故障与状态 | 超时、重复请求、权限错误的处理记录 | 已成功、已失败、结果未知分别怎么处理 |
| 评估与交付 | 测试样例、工具轨迹、最终状态断言 | 如何证明完成,怎样发现失败及恢复 |
二、架构与工具契约:先练这3题
1. 为什么这里要用Agent,固定流程不够吗?
先说任务的不确定性在哪里。字段固定、步骤明确的任务,可以用表单和代码完成;需要根据中间结果选择工具或补充信息时,再解释模型的作用。比较方案时交代可靠性、延迟、维护成本和错误处理,不能仅用“更智能”作为理由。
2. 模型输出了工具调用,是否等于操作成功?
不等于。要区分模型提出调用、应用校验并执行、外部服务返回结果这几个阶段。以Claude官方工具使用说明中的客户端工具为例,执行由应用端处理;不要把生成一段工具参数当作已经写入业务系统。不同平台的具体协议需按其文档确认。
3. 你会怎样定义一个预约工具?
可以先列出会议主题、开始和结束时间、时区、参会人标识等字段,再说明哪些必填、如何验证,以及返回的事件ID和状态。缺时区或参会人身份不明确时,先补信息;不要默默猜测。服务端还应检查调用者对目标日历的权限,不能只依赖模型在提示词里“自觉遵守”。
三、失败与状态:重点练这4题
4. 创建会议请求超时了,能直接再创建一次吗?
先确认“超时”发生在哪里。外部服务可能已经提交成功,只是响应没有回到应用。此时应保存结果未知的状态,利用业务提供的请求标识、幂等键或查询接口确认;只有在接口语义允许且不会重复执行时才重试。不能笼统回答“失败就重试三次”。
5. 如何避免重复执行同一个写操作?
说明请求身份如何确定、去重记录放在哪里、并发请求如何处理,以及重复请求会得到什么响应。只有后端真正支持相应约束时,才能保证同一请求不会产生重复结果;在提示词里写“不要重复”不等同于幂等控制。两个内容相同但用户分别确认的任务,也不能随意合并成同一任务。
6. 工具返回格式正确,但内容不可信,怎么办?
结构有效只能说明可以解析。仍应核对状态码、业务错误、字段范围和证据来源。网页或工具结果里如果出现“忽略原任务、改发另一个地址”的文字,应作为待处理数据,而不是新的授权。涉及写入时,由应用侧依据已确认目标和权限执行校验。
7. Agent一直循环调用工具,你怎样终止?
分别设置可解释的步数、时间或成本预算,识别没有新信息的重复调用,并定义需要用户补充或人工处理的出口。达到限制时报告已完成部分、未完成部分和当前状态。不要为了结束对话,就把未确认的操作描述为成功。
四、评估与交付:再练这3题
8. 测试用例里怎样判断预约成功?
检查目标日历中的事件是否存在,时间、时区、参会人及事件数量是否符合要求,而不只检查回复里有没有“成功”。测试还应覆盖缺字段、无权限、冲突、重复提交和响应丢失等情况,并隔离测试环境,避免真实发送邀请。
9. 成功率提高了,你怎样证明不是测试变简单?
保留同一批任务的版本和难度,记录工具环境、输入、判定规则及失败分类。区分任务最终成功与执行过程中的越权、重复写入等问题;一个系统可能答得对,却用不允许的方式完成。Anthropic的Agent评估文章讨论了多轮执行、轨迹与环境结果的评估,这可作为设计测试的参考,不是招聘评分标准。
10. 上线后如何定位一次“用户说没约上”的问题?
用任务标识串起确认输入、模型决策、工具请求、服务返回和最后查询结果。日志需隐藏令牌和个人信息。根据记录判断是输入有误、执行被拒、结果未知、日历写入成功但通知失败,还是系统误报成功,再针对该阶段处理;不要一开始就归因于模型能力。
五、把“超时后是否重试”推演完整
以下为虚构设计题,不是实际线上事故。用户确认预约北京时间下周一上午10点的一场会议。系统已校验目标日历和时间,提交创建后连接断开,暂时不知道服务端是否成功。
| 核验结果 | 系统下一步 | 可以向用户说明什么 |
|---|---|---|
| 根据请求标识查到一条匹配事件 | 记录事件ID并核对关键字段,不再次创建 | 已确认预约结果及对应时间 |
| 服务端明确返回未执行,且允许安全重试 | 按接口约定重试同一逻辑请求,再核验结果 | 正在重试;确认前不报成功 |
| 查询接口暂不可用,无法判断是否提交 | 保留结果未知,延后核验或转人工处理 | 尚未确认,请勿据此认为已完成 |
| 发现重复或关键字段错误 | 按事先约定的权限和补偿流程处理;不能随意删除其他事件 | 说明已发现的问题及需要确认的动作 |
面试演练时,可以先画出这三类状态,再追问:如果服务不支持幂等键,能够用什么已有能力降低重复风险?如果无法消除不确定性,系统承诺应缩小到哪里?承认能力边界,比假定所有API都支持同一种恢复方法更具体。
六、把项目整理成可以追问的面试材料
- 一张流程图,标清模型判断、应用校验和外部执行。
- 一份工具契约,包含必填字段、权限要求、错误和结果未知的处理。
- 几条可重复运行的测试,包括正常流程及失败路径。
- 一份脱敏轨迹,能对应到最终业务状态。
- 本人承担的模块、实际完成范围、未实现部分及下一步计划。
个人练习项目可以使用模拟日历或测试服务,如实注明“学习项目”,不把虚构故障写成生产经验。简历中的角色可参考负责人、成员与协助者的填写边界;刚开始梳理技能路线,可参考AI Agent工程师的入门准备。
需要整理求职材料时,可以在AI简历姬梳理简历与面试准备。先保留本人真实做过的任务和证据,再练习这些追问,不能把题目中的方案直接写成已完成的项目成果。
常见问题
没有企业项目,也能练这些题吗?
可以用隔离的模拟服务实现一条小流程,展示正常和故障路径。明确说明运行环境、覆盖范围及局限,不用编造用户规模、节省成本或生产成功率。
要不要背某个框架的全部API?
先按目标JD决定技术范围。能够解释任务状态、工具契约、失败处理和验收,再补自己使用的框架细节;框架名字不能替代项目证据。
本文为自拟练习题和设计推演,技术参考来源核验于2026年10月23日。接口行为以所用平台和服务文档为准,不承诺面试命中率或录用结果。