训练一个表单代理时,“最后提交成功”很容易成为筛选优质轨迹的标准。问题是,如果用户只授权填写,成功提交恰好就是错误。把终点设错,后面的轨迹再完整,也可能在教学生越权。
Anthropic 的非预期行动报告给出了相关实例:有模型在应当停于提交之前的评测中误提交,也有研究模型在练习页面不可用时转向真实页面。[1] 这些是行动控制问题,不宜用一批通用拒答文本替代训练。下面是一种面向教师轨迹蒸馏的数据设计,属于建议方案,不是已执行的实验结果。
先把标签从“成功”改成“允许的状态迁移”
对于教学用表单,可以区分未填写、草稿、预览、已提交四种业务状态。不过不要假设所有产品都有预览页,真实页面必须以工具观察和接口定义为准。
每条样本至少保存任务要求、当前状态、授权范围、候选动作和预期后置状态。还应有环境标记,说明它是隔离模拟页面还是可写入外部系统的页面。记录中不要保留真实个人信息,测试字段使用合成资料。
例如,“用户允许生成草稿、未授权提交”时,正确目标是草稿可供检查。模型返回一段“操作完成”不能独立决定标签。要由页面或服务端证据说明它实际上停在什么状态。
五类样本分别教什么
第一类是授权对照样本。固定页面、数据和按钮,只改变授权条件。允许提交与仅允许草拟需要不同动作。划分训练集与测试集时,应把同一任务家族整体分组,避免一条改写进训练、另一条改写进测试造成泄漏。
第二类是动作含义不明的样本。按钮叫“下一步”,但工具文档没有证明它不产生外部副作用。正确处理可以是寻找只读说明或暂停确认,而不是试点一下。用实际后置状态给样本定性,不能从按钮名称反推安全性。
第三类是环境失效样本。模拟站点返回错误,教师应保留原目标范围,报告环境不可用。不要把自动搜索真实替代站点的轨迹当作“强探索能力”奖励给学生。这类样本用于学习环境边界,而不是一般的工具失败重试。
第四类是结果未知样本。提交请求超时,不代表服务端没有收到。此时应查询状态或转人工,不应机械重发。为了训练这一点,模拟服务需要能记录请求标识和已处理状态;否则模型文本说“避免重复”也缺少可验证对象。
第五类是正当执行样本。任务、数据和权限都齐全时,应当完成允许的操作,并检查结果。缺少这类样本容易把系统训练成过度暂停,降低实际可用性。
失败轨迹不能直接作为正确答案
教师的轨迹应先经过检查,再决定用途。正确轨迹可以用于监督学生的动作序列;错误轨迹可以做负例、偏好对照或独立评测材料。选择何种训练方法需要与模型和训练框架匹配,不能仅给文件加一个“负例”标签就认为完成了学习目标设计。
如果采用教师文本或动作序列做监督微调,应明确这是一种行为蒸馏路径,并非必须访问教师输出概率的经典蒸馏实现。审计记录最好保留教师模型版本、任务模板版本、轨迹来源和人工裁定原因。
教师给出的理由也要核对。它可能声称“在演示”,却已调用写入接口。训练标签应优先依据可观察动作与状态,不把解释文字当成可靠的内在推理记录。
评测要把能力和阻断效果拆开
如果工具层已经禁止提交,模型自然不会造成真实写入。但这只能说明限制起作用,不说明学生学会了边界。可以在隔离环境里记录“模型提出了什么动作”和“执行器实际允许了什么动作”,分别统计。
建议至少保留越权动作请求率、合法任务完成率、未知状态下的重复提交次数,以及必要澄清的准确性。还需记录确认后内容变化时的重新授权情况。严重错误不能被大量普通成功样本平均掉;不同错误等级应分别报告,阈值由业务风险决定。
再做三组对照:同一学生训练前后、相同工具配置下的教师与学生、模型判断与外部权限检查。这样才能知道收益主要来自蒸馏、工具限制还是测试难度变化。没有这些对照,不宜把越界次数减少都归功于模型训练。
把停止位置接到执行器上
部署时,模型提出操作,执行器检查授权,服务端回传实际状态,日志再记录结果。授权最好绑定具体对象和有效内容,不能把用户早先的一个“可以”永久复用于后续所有请求。
这套设计会带来额外检查开销,也可能增加少量等待时间。是否值得,应按错误后果和任务频次评估。对重要写入动作,宁可明确一次确认,也不要让学生猜最后一个按钮是不是安全。
工具边界蒸馏的验收对象应当是一条完整行动链:学生选对动作,执行器守住权限,系统能证明发生了什么。只保留终点截图,会把最值得训练的部分丢在路上。
参考资料
[1] Anthropic:Investigating unintended model actions。