首页 / 资讯中心 / 文章详情

把清结算需求交给Agent之前,先写好任务契约

把清结算需求交给Agent之前,先写好任务契约 ★ FEATURED ARTICLE
“按这个需求做清结算”不是一份足够安全的Agent任务。金额舍入、币种、重试和审批权限只要有一项没说清楚代码写得再像样也可能实现了另一个业务。我会先把任务压缩成一张可审核的契约。它不追求把业务百科都塞进提示词而是把这次修改的输入、约束和验收分开。输入先落到可复现的例子比如本次只实现人民币订单折扣后的应付金额金额以“分”的整数表示折扣以基点表示10000代表原价。契约明确不接外部支付不修改账期不引入浮点数非整分结果向下取整。向下取整在这里是教学规则真实结算必须由业务、财务共同确认。下面是完整的Python最小例子。它用整数乘除并在运算前拒绝不在契约里的输入尤其避免Python把布尔值当作整数接受。def payable(cents, basis_points): if type(cents) is not int or type(basis_points) is not int: raise TypeError(amount and rate must be integers) if cents 0 or not 0 basis_points 10000: raise ValueError(amount or rate out of range) return cents * basis_points // 10000 assert payable(10000, 9500) 9500 assert payable(101, 5000) 50 assert payable(0, 10000) 0 for args in [(-1, 9000), (1, 10001), (True, 9000)]: try: payable(*args) except (TypeError, ValueError): pass else: raise AssertionError(args) print(integer settlement example: passed)把禁止事项写成可检查边界一个可交给Agent的任务还需要说明允许修改哪些路径能运行哪些命令何时停止并交还给人。比如只允许改金额计算包和单元测试禁止读取生产凭证禁止执行迁移和付款请求。输出必须带Diff、测试命令和未覆盖项。Anthropic在10月20日发布了企业Inference Hooks可在请求进入模型前接入组织策略检查。它提供了额外的治理接口但服务端策略无法替代仓库内的业务约束也不能让一个错误的舍入规则自动变正确。规则由谁批准仍需要明确。验收也不要写成“全部测试通过”。本例应逐项检查边界输入、舍入、币种约束和调用方是否重复扣减。若涉及幂等或账务平衡应增加对应状态模型和集成测试而不是给这个纯函数起一个“清结算系统”的大名字。最小通过不等于业务上线这里的程序只验证整数规则及输入拒绝路径没有连接数据库、支付通道或真实账本。它可以作为契约中的一个例子不能证明并发、幂等、退款和审计已经完成。把这段边界写清楚Agent才知道何时继续审核人也知道自己究竟批准了什么。参考Anthropic发布记录Inference Hooks与接口更新Inference Hooks文档
阅读完成 · 觉得有帮助?
咨询建站