字节 Agent 开发实习一面:自进化与评测

岗位:agent开发 · 3 道题 · 更新于 2026-10-02

本场面试题

  1. 什么叫 Agent 自进化,产物是什么?
  2. 为什么要在沙箱里运行?
  3. 评测体系怎样和业务场景对齐?

面经与参考答法

字节 Agent 开发实习一面:自进化与评测

公司:字节跳动;岗位:Agent开发实习生;提问集中在自进化与评测;招聘场景:原帖标题为 29 届实习生;轮次:一面。帖子发表于 2026 年 8 月,未给具体面试日。

背景、经历及提问范围来自候选人自述,未独立证实。原题按可见记录归纳;各题下的答题思路为教学整理,不代表作者实际作答或企业标准答案。

教学演算:先走一次具体任务

这是教学例子,回答原帖“实际评测改进例子”的准备方法,不补造作者经历:用户要求只读订单o1;旧工具描述为“处理订单”,可能提出close_order(o1),运行时拒绝,任务失败。候选描述改为“read_order仅返回订单,不改变状态”,固定工具Schema仍只有read_order;同一测试夹具返回{status:paid,amount:100},预期正确引用结果、无写事件。候选若工具选对但答成未付款仍失败;其他失败和跨租户切片也必须检查。没有运行实验,不能给提升分数;文件快照也不撤销外部副作用。

同一原问涉及多个既有专题时,下方分列复习入口;它们不代表新增独立题目或面试流程。题后的回答均为整理教学,不是候选人现场作答。

(1)什么叫 Agent 自进化,产物是什么?

(1)什么叫 Agent 自进化,产物是什么?

“自进化”不能只说自动改 Prompt。它是一个受控闭环:从失败轨迹或业务反馈中发现问题,提出 Prompt、工具、记忆或策略候选,在隔离环境中评估,只有通过质量门禁的版本才发布。产物应是可版本化、可回滚的配置或代码,以及配套评测证据,而不是覆盖线上的不可追踪状态。

(2)高质量数据从哪里来,怎样判定?

(2)高质量数据从哪里来,怎样判定?

关联知识点待核实。

数据可以来自人工标注任务、线上失败抽样、专家示范、合成场景和历史回放。质量判断至少包含来源可信度、任务代表性、输入完整性、答案/判据正确性、难度分布、隐私合规与近重复检测。训练、调优和最终测试集需要隔离,避免拿见过的样本证明“进化有效”。

(3)为什么要在沙箱里运行?

(3)为什么要在沙箱里运行?

自进化会让模型尝试新代码和工具调用,风险比普通推理更高。沙箱应限制文件系统、网络出口、凭据、CPU/内存、运行时间和系统调用;测试数据使用最小权限的副本。沙箱降低爆炸半径,但不是绝对安全边界,宿主机仍需做审计、镜像供应链和纵深防御。

延伸阅读:代码执行、浏览器与文件操作沙箱。

(4)快照何时创建,怎样回滚?

(4)快照何时创建,怎样回滚?

关联知识点待核实。

在执行不可信修改前、完成一个可验证阶段后,以及切换候选版本前创建快照。快照要绑定输入、代码/配置版本、依赖镜像、随机种子和评测集版本。回滚不只是恢复文件,还要处理数据库、队列和外部 API 已产生的副作用;这些动作需要幂等键、补偿或隔离环境。

(5)Harness 层负责什么?

(5)Harness 层负责什么?

关联知识点待核实。

执行harness为Agent提供上下文、循环、工具、状态和执行边界;evaluation harness则把“被测Agent”与“测试环境”解耦:统一构造任务、注入工具与资源、采集轨迹、执行判分器、限制预算并生成可比较报告。它应支持同一任务在基线与候选版本上复现,从而判断提升来自真实能力还是评测漂移。

(6)评测体系怎样和业务场景对齐?

(6)评测体系怎样和业务场景对齐?

从真实用户任务抽样建立分层数据集,分别度量任务成功率、关键步骤正确率、工具参数正确率、幻觉/安全违规、延迟与成本。开放题可组合规则、执行结果、参考答案和模型裁判,但裁判也要做人工一致性校准。上线前离线回归,上线后小流量观察并把新失败沉淀回评测集。

(7)同一原问的复习入口(从零构建 Agent 运行时):评测体系怎样和业务场景对齐?

从真实用户任务抽样建立分层数据集,分别度量任务成功率、关键步骤正确率、工具参数正确率、幻觉/安全违规、延迟与成本。开放题可组合规则、执行结果、参考答案和模型裁判,但裁判也要做人工一致性校准。上线前离线回归,上线后小流量观察并把新失败沉淀回评测集。

延伸阅读:生产级 Agent 评估系统设计。

原帖还问模块间依赖:模型决策模块消费上下文,工具执行模块校验参数和权限,状态模块保存观察供下一轮决策,评测模块按固定判据读取轨迹和终态。原帖未披露其项目接口,以上是教学职责说明。知识导航:从零构建 Agent 运行时。

相关机制阅读(不计专题频次):发布质量门禁与回归阻断。仅阅读离线质量指标、失败切片和样本不足处理;原帖未问发布放行或例外审批。

(7)为什么用 Go 重写 Agent 组件?

(8)为什么用 Go 重写 Agent 组件?

关联知识点待核实。

合理理由可以是并发模型、部署体积、资源占用、静态类型和已有服务生态;“Go 更快”不能代替测量。重写时常见难点是动态 Schema 表达、流式调用、取消/超时传播、插件边界和可观测性。应先定义行为兼容测试,再逐模块替换,避免一次性重写导致语义漂移。

(8)怎样找到小于 n 的最大可组成数字?

(9)怎样找到小于 n 的最大可组成数字?

关联知识点待核实。

先尝试与 n 同长度:从高位到低位选择不超过当前位的最大候选;一旦某位选小,后续全部填最大数字。若后续无解,回退到前一位换成更小候选。若同长度仍无解,再用最大数字组成少一位结果。示例 A={1,2,4,9}, n=2533 得到 2499。实现时需澄清数字能否重复、是否含 0、是否允许等于 n。

面试口述与教学追问

口述要点:执行harness决定怎样跑,评测harness决定怎样验证;改进产物要版本化,用同输入和独立终态判据比较,平均分不能抵消越权,不能把示例说成亲历事故。

下面是模拟变条件追问,不是来源面经原题:

整理答案的核验资料

核验于 2026-10-02。LangGraph 为滚动文档;MCP使用2026-07-28规范,MySQL使用8.4。未声称执行了作者的项目或复现其面试。

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