Agent 能不能上线,关键看评估能不能真正控制业务流程

很多 Agent Demo 都能跑通一条完整链路:理解用户问题、查询业务数据、调用工具,最后生成回复。但“能跑通”和“能上线”之间,还有很长一段距离。以一个 AI 客服 Agent 为例,用户说:我买的产品有问题,已经联系过一次客服,但一直没人处理。我想退款。

Agent 需要完成分诊、查询订单、查询历史工单、判断退款政策、决定处理动作、申请审批、执行退款并生成客户回复。

从技术上看,这是一个典型的多阶段 Agent Workflow:

但真正决定系统能不能上线的,不是这些步骤本身,而是评估(Evaluation)是否真的进入了流程控制层

很多系统虽然也有“评估”,但评估只是事后打分:生成一个 report,告诉你“好不好”,却不能阻止错误发生,也不能改变执行路径。

这种评估,本质上只是测试日志,而不是生产机制。

一、Agent 不能只“跑流程”,必须“被评估控制流程”

在传统程序中,业务规则是确定性的:输入相同 → 输出必然相同

但 Agent 不一样。同一句“我要退款”,模型可能:

  • 识别成退款请求,也可能当成投诉
  • 正确调用退款工具,也可能遗漏审批条件
  • 在退款未完成时,直接告诉用户“已退款成功”

因此生产系统不能这样写:

var response = await agent.RunAsync(userInput);await SendToCustomerAsync(response.Text);

问题不在于“能不能运行”,而在于:你默认模型输出是可信的,并直接进入业务系统

在客服场景中,这会带来三类风险:

  • 判断错误:不符合政策的订单被误判为可退款
  • 执行错误:金额错误或重复退款
  • 表达错误:未完成退款却对客户承诺“已到账”

所以 Harness 的职责不是“调用模型”,而是:控制模型、约束模型、在模型失败时接管流程

二、评估不是一个点,而是两道“业务闸门”

在完整客服链路中,评估至少出现两次关键拦截:

1)Action Evaluation:这件事能不能做?

发生在执行动作之后:

builder    .AddEdge(policy, action)    .AddEdge(action, actionEval)    .AddEdge(actionEval, response)    .AddEdge(response, replyEval)    .WithOutputFrom(replyEval);

这里的关键是:

  • Action 负责“做什么”(退款/换货/升级)
  • Action Evaluation 负责“能不能做”

例如:Action Evaluation:这件事能不能做?

它保护的是:

  • 资金安全
  • 权限边界
  • 合规性

2)Reply Evaluation:这句话能不能发?

发生在回复生成之后:

.AddEdge(response, replyEval).WithOutputFrom(replyEval);

它检查:

  • 是否泄露内部字段
  • 是否包含敏感信息
  • 是否错误承诺(如“已退款成功”)

例如:Reply Evaluation:这句话能不能发?

它保护的是:

  • 客户体验
  • 信息安全
  • 合规表达

关键区别

Action Evaluation:防止“做错事”

Reply Evaluation:防止“说错话”

只做其中一个都会出问题:

  • 只有 Reply Evaluation → 说得很好但做错事
  • 只有 Action Evaluation → 做对了但对客户说错话

三、真正的评估必须能“阻断执行”,而不是“记录结果”

很多系统的问题在于:evaluation = true/false,但流程继续执行。这在生产中是不可接受的。

评估必须直接参与控制流:

if (!compliance.Allowed){    finalAction = new ActionProposal(        ActionKind.Escalate,        RefundAmount: 0,        RequiresApproval: true,        Reason: compliance.Reason);}else if (proposal.Kind == ActionKind.Refund){    var decision = await approvals.RequestAsync(proposal);    if (decision?.Approved == true)    {        await refunds.RefundAsync(...);    }    else    {        finalAction = new ActionProposal(            ActionKind.Escalate,            Reason: "审批未通过");    }}

这里体现的是评估的本质:评估不是描述风险,而是控制风险

四、评估不能只靠 LLM,要“规则 + 模型”双层结构

在 Action Evaluation 中,一个关键设计是:

1)确定性规则(必须用代码)

例如:

var overLimit = action.RefundAmount > policy.AutomaticLimit;

适用于:

  • 金额
  • 权限
  • 状态
  • 审批条件

特点:

  • 可测试
  • 可审计
  • 稳定

2)LLM 语义判断(补充层)

用于:

  • 是否合理
  • 是否遗漏上下文
  • 是否符合客户意图

推荐结构

规则层(Code)-> 语义层(LLM)

如果反过来:全靠 LLM 判断规则,系统一定会不稳定。

五、Reply Evaluation:不能让模型“自由发挥”

模型生成回复后,不能直接发送:

state.CustomerReply = resp.Text;

因为可能出现:

您的退款已成功(内部 risk_level=low,execute_refund 已完成)

问题包括:

  • 泄露内部字段
  • 暴露工具名称
  • 提前承诺未完成操作

本地评估比 LLM 更可靠

例如:

var phoneRegex = new Regex(@"\b1[3-9]\d{9}\b");var emailRegex = new Regex(@"\b[\w.-]+@[\w.-]+\.\w+\b");

适用于:

  • PII
  • 卡号
  • 邮箱
  • 内部字段

内部信息泄露检查

var internalTerms = new[]{    "execute_refund",    "policy_compliant",    "risk_level",    "{", "}"};

本质是:客户不应该看到系统内部结构

六、评估失败必须触发“安全降级”

评估失败不能只是 log:

if (!passed){    reply = SafeFallback(...);}

安全降级必须保证:

  • 不泄露信息
  • 不承诺未完成动作
  • 不依赖模型补救

例如:

if (receipt is not null){    return "退款已受理,将原路退回";}

关键原则:只有状态真实存在,才能表达状态

七、结构化输出是评估可执行的前提

如果输出是自然语言:看起来可以退款,但建议人工确认

系统无法判断:

  • 是否退款
  • 金额是多少
  • 是否需要审批

因此必须结构化:

public class ActionResult{    public string Action { get; set; }    public decimal RefundAmount { get; set; }    public bool RequiresHumanApproval { get; set; }}

但要注意:JSON 正确 ≠ 业务正确

所以必须双层校验:Schema 校验(格式)+ 业务校验(规则)

八、评估必须进入审计,而不是只用于运行时

评估结果必须结构化记录:

{  "evaluation": {    "passed": true,    "checks": [      { "name": "no_pii_leakage" },      { "name": "no_internal_leakage" }    ]  }}

同时进入审计系统:

await audit.WriteAsync("refund.approval_decided", ...);

区别是:

  • Evaluation:当下是否安全
  • Audit:事后为什么这么做

九、评估必须可测试,否则无法上线

生产系统必须能模拟:

1)模型输出错误

Assert.DoesNotContain("13800138000", result.CustomerReply);

2)审批拒绝

Assert.Equal(0, refund.Calls);

3)幂等性

Assert.Equal(1, refund.Calls);

核心不是:模型是否聪明

而是:系统在模型出错时是否仍然安全

十、评估在整个 Harness 中的位置

完整流程应该是:

最后

Agent 的能力上限取决于模型,但上线能力取决于评估系统。

企业真正关心的不是:它能不能回答问题

而是:

  • 能不能不乱退款
  • 能不能不泄露信息
  • 能不能在不确定时停下来
  • 能不能在错误发生前被拦住

因此必须建立一条清晰的信任链:

模型输出 ≠ 可执行结果

结构化输出 ≠ 业务正确

评估结果 = 流程控制器

高风险动作 = 必须审批

评估失败 = 必须降级

所有关键决策 = 必须可审计

评估的本质

评估不是“打分”,而是三件事:

你理解对了吗?

这件事可以做吗?

这个结果可以交付吗?

模型决定 Agent 能做什么。评估决定企业敢不敢让它真的去做。

声明:来自硅基-桂迹,仅代表创作者观点。链接:https://eyangzhen.com/8965.html

硅基-桂迹的头像硅基-桂迹

相关推荐

添加微信
添加微信
Ai学习群
返回顶部