JevDraftPipeline 串起输入检查、生成、完整草稿审核和有限修订。只有通过审核的文本才会出现在 publishedText 中,应用据此决定是否发布。
场景:客服工作台中的回复草稿
客服正在处理“订单未发货时可以退款吗?”。后台已有政策证据“未发货订单可申请退款,到账以实际处理结果为准”,但生成器可能写出“退款已经到账”。工作台需要在显示可发送回复之前检查草稿,必要时重写一次,不能为了纠正措辞重新执行退款。 这个场景由应用掌握生成与发布时机,适合独立流水线;如果希望直接拦截 Agent 的最终回答,使用响应中间件。1. 分别定义输入和草稿检查
judge 的初始化见应用组件配置。输入检查接收原始请求;输出检查接收包含 request、evidence、draft 的状态。定义问题时必须对应这些字段:
2. 接入生成函数,只发布审核通过的文本
下面使用固定字符串演示生成器接口,让输入、错误草稿和修订稿一目了然。实际接入时,替换两个Flux.just 为你的纯文本生成函数;JEV 仍通过传入的 judge 完成检查。
draft、完整 review 和 attempt,可据此针对未通过的条件改写。
生成与修订函数均不能重跑会执行写工具的 Agent。应用应在流水线成功返回后才调用消息发送接口,不能把生成器的中间片段直接推送给客户。
3. 处理无法发布的结果
只有 FAIL 可以触发修订,ERROR/INCONCLUSIVE 不修订。正常审核拒绝时,
draftText 可供授权复核,但不能当作回退回答直接发布。错误结果中的 revisions 为 0,不能据此计算错误发生前的实际调用次数;计费或调用统计应接在生成函数和客户端侧。
取消会向当前生成链传播。该组件不提供审核前的对外流式输出;如果界面需要实时反馈,可以展示处理状态,待审核完成后一次性呈现文本。
运行离线案例
JevApplicationScenarios的draft 场景提供上述请求、证据和两份草稿。按构建步骤设置 JEV_CP 后执行:
JevApplicationScenariosTest 中。生成与判断均为预设,没有测量真实模型的审核准确率和响应时间。