大疆创新 AI Agent 开发面经:容错、Token 与后端基础

岗位:AI Agent开发 · 6 道题 · 更新于 2026-10-28

本场面试题

  1. 从零搭建 Agent 需要哪些核心模块?
  2. 工具或 API 异常时如何容错?
  3. 如何降低幻觉并优化 Prompt?
  4. Token 消耗过快怎样定位和优化?
  5. 上下文压缩丢失关键信息怎么办?
  6. Agent Skill 从设计到评估要考虑什么?

面经与参考答法

大疆创新 AI Agent 开发面经:容错、Token 与后端基础

这轮大疆创新 AI Agent 开发面试的日期在可见记录中写作 8 月 11 日,未注明年份。题目从 Agent 系统设计、Memory、容错、Prompt、Token、上下文压缩、Skill 和 Harness,延伸到线程池、JVM 与 MySQL 日志。

本页选录以下十五组技术主题;未展开项目是自主开发还是基于开源方案二次开发,以及项目挑战、个人职责、最终效果两组项目追问,未收录反问。短答、实现条件与架构方案均为教学补充,不代表作者当时的回答或实际成果。

(1)为什么选择 AI Agent 方向?

关联知识点待核实。

不要只回答行业热门。结合一个传统软件难以处理的开放任务,说明模型在语义理解和动态决策上的价值,再主动指出不确定性、成本和安全边界。最后用自己的项目证据说明选择:解决了什么问题、负责什么、效果如何、哪类场景仍不适合 Agent。

(2)AI 辅助开发工具怎样用得可靠?

关联知识点待核实。

用工具做代码检索、方案枚举、测试生成和小步实现,但需求、验收标准、权限与发布决策由工程流程控制。每次修改限制范围,先复现问题并增加失败测试,再审查 Diff,执行格式化、静态检查、类型检查和测试。对依赖升级、数据迁移和安全改动增加人工审批与回滚方案。

(3)从零搭建 Agent 需要哪些核心模块?

最小闭环包括任务与权限、模型适配、规划/路由、上下文与 Memory、工具注册与执行、状态机和终止条件。生产环境还需要结构化日志、Trace、评测集、成本预算、检查点、人工接管和审计。模块边界应围绕稳定契约设计,使模型、工具或策略可以替换,而不是围绕某个框架类名堆叠。

延伸阅读:Agent 系统架构。

(4)短期记忆和长期记忆分别适合什么场景?

关联知识点待核实。

短期记忆保存当前任务的消息、计划、工具结果和未完成事项,强调低延迟与任务隔离;长期记忆保存跨任务稳定事实、用户偏好和经验,强调来源、时间、权限、去重和版本。写入长期记忆前应提炼事实并判断是否值得保留;读取时按相关性、时效和可信度排序,过期或冲突内容不能直接注入。

(5)工具或 API 异常时如何容错?

先把异常分为参数错误、权限错误、限流、超时、服务故障和业务拒绝,并返回机器可判定的错误码。只对幂等、瞬时错误做限次指数退避;用超时、熔断、隔离舱和降级防止故障扩散。检查点记录已完成步骤与副作用,恢复时从安全边界继续。模型可以解释错误和提出替代计划,但不能绕过权限、无限重试或修改业务事实。

延伸阅读:工具超时与取消、Agent 失败恢复。

(6)让大模型自动分析和修复异常有什么利弊?

关联知识点待核实。

优点是能结合日志、代码和上下文处理长尾问题,并生成诊断假设;缺点是结论不稳定、可能误改、成本高且存在权限风险。安全方案是让模型只生成结构化诊断和候选补丁,在沙箱中复现并运行测试;低风险、可回滚且验证通过的动作才允许自动执行,高风险操作必须人工批准。

(7)如何降低幻觉并优化 Prompt?

先识别幻觉来自知识缺失、检索失败、上下文冲突、工具错误还是任务超出模型能力。使用权威证据、引用、结构化输出、外部校验和明确拒答降低风险;Prompt 应清楚定义目标、输入边界、优先级、示例和输出协议。规则越多不一定越好,冲突指令和无关上下文反而会降低稳定性。

延伸阅读:大模型能力边界、Prompt 基础。

(8)Token 消耗过快怎样定位和优化?

按任务、步骤和模型记录输入、输出、缓存命中、工具结果大小和重试次数,定位是历史消息膨胀、检索过量、工具大输出、循环失控还是子 Agent 重复上下文。优化手段包括预算分层、检索裁剪、引用大对象、前缀缓存、模型路由、摘要和重复动作终止。不能仅依赖压缩,还要修复导致无效循环的控制逻辑。

延伸阅读:LLM Token 预算。

(9)上下文压缩丢失关键信息怎么办?

将约束、决策、未完成事项、错误和证据索引保存在结构化状态,不参与自由摘要;对对话过程分层压缩,并保留原始内容的可追溯引用。压缩后执行事实与约束检查,必要时按当前步骤重新检索。摘要是缓存而不是唯一真相,关键信息必须能从权威存储恢复。

延伸阅读:上下文压缩。

(10)Agent Skill 从设计到评估要考虑什么?

Skill 需要明确触发条件、不适用条件、输入输出、工具权限、步骤、检查项和失败处理;脚本与模板作为受版本控制的资源复用。评估使用覆盖正常、边界和失败场景的冻结任务集,比较成功率、人工接管、耗时和成本。上线要灰度、监控和可回滚,不能只凭一两个 Demo 判断有效。

延伸阅读:Agent Skill 设计。

(11)怎样理解 Spec Coding 和 Harness,Harness 为什么有助于复杂任务?

关联知识点待核实。

Spec 把目标转成可验收的行为、约束和非目标;Harness 提供仓库上下文、工具、沙箱、测试、权限和反馈循环。两者结合后,模型不只“生成一段代码”,而是在可验证环境中持续缩小实现与规格的差距。规格必须独立于实现,并防止执行者通过修改测试或跳过检查来伪造成功。

(12)Java 线程池应掌握哪些执行细节?

关联知识点待核实。

提交任务后,线程数未达 corePoolSize 时创建核心线程;否则入队;队列满且未达 maximumPoolSize 时再建线程;仍无法接收则触发拒绝策略。设计时结合任务是 CPU 还是 I/O 密集、队列是否有界、背压、取消、异常可见性和优雅关闭。无界队列可能掩盖过载并导致内存问题。

(13)JVM 类加载流程是什么?

关联知识点待核实。

类经历加载、验证、准备、解析和初始化:加载获得字节码并生成 Class 对象;验证检查格式与安全;准备给静态变量分配并赋默认值;解析把符号引用转为直接引用;初始化执行静态赋值和代码块。类加载器通常遵循双亲委派,插件隔离等场景才会有意调整。

(14)undo log、redo log、binlog 与两阶段提交是什么关系?

关联知识点待核实。

undo log 保存数据修改前的逻辑信息,用于回滚和 MVCC;redo log 是 InnoDB 的物理重做日志,保证崩溃恢复;binlog 是 Server 层逻辑日志,用于复制和归档。事务提交时通过 prepare 与 commit 协调 redo log 和 binlog,使崩溃后两者保持一致,避免存储引擎已提交而复制日志缺失,或反之。

(15)怎样合并两个有序数组?

关联知识点待核实。

若目标数组尾部有足够空间,从两个数组末尾用双指针比较,把较大值写到目标末尾,可避免覆盖未处理元素,时间 O(m+n)、额外空间 O(1)。若要求返回新数组,则从头双指针写入新空间即可;要明确空数组、重复元素和剩余段复制等边界。

面经是候选人自述,解析为 Agent Journey 整理。更多大厂 AI / Agent 岗面经 · 按目标公司模拟面试