一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

AgentOps:用户快速调教好你的Agent的关键功能

时间:2026-07-03 08:54:52 编辑:袖梨 来源:一聚教程网

快速调教好Agent的关键在于实现可观测与可追溯,让AI真正成为生产力工具而非隐患。
核心内容:
1. B端场景下AgentOps的刚需与核心要求
2. 通过CI修复Agent的极端案例揭示问题本质
3. 一条最小可用的运行trace所揭示的具体改进点

对于大部分 C 端场景,AI 回答得不好,人可以换个问法,或者不用这段答案,厂商基本不用承担法律责任。但 B 端不行,如果你给客户推荐的供应商、商品出现了问题(如不符合其公司红线要求等),人家是可能找你麻烦的。所以 AgentOps 对 B 端,或者 C 端某些重要场景(如交易场景),非常重要,这就要求我们给用户的 Agent 要可见、可溯源、可归因、可复盘等:如果做不到这些,就直接给客户使用的话,那么就永远只能停留在助手的定位,不能真正成为客户的生产力。举几个例子讲讲:


01

例子一:CI 修复 Agent 把测试修绿了,但把断言改松了
这个是对前面提到的 AI First 研发平台这类产品。先看一个研发场景。某个 PR 改了订单优惠计算逻辑,CI 里有一个单测失败。团队让 CI 修复 Agent 自动分析、修复,并开一个补丁 PR。它也正常执行了,且测试用例跑过。第一眼看,Agent 很能干:
指标结果
任务耗时7 分 42 秒
模型调用6 次
工具调用11 次
修改文件2 个
测试结果订单模块单测通过
输出结果自动开出修复 PR
如果记录的信息只有上面这些,只看这个表,会觉得不错,应该也是可以了。但人工 Review 时发现,它不是修业务逻辑,也不是补测试数据,而是把测试断言从“必须等于 99.00”改成了“只要大于 0”。 -- 这个例子比较极端,但是比较好理解,就举这个了。这就麻烦了:CI 绿了,质量却松了。所以 AgentOps 不能只记录“成功”,它必须能把这次运行拆开。一条最小可用的运行 trace,可能长这样:
时间步骤关键记录
10:12:03接收任务PR-4821,目标:修复 order-discount 单测失败
10:12:11读取日志失败用例:should_apply_coupon_after_member_discount
10:12:29检索文件读取 discount_calculator.go、discount_calculator_test.go
10:13:08生成计划判断失败原因:测试期望值与当前实现不一致
10:14:22第一次修改修改测试断言,放宽期望值
10:15:10运行测试go test ./order/... 通过
10:15:33风险检查未命中“断言放宽”规则
10:19:45开 PR输出:修复单测失败
10:36:18人工 Review驳回原因:断言被放松,没有证明业务逻辑正确
这个 trace 一出来,复盘就不再是“模型不靠谱”这种废话。我们能看到几个具体问题:第一,Agent 的目标写错了。它的目标是“让测试通过”,而不是“在保持业务语义不变的前提下修复失败”。第二,验证门太弱。它只看测试是否通过,没有检查测试断言是否被放松。第三,规则没进系统。团队明明知道“不能为了修绿 CI 放松断言”,但这条规则只在老同事脑子里,没有进入 Agent 的检查清单(这个是假设的场景,常规下不会出现这类场景)。这次复盘后,用户可以补三个动作:
  1. CI 修复 Agent 的目标改成:优先修实现,其次修测试数据,禁止无证据放松断言。
  2. 增加一个静态检查:测试断言从精确值改成宽泛判断时,必须触发人工确认。
  3. trace 里新增字段:changed_assertion_type,记录断言是否变弱。
这就是 AgentOps 的价值:不是多画一张 dashboard,而是让一次失败能变成下一次系统约束,持续优化团队的记忆、知识。AgentOps 不是记录 Agent 干了什么,而是帮助团队判断它为什么这样干,成为团队持续进步的基石。


02

例子二:采购 Agent 推荐了高风险供应商,trace 发现是工具返回字段不够
再看一个 SaaS 的业务场景。采购同学发起一个低值耗材寻源项目,希望 采购 Agent 根据报价、历史履约和供应商资质等,给出推荐供应商。采购 Agent 输出:“建议选择 A 供应商。该供应商本轮报价最低,历史交付及时率 96%,综合评分最高。”第一眼看挺合理。但人工复核时发现,A 供应商上个月刚因为质量异常被该品类临时冻结,按规则不能进入推荐名单。这种错误很危险。采购侧不是写错一句话那么简单,它可能影响定标、合同、履约和供应链风险。后面真出了质量事故,没人会接受“这是模型没看到字段”的解释。如果没有 AgentOps,复盘很容易变成互相甩锅:
  • 模型为什么乱说?
  • 知识库是不是过期?
  • 采购规则是不是没写清楚?
  • 工具是不是查漏了供应商状态?
但有 trace 后,问题会具体很多。这次运行记录里,关键链路是这样的:
步骤Agent 看到的内容问题
意图识别任务:为 MRO 低值耗材寻源项目推荐供应商正确
寻源项目查询项目金额:18 万;品类:办公耗材;候选供应商:A、B、C正确
报价查询A 供应商报价最低,低于第二名 4.8%正确
供应商查询A 供应商状态:合作中;历史交付及时率:96%;评分:92少了“品类冻结”和“质量处罚”字段
采购规则检索召回“低值耗材优先价格和交付稳定性”规则没命中“冻结供应商不得推荐”规则
风险判断风险等级:低应为高风险
结果写回写入“建议选择 A 供应商”错误推荐被固化
这时候根因就清楚了。不是单纯“模型太飘”,而是供应商查询工具返回字段不够。Agent 只看到了合作状态、报价和交付指标,没看到“该供应商在办公耗材品类下临时冻结”这个关键状态。知识库也有问题:价格优先和交付稳定性规则排在前面,供应商冻结、质量处罚、品类准入这种硬规则没有被优先召回。风险规则也有问题:只要供应商存在冻结、黑名单、资质过期、品类未准入,就应该强制拦截或转人工,而不是让 Agent 自己综合打分。所以修复动作应该是三条线一起做:
  1. 供应商查询工具增加字段:品类准入状态、临时冻结状态、质量处罚、资质有效期、黑名单标记。
  2. 知识召回增加优先级:风险拦截规则高于价格、交付和评分规则。
  3. 风险规则写死:冻结 / 黑名单 / 资质过期 / 品类未准入 = 不得自动推荐,必须转人工复核。
修完以后,看板也要变化。
指标修改前修改后目标
高风险供应商拦截率71%98% 以上
错误推荐数每周 2 起连续 4 周为 0
供应商风险字段缺失导致失败每周 4 起每周复盘清零
高风险寻源项目人工接管率22%60% 以上
这里要注意一点:前期转人工率升高不一定是坏事。在高风险采购场景里,转人工率升高,可能说明 Agent 学会了停下来总结、学习、提升。所以管理者不能只看 Agent 的“自动化率越高越好”,否则很容易把 Agent 逼到错误推荐。补一句:不少时候,一个团队的 Agent(买来的或者自己搞的)一开始运行的时候,不一定会带来团队的效率提升,尤其是业务很封闭、很复杂的场景下,需要有一个“学习、进化”的过程。


03

Agent 实现里,trace 要作为一等功能来做
两个核心点:
  • 在 Agent Runtime 或 Harness 层,把Agent 每一步关键动作,都通过统一的运行单和事件流记录,而不是让每个 Agent 自己随手写日志(Harness团队不给力的时候就自己搞)。
  • 为用户提供一个总结、提炼的入口与能力:SAAS的Agent不可能是自己玩的,得靠用户、客户积累。
下面是一些关键的落地点:

1. 任务运行单:先有 run_id,再开始干活每次 Agent 开始执行前,先创建一张任务运行单。
字段示例作用
run_idsourcing-agent-20260629-0008串起一次完整运行
agent_idsupplier_recommend_agent知道是谁干的
tenant_idtenant_037支持租户隔离和审计
task_typesupplier_recommendation分场景统计
trigger_typesourcing_project_submitted人触发还是流程触发
input_object_idsourcing_project_9042回查业务对象
risk_levelmedium决定是否允许自动执行
owner采购负责人 / 项目负责人发生问题找得到责任人
statusrunning / blocked / completed / rejected运行状态
这张运行单不是给平台装样子的。后面的模型调用、上下文装配、工具调用、风险判断、验证结果、人工反馈,都要挂在这个 run_id 下面。否则 trace 是散的,复盘时就会到处翻。

2. 上下文快照:记录“它当时看见了什么”Agent 做错,很多时候不是推理能力问题,而是看错了世界。所以 Context Builder 每次给 Agent 装配上下文时,要记录一份上下文快照。但注意,不一定要把所有原文都落库,尤其是 B 端场景里有客户数据、供应商资料、合同和价格。至少要记录这些:
字段示例
source_type供应商主数据 / 采购规则 / 历史履约 / 质量异常
source_idsupplier_ A、rule_2026_08
source_versionv12、2026-06-20
permission_scope当前用户可见 / 当前项目可见 / 脱敏后可见
retrieval_reason因为任务品类是办公耗材,所以召回该品类准入规则
data_quality_flag字段完整 / 字段缺失 / 版本可能过期
content_hash用于证明当时读取的是哪一版内容
这一步非常关键。比如前面采购 Agent 推荐错供应商,如果没有上下文快照,我们只能猜它有没有看到冻结状态。有了快照,就能确认:当时供应商查询结果里确实没有返回“品类冻结”字段。这就能把问题从“模型乱推”定位到“Connector 字段缺失”。

3. 工具调用包装器:所有工具都要经过统一网关所以工具调用不要让 Agent 直接散着调。建议统一走 Tool Gateway 或 Tool Wrapper。每次工具调用记录这些:
字段示例
tool_namesupplier_profile_query
tool_versionv3.4
request_schema_version2026-06
params_summary品类:办公耗材;候选供应商:A/B/C
params_hash避免敏感参数明文扩散
permission_decisionallow / deny / require_approval
response_summaryA 供应商合作中,评分 92
missing_fieldscategory_freeze_status、quality_penalty
latency_ms283
error_code无 / 超时 / 权限不足 / 数据不完整
这里建议加两个字段:missing_fields 和 permission_decision。很多 Agent 事故不是工具调用失败,而是工具“成功返回了不完整信息”。如果只记录 success,就会误导复盘。

4. 决策事件:记录它为什么选择这一步Agent 不是传统程序,它中间会做很多判断。比如:是否推荐 A 供应商。是否转人工。是否开 PR。是否放弃本轮修复。这些关键判断要单独记成 decision_event,不能只埋在模型输出文本里。
字段示例
decision_typerecommend_supplier
candidate_action推荐 A 供应商
evidence_refs报价最低、交付及时率 96%、评分 92
rule_hits命中低值耗材价格优先规则
risk_rule_hits未命中供应商冻结规则
confidence0.78
alternative_actions推荐 B;转人工;补充查询
why_not_human系统判断为中低风险
这个字段设计得好,复盘会轻很多。如果出错,就能看出是证据错了、规则没命中、风险等级错了,还是本来应该转人工却没转。

5. 验证事件:不要只记录“完成”,要记录“怎么证明完成”Agent 说“我完成了”没意义。关键是它靠什么证明自己完成。研发 Agent 的验证可能是测试、lint、静态检查、人工 Review。采购 Agent 的验证可能是供应商状态回查、黑名单校验、资质有效期校验、品类准入规则校验、审批状态确认。所以要有 validation_event:
字段示例
validation_type供应商风险校验
check_name黑名单 / 冻结 / 资质有效期 / 品类准入
check_resultpass / fail / skipped
evidence_refsupplier_risk_query_0007
skipped_reason工具未返回字段 / 权限不足 / 规则未配置
must_human_reviewtrue / false
这里最怕的是 skipped_reason 没记录。很多事故复盘时才发现,关键检查其实没跑,但系统仍然给了“完成”。

6. 人工反馈回写:Review 结果必须回到 trace 和 evalAgent 被人工驳回,不应该只停留在审批页面里。比如采购负责人驳回了 A 供应商推荐,理由是“供应商处于该品类冻结期”。这个反馈至少要写回三处:
  1. 写回 run_id 对应的 trace,作为本次运行结果。
  2. 写回失败案例库,归因为工具字段缺失 / 风险规则未命中。
  3. 写回 eval 样本,下次模型、工具、规则变更时必须回归。
如果人工反馈不回流,团队就会反复踩同一个坑。AgentOps 不是把运行记录存起来,而是让运行记录能反向训练系统。


04

一个最小可用的 Agent 运行记录示例
结合上面两个例子和实现拆解,要做一个合理规划版本,每个 Agent task 都可以记录这些字段。
字段例子用途
run_idci-fix-20260628-0017串起一次完整运行
task_typeCI 修复、供应商推荐、发布说明分场景统计
triggerCI 失败、寻源项目提交、release 创建看触发来源
risk_level低 / 中 / 高决定是否自动执行
input_objectPR-4821、寻源项目-9042、发布单-126回查业务对象
context_sources日志、供应商资质、采购规则版本、发布记录判断是否看错事实
plan_steps读取日志、检索代码、修改文件、跑测试回放行动路径
tool_calls调用供应商查询、寻源比价、测试命令、发布系统查询追踪工具和权限
decision_points是否转人工、是否开 PR、是否拦截推荐、是否发布草稿复盘关键判断
validation测试通过、规则命中、人工确认判断结果是否可信
costtoken、耗时、模型调用次数控制成本
outcome成功、人工驳回、用户投诉、测试失败进入看板
follow_up改 prompt、补工具字段、加 eval case进入改进闭环
这些字段不一定一开始全做完。但如果连 run_id、上下文来源、工具调用、关键判断、验证结果、人工反馈都没有,就很难谈 AgentOps。因为出了问题以后,你不知道从哪里改。


05

用户侧周复盘:把 Agent 用成自己的业务学习系统
与普通软件产品ops用户是产品的运维、运营人员,AgentOps的用户有很大一部分应该是终端用户。有了 trace、运行单、上下文快照、工具调用和人工反馈之后,SaaS 产品(自用产品也一样)要给用户一个可视化、可接入的入口,让用户能看见 Agent 的行为,评估它的判断,最后决定哪些东西要沉淀到知识和记忆里。以采购部负责人的视角为例,他不关心底层有多少日志。他更关心这张表:
复盘项本周看到的问题用户侧改进
自动完成低风险耗材推荐基本稳定继续放开低风险品类
人工驳回A 供应商因品类冻结被驳回补充冻结规则和供应商状态字段
规则问题老采购知道的红线系统不知道把红线写成规则和审批条件
使用问题有人把 Agent 建议当最终结论明确“建议、审批、执行”的责任边界
比如 A 供应商因为品类冻结被驳回,这件事不应该只停留在“Agent 又错了”。采购负责人应该能在工作台里直接标记原因,并决定:把“品类冻结供应商不得推荐”沉淀为采购知识,把“办公耗材推荐前先查冻结和质量处罚”沉淀为团队记忆。这时候 AgentOps 就不只是可观测性,而是用户自己的改进入口。它让采购团队看清楚:哪些是 Agent 的问题,哪些是主数据的问题,哪些是规则没有沉淀,哪些只是一次临时失败,应该留在 trace 里。好的 trace 像一束光,照见 Agent 的路径,也照见业务系统里那些平时被灰尘盖住的角落。

登录查看剩余 70% 内容

热门栏目