更可靠的主播助理:淘宝主播Agent的Harness工程实战
一句话概括
淘宝主播 Agent 把 Harness-Engineering 放到直播间这种高风险、长程、实时、多话题场景里验证,核心经验是用框架层承接上下文、安全、状态、Hook、评测和记忆,业务方只声明 Skill 能力边界。
实践内容
Harness 六元组
| 组件 | 职责 | 对抗的问题 |
|---|---|---|
| Execution Loop | 驱动 Agent 思考、行动、观察 | 失控、死循环、无限重试 |
| Tool Registry | 定义工具能力边界、参数约束和错误反馈 | 能力边界模糊、参数非法、错误无法恢复 |
| Context Manager | 管理上下文质量和体积 | 上下文膨胀、注意力漂移、信息退化 |
| State Store | 持久化运行状态,支持中断恢复 | 长任务中断丢状态、不可回放 |
| Lifecycle Hooks | 在关键时机插入强规则 | 模型不可控、强约束无法落地 |
| Evaluation Interface | 提供离线与在线评测 | 质量不可量化、问题不可追溯 |
主播 Agent 的关键工程模式
- 框架层 / 业务层拆分:框架提供执行循环、上下文治理、安全防护、状态持久化和审计观测;业务方只以 Skill 形式声明能力、风险等级、参数校验。
- Reducer 状态更新:模型只产生 Action,确定性的 Reducer 更新直播间 State;每轮把最新 State 通过 system-hint 注入,替代把完整工具 JSON 堆进历史。
- 工具调用强约束:Skill 注册时声明能力域;工具签名和决策输出用 JSON Schema 约束;有副作用操作必须带幂等键。
- 结构化错误码恢复:
| 错误码 | 类别 | 框架行为 |
|---|---|---|
| 3xxx | 业务异常 | 解析 AI 友好错误信息,尝试换策略重试 |
| 4xxx | 参数异常 | 框架层自动修复参数后重试 1 次 |
| 5xxx | 系统异常 | 最多 3 次指数退避重试 |
| 9xxx | 不可恢复异常 | 不重试,通过 Hook 通知主播 |
Hook 时机
PreReasoning:注入最新 State、当前场景预加载记忆、按需长期记忆。PreToolCall:校验能力边界、幂等键和风险等级审批。PostToolCall:结果校验并触发 Reducer 更新 State。PostReasoning:检测幻觉,验证模型输出是否与真实数据一致。OnSessionEnd/LiveEnd:提炼对话和直播轨迹事件,写入记忆。
评测与记忆
评测分为 trace 分析、离线对抗样本、在线实时指标和主播满意度。在线指标包括工具操作成功率、审批通过率、主播干预率、端到端延迟。记忆分三层:L1 会话记忆(主播主观声明)、L2 事实记忆(商品/直播/风控等客观数据)、L3 行为记忆(离线聚合出的行为模式)。遇到 L1 与 L3 矛盾时不直接覆盖,而是记录 gap,证据累计后再提示主播确认是否更新偏好。
摘录
OpenClaw、Claude Code、Hermes 这类智能体产品把 Harness Engineering 这个词带火了。它的核心主张很简单:模型能力是概率的、会漂移的、偶尔会失控的,真正让 Agent 可用、可控、可演化的,是模型外面那一层工程化的”骨架”(Harness):结构化的上下文、约束性的工具协议、生命周期的钩子、可恢复的状态、可观测的评估。
借鉴前端状态管理的 Reducer 思想做了职责分离:LLM 只负责决策(产生 Action),Reducer 函数负责状态变更(纯函数、确定性)。 每轮对话前,把最新的结构化 State 序列化后通过 system-hint 注入,替代冗长的系统提示词。这样模型每一轮看到的都是一份干净、确定、最新的状态快照。
涉及实体
- Harness-Engineering —— 本文把 Harness 六元组落到直播业务,补足高并发、强安全、长会话恢复视角。
- Context-Engineering —— 分层压缩、Reducer 状态注入、大上下文卸载都是上下文工程实践。
- OpenClaw-Skills —— 业务方以 Skill 声明能力边界、风险等级和参数校验。
- AI可观测性 —— trace、离线/在线评测和实时指标看板构成 Agent 质量观测层。
- Agent-Oriented-Infra —— 主播 Agent 的统一工作区、异构存储、幂等和审批体现面向 Agent 的基础设施要求。
涉及主题
我的评注
这篇比一般 AI Coding Harness 更接近生产级 Agent:直播间操作即时生效、用户无法逐条复核、会话持续数小时,导致”模型外工程”从辅助质量手段变成安全边界本身。最值得沉淀的是 Reducer + Hook + 记忆对账三件事:它们都把模型从事实源和状态机里剥离出去,只让模型做意图理解与策略选择。