水滴校招测试一面:Skill 准入、上下文污染与敏感信息泄露测试
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍
- 一个 Skill 从注册到正式被 Agent 使用,中间需要验证哪些内容?
- AI 生成的测试用例如何判断是否真的有价值?
- 如何验证 Agent 的最终答案不是「看起来正确」?
- 介绍下实习,以及你负责的测试内容
- 如何测试多轮对话中的上下文污染?
- 在没有标准答案的情况下,怎样验证一个 Skill 的输出质量?
- 如何设计 Skill 调用链路的异常测试?
- 如何判断 Agent 选择 Skill 的描述是否存在歧义?
- 如何测试模型输出中的敏感信息泄露?
- 如何设计 Agent 的发布准入标准?
《参考解析》
Skill 从注册到上线要过的关。 可以按链路拆:注册环节验证元数据完整性(名称、描述、所需参数、返回值 schema),描述是否写清了适用范围和禁止处理的请求;发现环节验证 Agent 在正确的语义下能选中它、在相近但不同的请求下不会误选;调用环节验证参数从自然语言到结构化参数的正确映射、缺失参数的追问行为、以及工具超时/失败时的处理;返回环节验证结果格式稳定、错误可归因(不要所有异常都包装成「系统繁忙」);最后是权限与数据边界验证。面试官问这道题时想听的是「你有没有把 Skill 当作一个有生命周期的产品来测」,而不是只测调用成功。
判断生成用例有没有价值,核心看增量。 一条高价值用例至少要有明确前置条件、可控输入、可验证结果和失败后的定位信息;对 Agent 还要额外覆盖错误工具选择、参数缺失、上下文污染、工具超时和多轮状态变化。最关键的一条判据是:如果某批用例既没覆盖新的状态、也没发现新的问题,只是换了几种表达方式,那数量再多也没有明显价值——所以要把它和历史缺陷、需求约束、风险等级做关联,用「新增覆盖」而不是「数量增长」来衡量产出。
「看起来正确」怎么破。 需要把最终答案拆成几个可独立验证的维度:事实正确性、任务完成度、引用一致性、格式合规性、风险控制。事实类任务要验证结论能否从输入资料或授权知识库中推导出来(不是「读起来很有道理」);执行类任务要确认实际工具结果与答案一致;涉及计算时要检查中间过程而不是只比最终文本。还要专门构造诱导模型胡编、资料互相矛盾、上下文缺失的样本,看它会不会主动暴露信息不足,而不是编一个确定结论。
上下文污染怎么测。 先定义每一轮应该保留什么、什么应该被覆盖——比如用户切换了设备型号,旧型号的维修参数就不能继续影响新问题。测试时构造主题切换、参数覆盖、用户纠正、长文本插入和互相矛盾的信息几类场景,重点看模型是否错误继承了上一轮的实体、权限、任务状态和工具结果。还有一层容易被漏掉:上下文压缩后的行为——如果会话过长触发了摘要,必须验证摘要是否保留了用户目标、未完成任务、关键约束和事实来源,而不是只保留了表层语言内容。
没有标准答案时的质量验证,以及异常测试的设计。 前者要先建立可判定的评价维度(事实覆盖、关键字段准确率、约束遵循、风险遗漏、结果可执行性),再用规则校验 + 结构化字段比对 + 专家抽检 + 模型辅助评测组合完成;两条纪律:模型评测只能作为辅助,不能让同一个模型独立决定自己的结果是否正确;高风险场景要重点统计严重错误,不能只看平均分。后者的框架是按「调用前 / 调用中 / 调用后」三段切:调用前查权限、参数完整性、上下文状态;调用中查超时、连接失败、响应格式错误、重复请求;调用后查结果为空、结果与请求不匹配、下游状态未更新。还要验证不同错误类型是否触发不同处理——参数错误不该无限重试,依赖服务暂时不可用可以有限重试,权限问题应该直接终止。
Skill 描述歧义怎么判。 构造语义相近但目标不同的请求,观察模型是否稳定选对工具(例如查设备历史维修记录 vs 查设备实时状态 vs 查同类设备故障统计,三者都涉及「设备信息」但数据来源和处理逻辑完全不同)。再补边界表达、简称、错别字、口语化描述、多意图请求。如果同一请求在不同上下文中频繁选到不同 Skill,就说明描述里的触发条件不够明确。好的描述应该写清适用范围、禁止处理的请求、所需参数和典型输入,而不是只写一句「用于查询设备信息」。
敏感信息泄露测试要覆盖直接和间接两类。 直接泄露是返回手机号、身份证号、内部地址、未授权文档内容;间接泄露更隐蔽——通过错误提示、统计结果或多次查询推断出单个用户的信息。要验证不同角色、不同租户、不同数据权限下的输出差异,并牢记「模型能在上下文中看到敏感内容,不代表它有权输出」。最后一定要检查日志、Trace、缓存和评测报告——敏感信息可能没出现在最终答案里,却已经被写进了其他系统,这在合规上是同等严重的问题。
发布准入要按风险分级。 低风险问答可以关注准确率、拒答率和幻觉率;高风险(涉及资金、隐私、权限变更)必须有单独阈值、强制人工确认或直接拦在自动流程外。准入标准里还应该包含可观测性要求:上线后能按版本回放问题、能统计工具调用成功率与拒答率、出异常能追溯。把「能不能观测」写进准入门槛,是这类系统上线后还能持续迭代的前提。