确定性的步骤交给普通代码
Move deterministic loop steps into code
输入已完全决定结果的步骤用代码处理,只让模型判断有歧义的部分。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
Agent 重复处理发票行,既做固定币种归一和求和,也解释不清楚的描述。教学行 I1=usd/100 分、I2=USD/250 分、I3=EUR/300 分;规则只允许 USD/EUR,按币种分别求和,不做换汇。I2 的 service、I3 的 fee 分类还需要合同背景。
具体做法
盘点每个调用点的职责,判断完整输入和规则是否已确定输出。把固定格式、过滤和算术交给可测试代码,保留输入校验;将真正需要解释的描述与必要资料交给判断环节。缺政策的结构化字段也可能需要判断,不能只看数据形状就删除模型步骤。
反例
每条教学行都让模型重复把 usd 变 USD并算总额,再凭同一描述字符串强行给出业务分类,不检查规则或合同。
改进写法
按教学规则用普通代码归一允许币种、校验整数分并分别求和;预期 USD=350、EUR=300,不混加或换汇。将 service/fee 的分类与所需合同背景单独交给判断步骤,资料不足保持未定。记录原模型调用点哪些被代码替代、哪些判断仍需保留,并验证机械结果和残余输入。
为什么这样改
重复生成确定结果增加不必要的解释步骤,而代码能明确验证固定规则。职责分开后,机械处理和实际业务歧义分别有检查对象,不因“全改代码”而把未知分类硬编码。
如何验证
教学校验比对 USD 350、EUR 300;不支持币种或非整数金额按输入契约报错。分类没有合同依据时保留未知,不把求和通过当分类通过。
检查调用点映射完整,并没有删掉真实的判断需求或遗漏错误处理。本篇没有处理真实财务记录。
适用边界
确定性需要完整的政策和输入;实际货币精度、最大值和分类规则按项目定义。来源的一次模型调用是其优化建议,不能作为所有工作流固定数量;本例不证明成本或效果下降。