场景
AI 智能体正在从回答问题走向在业务系统中执行动作:退款、付款、修改账户、下单、处理工单。下面每个场景都展示一个可能出错的时刻——即使智能体完全按指令行事——以及有了执行控制之后会有什么不同。
Herkus Guardian
超时后的退款
退款请求发出去了,回复一直没来。智能体又试了一次。
客户申请退款 49.90 元。
客服智能体决定退款,并发起请求。
Herkus Guardian 检查批准此刻是否仍然有效。放行。
退款请求发送到支付服务商。
连接超时,没有收到确认。
智能体再试一次。
Herkus Guardian 暂停第二次尝试:第一次的结果还不清楚。
第一笔退款得到确认,第二次尝试不会发送。每一步都有记录。
放行暂停拦下结果不明
请求回复没有到达
示意流程 · 虚构数据
没有执行控制时
- 重试发出了第二笔退款,客户被退了两次。
- 事后没人说得清,哪个请求做了什么。
有了赫库斯
- 第二次尝试一直等到第一次的结果确认。
- 记录显示批准在什么时候被检查、发送了什么、为什么重试被暂停。
Herkus Guardian
审批撤回后的付款
财务智能体准备支付一张供应商发票。付款执行之前,审批被撤回了。
财务智能体核对发票,提出付款 12,800 元。
财务主管审批通过。
发现发票有疑问,主管撤回了审批。
智能体的付款请求到达 Herkus Guardian。
Herkus Guardian 检查此刻的审批:已失效。拦下。
记录显示审批、撤回和被拦下的请求。
放行暂停拦下结果不明
请求
示意流程 · 虚构数据
没有执行控制时
- 付款依据一个已经不存在的审批执行了,钱付给了一张有疑问的发票。
有了赫库斯
- 按设计,动作只在它的审批仍然有效时才能生效。
- 记录说明了动作为什么被拦下。
Herkus Guardian
两个智能体,一张订单
销售智能体和售后智能体,同时处理同一张客户订单。
客户通过邮件和在线客服,投诉发货延迟。
销售智能体发放一笔补偿。
售后智能体根据在线客服记录,发放了同样的补偿。
Herkus Guardian 发现这个业务效果已经被请求过。
第二笔补偿不会生效,售后智能体收到"已处理"的通知。
放行暂停拦下结果不明
请求回复
示意流程 · 虚构数据
没有执行控制时
- 客户收到两次补偿,财务到月底才发现。
有了赫库斯
- 按设计,同一个业务效果只生效一次,不论哪个智能体发起。
Herkus Guardian
供应商收款账户变更
采购智能体按一封邮件修改供应商的收款账户,但批准的是另一个账户。
采购智能体收到供应商"更换收款账户"的邮件,提出变更。
采购经理电话核实后,批准把收款账户改为尾号 6612 的账户。
智能体发出的变更请求里,账户是尾号 9087。
Herkus Guardian 把请求与批准逐项比对:账户不一致。拦下。
供应商主数据没有被修改。记录显示批准的内容和被拦下的请求。
放行暂停拦下结果不明
请求
示意流程 · 虚构数据
没有执行控制时
- 供应商主数据被改成一个未经批准的账户,之后的付款都会付到那里。
有了赫库斯
- 按设计,每个变更请求都与批准的内容逐项比对,不一致就不生效。
Herkus Guardian
被重新分配的任务
一个任务被重新分配给另一台机器人,第一台机器人的指令迟到了。
调度系统把一个取货任务分配给机器人 A。
机器人 A 断线,调度系统把任务重新分配给机器人 B。
机器人 A 重新连上,发出了它的旧指令。
Herkus Guardian 检查:这个任务现在属于机器人 B,旧指令不会生效。
放行暂停拦下结果不明
请求
示意流程 · 虚构数据
凡是工作可以被重新分配的地方,都会出现同样的问题:被替换的任务,之后不能再执行。
没有执行控制时
- 两台机器人执行同一个任务,或者一条过期的指令被执行。
有了赫库斯
- 按设计,被替换的任务之后不能再生效。
Herkus Custodian
确认邮件
智能体给客户发送确认邮件,邮箱地址不能经过模型。
遮挡。真实邮箱地址在智能体和模型看到之前就被替换。
模型只看到引用。
真实地址只用于这封邮件、在这一刻。
其他地方不给。同一个引用发到别的目的地,拿不到真实值。
在此使用真实值不给[EMAIL_1]受保护引用
请求
示意流程 · 虚构数据
没有数据使用控制时
- 真实地址留在模型的上下文、日志,以及智能体调用的每个工具里。
有了赫库斯
- 按设计,模型使用引用,真实地址只用于这封邮件。
Herkus Custodian,配合 Herkus Guardian
多个智能体处理的银行卡争议
客户对一笔银行卡交易提出争议,四个智能体处理这个案件。身份数据不应该跟着每个任务流转。
客户的邮件到了。在任何模型看到之前,姓名、身份证号和账号都被保护:[PERSON_1]、[NATIONAL_ID_1]、[ACCOUNT_1]。
编排智能体分配案件,它只看到受保护的案件。
调查智能体使用外部模型,用受保护引用分析这笔交易。
它要求获取完整的身份证号。拒绝:它的任务不需要。
决策智能体按银行的退款规则作出决定,不需要身份数据。
付款智能体用 [ACCOUNT_1] 发起退款。
真实账号只在银行系统内部、在退款执行的那一刻使用。
在此使用真实值不给[PERSON_1]受保护引用
请求
示意流程 · 虚构数据
没有数据使用控制时
- 身份数据被复制进每个智能体的上下文和外部模型的日志。
- 编排智能体可以把原始数据交给它分配任务的任何智能体。
有了赫库斯
- 每个智能体只拿到它的任务需要的内容。
- 智能体可以委托任务,不能转交数据访问权。
- 审计视图显示哪个智能体看到了什么、真实值在哪里被使用。
Herkus Custodian
通话质检
录音被送到模型做质检评分,里面全是姓名、卡号和地址。
一段通话录音被转写成文字。
转写稿中的姓名、卡号和地址被替换为受保护引用:[PERSON_1]、[CARD_1]、[ADDRESS_1]。
质检智能体请外部模型对服务态度、话术执行和问题解决打分。
模型只处理受保护的转写稿。
质检智能体要求把客户的真实卡号写进报告。不给:质检不需要它。
质检报告里的分数和引语都使用引用,不含真实值。
在此使用真实值不给[CARD_1]受保护引用
请求
示意流程 · 虚构数据
没有数据使用控制时
- 完整的客户信息进入外部模型,并留在它的日志里。
有了赫库斯
- 按设计,模型在不知道客户是谁的情况下完成评分。
Herkus Custodian
身份证件扫描件
客户上传身份证件的照片或 PDF 扫描件,开户智能体读取后填写开户申请。
客户上传身份证件的照片或 PDF 扫描件。
Herkus Custodian 识别图片中的文字(OCR),找出姓名、身份证号和出生日期。
模型收到的是遮挡了这些区域的副本,以及带引用的文字:[PERSON_1]、[NATIONAL_ID_1]、[DOB_1]。
开户智能体和模型用引用检查申请是否完整。
模型要求获取完整身份证号再核对一遍。不给:完整性检查用引用就够了。
申请提交到业务系统,真实值在最后一跳填入对应字段。原始图片不会传给智能体或模型。
在此使用真实值不给[NATIONAL_ID_1]受保护引用
请求回复
示意流程 · 虚构数据
没有数据使用控制时
- 证件图片、身份证号和出生日期进入模型上下文和智能体日志。
有了赫库斯
- 按设计,智能体用引用完成申请,真实值只进入业务系统的字段。
Herkus Custodian
附病历的理赔
理赔智能体用外部模型总结病历,并准备赔付。
一个理赔案件到达,附有 PDF 格式的病历,以及投保人的姓名、保单号和银行账户。
Herkus Custodian 读取 PDF,包括扫描页(OCR)。在模型看到之前,姓名、保单号和账号都被替换为引用。
模型总结作出决定所需的医疗事实,但不知道病人是谁。
理赔智能体想把带有病人真实姓名的总结发到一个外部地址。不给:这个目的地不被允许。
理赔智能体准备向 [ACCOUNT_1] 赔付。
真实账号只在支付系统中使用。
在此使用真实值不给[ACCOUNT_1]受保护引用
请求回复
示意流程 · 虚构数据
配合 Herkus Guardian,赔付本身也会在即将生效的那一刻接受检查。
没有数据使用控制时
- 病人身份和账号,与医疗细节一起留在模型日志里。
有了赫库斯
- 按设计,身份信息与模型需要的医疗事实分开,真实账号只用于赔付。
