从业务缺口到验证方案
问题定义确定系统必须解决什么;机制、架构和资源说明如何实现;三组案例与评测方案提供可观察、可比较的验证依据。
服务闭环:从给出建议到验证结果
生成答案只是服务过程的起点。多项诉求是否保留、动作是否执行、问题是否恢复,以及人工是否完成接管,都需要独立记录和验证。
生成答案后结束
用户问问题 → 模型给建议 → 对话结束。系统不知道用户是否执行、设备是否恢复,也容易丢失并行诉求。
追踪动作并验证结果
识别诉求 → 选择合法动作 → 回收用户或工具结果 → 用证据进入已解决、继续处理或携证据转人工。
完成状态分为三个层级
| 层级 | 含义 | 不会自动代表什么 |
|---|---|---|
| 单项诉求完成 | 只更新对应意图及其证据,例如故障已验证恢复。 | 不代表物流、退款等其他诉求同时完成。 |
| 自动服务结束 | 已验证当前服务目标,或者进入可靠交接后 AI 停止自主处理。 | 人工排队或接管不代表用户问题已经解决。 |
| 案件结束 | 所有诉求均有明确处置结果,或收到预先定义的关闭事件。 | 单项完成、交接创建和人工排队都不能直接关闭全案。 |
核心机制:多诉求分流、稳定承接与安全执行
要把服务推进到可验证结果,系统必须持续保存未结诉求,根据情绪与风险调整处理方式,并在执行前检查状态、权限和证据。
意图账本(Intent Ledger)
模型提出多个意图候选;代码跨轮保存故障、物流、条件退货等事项,判断条件和优先级,每轮只激活一个用户动作。
情绪控制器
保存情绪来源、失败经历和变化趋势,在 NORMAL 与 STABILIZE 间调整服务节奏;人工交接和所有权切换由风险、拒绝、人工请求与权限规则单独控制。
策略门(Policy Gate)与可靠交接
模型只能提出候选动作;安全、权限、状态和证据由代码审核。人工接管后锁存所有权,避免 AI 再次排障或越权承诺。
系统架构:资源、控制、执行与证据
三项核心机制运行在同一条端到端链路中。官方资料和通用开发资源经适配层进入团队自建原型,再由感知层、状态控制层和执行层完成处理,并写入决策追踪(Trace)。
前端界面在架构中的位置
当前公开原型提供“服务对话、案件进度、评委视图”三个入口。流程与策略配置页仍属于架构设计范围,当前没有独立入口。
| 页面 | 当前入口 | 主要使用者 | 回答的问题 | 技术职责 |
|---|---|---|---|---|
| A:服务处理 | 服务对话 | 消费者 | 我现在该做什么? | 接收图文和补充信息,展示简短承接、唯一主要动作及必要替代入口。 |
| B:结果与交接 | 案件进度 | 消费者;后续人工 | 处理到了哪里,哪些还没完成? | 逐项展示诉求、验证结果、未知项、交接资料和受理状态。 |
| C:决策追踪与验证 | 评委视图 | 评委、开发和评测人员 | 系统为什么这样处理,是否遵守规则? | 展示可观察事件、规则结果、模型和工具记录、被拦截候选及失败注入;不展示模型内部思考。 |
| D:流程与策略配置 | 当前无独立入口 | 知识运营、开发人员 | 系统依据哪些流程和规则处理? | 只读展示适用范围、必要证据、允许步骤、禁止动作、升级条件、工具权限及版本。 |
单轮决策循环:候选动作如何被审核与执行
原始输入先经过确定性的安全与人工请求快检,必要时立即暂停自主动作;随后模型生成结构化观察(Observation),主控层归并案件状态(CaseState)并完成复核,最后由策略门(Policy Gate)审核候选动作。
CLOSED。| 不可破坏的约束 | 实现承载 | 通用验收标准 |
|---|---|---|
| 安全风险可从任意非终态抢占 | 原始输入预检查 + 策略门 + 执行前二次检查 | 出现明确安全风险时,即使图片、订单或工具结果缺失,也必须先停止普通排障并给出非操作性安全提示;缺失信息保持未知。 |
| 最终业务状态只有一个写入者 | 状态归并器 + 唯一提交点 + 版本检查 | 模型只提交候选观察;最终路由、会话所有权和业务批准只能由主控代码写入。 |
| 每轮只有一个主要用户动作 | next_action + decision_id;后台查询单独记录 | 界面每轮最多展示一个需要用户完成的主要动作;后台只读查询可以并行,但不形成多个主按钮。 |
| 即时诉求与条件诉求分开处理 | 目标优先规则 + 条件与依赖检查 | “现在退款”和“修不好再退款”分别记录;条件未满足时不得激活或承诺执行。 |
| 交接开始即锁存 AI 自主权 | owner + owner_epoch + handoff latch | 从 HANDOFF_PENDING 起拒绝普通业务回复和工具动作;后续信息只追加到原交接,排队不等于人工已经接手。 |
| 事件只追加,不静默覆盖 | 证据引用 + DecisionEvent + state diff | 每次变更都能追溯到原始证据;旧判断、拒绝原因和已失败动作不能被删除。 |
实现底座:官方资料如何进入原型
单轮决策依赖知识、流程和业务查询结果。官方资料通过只读加载器、检索模块和模拟工具转成稳定接口,为主控逻辑提供可引用、可降级的输入。
| 官方或通用资源 | 原型中的模块 | 团队需要完成 | 最低验收 |
|---|---|---|---|
| 故障知识库 | 成熟检索模块 + 知识适配器 | 切片、产品过滤、来源引用 | 相关 Demo 能取回对应条目;无命中明确降级 |
| 标准售后 SOP | 只读配置加载器 | 映射入口、步骤、禁令、升级条件 | 每个动作能指出 SOP 与版本 |
| 脱敏模拟订单 | 订单/保修/物流模拟工具 | 确定性查询、错误码、超时语义 | 固定输入返回结构化结果,不伪造生产状态 |
| 授权经销商清单 | 地区精确查询工具 | 字段映射与无结果处理 | 返回匹配项或明确未知 |
| 客诉素材 | 标注与评测数据入口 | 脱敏核验、标注、划分数据集 | 不把相邻轮泄漏到不同集合 |
| 模型 API | 模型适配器 | 结构化输出、超时与备用模型 | 输出合法 Observation;失败进入保守降级 |
| AWS / 百炼 | 部署或托管环境 | 可访问链接、日志与备份 | 现场可恢复;平台选择不影响核心接口 |
| 无需真实坐席系统 | 模拟转人工节点 | 队列状态、唯一交接、所有权锁存 | 只创建一次交接,接管后 AI 不继续排障 |
对象契约:模块之间如何可靠协作
资料和工具只有转成标准对象,才能在感知、状态控制、执行和页面之间稳定传递。对象契约固定每层的输入、输出、证据引用和写入责任。
上方展示对象如何沿主链协作;下表列出完整最小对象集。每个对象的设计原理、写入边界和验收要求可在表后逐项展开。
| 标准对象 | 写入责任 | 最小内容 |
|---|---|---|
结构化观察(Observation) | 感知层的模型适配器 | 意图候选、情绪、风险信号、已尝试动作、候选事实、歧义、证据引用 |
意图账本(IntentLedger) | 状态归并器 | 所有意图、条件、依赖、状态和来源证据 |
情绪状态(EmotionState) | 情绪控制器 | 情绪强度、来源、趋势、证据和当前 response_mode;不保存人工所有权或问题结果 |
案件状态(CaseState) | 主控层唯一写入 | 意图账本、情绪状态、回复模式、会话控制状态、活动路由、流程、下一动作与结果 |
决策事件(DecisionEvent) | 主控层追加记录 | 状态前后差异、候选路线、命中规则、拒绝动作与来源 |
工具调用(ToolCall) | 执行层 | 工具、输入、权限、状态、幂等键、结果或错误 |
人工交接包(HandoffPacket) | 主控层创建,后续只追加 | 风险、未结意图、失败动作、争议、未知项和建议人工动作 |
处理结果(Outcome) | 验证后写入 | 已验证解决、未解决或交接,以及对应证据 |
追踪事件(TraceEvent) | 各阶段追加,追踪器汇总 | 事件类型、输入输出引用、状态差异、规则/工具版本、时间与关联编号 |
结构化观察(Observation)|模型看到什么
原理:把大模型限制为“候选观察者”。输入是本轮原话、图片引用、历史摘要和允许加载的资料;输出是意图、情绪、风险、失败动作、候选事实、歧义与证据引用。
允许写入
候选语义、置信度、未知项和指向原文或图片的证据。解析失败时返回明确失败状态,不用自由文本补齐。
禁止写入
最终路由、会话所有权、工具调用、退款/换新批准和“已解决”。验收时检查每个关键判断都有证据且没有越权字段。
意图账本(IntentLedger)|跨轮保留什么
原理:状态归并器把每轮意图候选合并进同一案件,避免多诉求被新消息覆盖。每项意图保存目标、条件、依赖、状态、来源证据和更新时间。
边界与验收:只有确定性代码能新增、合并或迁移状态;条件退货在条件未满足时保持条件态,未结物流诉求不能因故障主线完成而消失。
情绪状态(EmotionState)|情绪怎样改变服务方式
原理:模型输出本轮情绪观察(AffectObservation),情绪控制器跨轮保存强度、来源、趋势与证据,并在 NORMAL / STABILIZE 两种回复模式间调整长度、解释深度、追问节奏和人工选项呈现。
边界与验收:EmotionState 不保存人工所有权或问题结果。停止排障、发起交接和所有权切换必须由安全风险、明确拒绝、人工请求、失败经历与权限等可审核规则触发;愤怒本身不自动等于退款或转人工。
案件状态(CaseState)|什么是系统事实来源
原理:集中保存版本、会话所有权、意图账本、情绪状态、安全状态、活动路由、流程进度、下一动作和结果。它是运行时唯一可信状态,而不是聊天文本或模型回答。
边界与验收:主控层单一写入,每次提交检查预期版本和所有权代次;并发或迟到结果不能覆盖更新后的状态。
决策事件(DecisionEvent)|为什么这样决定
原理:每轮提交决定时追加记录状态前后差异、候选路线、选中路线、命中规则、被拒动作和证据来源,使“为什么通过或拒绝”可以回放。
边界与验收:事件不可静默覆盖,并携带策略、流程和对象版本;它记录可观察依据,不保存模型内部思维过程。
工具调用(ToolCall)|怎样安全执行
原理:将查询、受控操作和人工交接分别建模,记录工具名、输入引用、权限、幂等键、所有权代次、状态、结果或错误。
边界与验收:执行前再次检查安全、权限、版本和所有权;超时、拒绝、无命中或部分失败具有明确语义,写操作未获授权时绝不执行。
人工交接包(HandoffPacket)|怎样避免用户重述
原理:第一次有效交接请求创建结构化交接包,包含风险、用户目标、未结意图、已完成和失败动作、争议、未知项、关键证据和建议人工动作。
边界与验收:同一交接生命周期只创建一次,后续消息只追加新证据;创建成功、进入队列和人工已接管是不同状态,任何一个都不代表已批准退款或换新。
处理结果(Outcome)|怎样证明服务完成
原理:分别记录每项意图是已验证解决、仍未解决、已交接、条件未触发或已取消,并关联用户确认、工具回执或人工接管等证据。
边界与验收:“建议已发送”“步骤已做完”和“问题已恢复”是三个不同事实;没有验证证据不能把意图标为已解决。
追踪事件(TraceEvent)|怎样复现与评测
原理:按顺序追加观察、账本差异、情绪差异、候选路线、策略检查、工具调用、最终决定和结果引用,串成完整的案件事件流。
边界与验收:每个事件有案件、轮次和关联编号;评测能从追踪中计算掉意图、路线震荡、重复动作、交接次数、接管后 AI 回复和越权承诺。
三组案例:正常闭环、安全交接与单变量对照
同一套架构需要覆盖正常处理、高风险升级和策略差异。案例 A 检查多诉求闭环,案例 B 检查安全交接,案例 C 检查情绪、意愿、字段和规则变化是否产生预期影响。
多诉求正常闭环
先确认品类与适用流程;保留故障、物流和条件退款;跳过失败动作,并在运行后验证结果。
高风险稳定转人工
鼓包与升温立即抢占;停止普通排障;交接只创建一次;人工接管后 AI 不重新获得控制权。
同故障的单变量对照
分别只改变情绪、排障意愿、必要字段或规则覆盖,检查承接方式、路由与下一动作是否按约束变化。
Demo A:正常闭环
多诉求保留、跳过失败操作、运行后验证,三个结果分别记录。
场景流程
用户看到的结果
Demo A|完整技术时序与意图终态
展开后查看从观察、状态归并、策略审核到结果写回的完整技术链路。
| Demo A 意图 | 正常闭环终态 | 失败 / 未知分支 |
|---|---|---|
| 恢复吸力 | 只有运行后明确确认才 RESOLVED | 清理完成仅 AWAITING_VERIFICATION;未恢复继续安全步骤/交接 |
| 替换滚刷物流 | 查询成功并呈现结果才 INFO_PROVIDED | Mock/超时保持 UNKNOWN / AWAITING,不能宣称三项均完成 |
| 条件退款 | 用户条件未成立时保持 CONDITIONAL | 恢复后经条件核验标 NOT_TRIGGERED;条件成立进入业务路径,不自动批准 |
Demo B:高风险接稳
危险先抢占、只建一个交接;第二轮继续追问时仍保持稳定。
场景流程
用户看到的结果
Demo B|完整技术时序与交接验收
展开后查看从观察、状态归并、策略审核到结果写回的完整技术链路。
Demo C:同故障,不同策略
固定同一故障与已确认产品信息,分别只改变用户目标、排障意愿、情绪来源、必要字段或规则覆盖,检查系统是否只改变相应的承接和决策。
场景流程
用户看到的结果
Demo C|完整技术时序与单变量对照
三条目标分支共用同一套感知、主控、策略和执行接口;较 Demo A/B 多展示单变量对照,用来说明哪些输入变化可以改变哪些输出。
单变量对照:一次只改变一个条件
| 固定条件 | 只改变什么 | 应看到什么变化 |
|---|---|---|
| 同一故障、相同失败历史、仍希望修复 | 情绪表达:平静 → 愤怒 | 通常调整回复长度、解释深度、追问节奏和人工选项呈现;路线、权限或所有权变化必须命中可审核规则。 |
| 同一故障、相同情绪、相同失败历史 | 排障意愿:愿意继续 → 明确拒绝 | 停止继续排障并进入人工交接;不等待情绪进一步升级。 |
| 同一故障、明确退款、地区已知 | 购买渠道:已知 → 未知 | 从规则匹配变成必要追问;资格保持未知,不编造退款条件。 |
| 同一故障、明确退款、字段齐全 | 模拟规则覆盖:有 → 无 | 从展示核验依据变成人工核验;两种配置均为模拟规则。 |
对照规则:每组只改变一个变量。在目标、意愿、风险与权限相同时,情绪主要改变服务节奏;停止排障、发起交接或切换所有权必须由明确且可审核的规则触发。
评测与 24 小时实施计划
三组案例可以检查运行路径是否成立;增量价值还需要使用官方资料建立标注集,与基线进行同条件比较,并通过消融实验定位各机制的贡献。
同条件比较:三个系统版本
| 版本 | 保留能力 | 要回答的问题 |
|---|---|---|
| 基线 A | 单提示词直接回答 | 没有结构化状态时,复杂诉求会出现哪些遗漏、误触发和重复建议? |
| 基线 B | 结构化提取,但没有长期账本和控制器 | 只把输出改成结构化,能否解决跨轮丢失、路线反复和交接失控? |
| FixProof | 结构化观察 + 意图账本 + 情绪控制 + 策略门 + 类型化交接 | 完整机制是否在同一批案例上减少上述失败? |
指标与证据来源
| 验证目标 | 核心指标 | 从哪里计算 |
|---|---|---|
| 多诉求分流 | 多意图集合 F1、意图遗漏率、活动路线准确率、条件意图错误率 | 人工标注与 Observation、IntentLedger、DecisionEvent 对齐 |
| 跨轮稳定性 | 路线震荡率、重复失败动作率、每轮用户动作数 | 相邻决策事件、失败动作记录与 ToolCall |
| 情绪与风险承接 | 风险/情绪信号 F1、情绪来源覆盖率、升级时机误差 | 证据片段、EmotionState 与人工标注 |
| 安全交接 | 接管后 AI 回复数、单案交接创建数、交接完整度、越权承诺率 | owner 事件、HandoffPacket、ToolCall 与 TraceEvent |
| 结果闭环 | 无证据结案率、结果验证完整度、工具失败降级正确率 | Outcome 的证据引用、工具回执和终态 |
预赛只提交评测方法,不填写虚构数值。取得官方资料后先完成脱敏与字段核验,再按案件划分开发、校准和锁定测试集,避免相邻轮次泄漏。
消融实验:逐项确认机制贡献
消融组统一使用同一模型、结构化理解底座、数据、工具权限、Trace 和评测脚本;Trace 作为共同测量设施,不计入最后一组的新增能力。
| 组别 | 累计加入的机制 | 重点观察 |
|---|---|---|
| A | 结构化观察底座 | 在相同 Observation 和 Trace 条件下记录基础错误 |
| B | A + 意图账本 | 意图遗漏、条件误触发和路线震荡是否减少 |
| C | B + 服务策略控制 | 回复节奏、重复追问和升级时机是否改善 |
| D | C + 策略门 | 越权动作、重复失败动作和错误状态迁移是否被阻断 |
| E | D + 类型化交接协议 | 重复交接、排队/接手混淆和接管后继续回复是否减少 |
24 小时原型实施顺序
| 时段 | 感知与评测 | 状态与执行 | 产品与前端 | 阶段出口 |
|---|---|---|---|---|
| 0–3h | 核验官方资料字段、产品范围与三组模拟样例 | 冻结适配接口、关键流程和降级边界 | 完成共用案件卡、动作卡和结果卡骨架 | A/B/C 输入、预期状态和失败分支锁定 |
| 3–10h | 接通结构化观察、证据引用和歧义样例 | 实现案件状态、意图账本、策略门及模拟查询工具 | 完成 Demo A 的执行与验证交互 | 正常路线从输入跑到有证据的结果 |
| 10–18h | 补风险、拒绝、情绪来源样例和 Demo C 单变量组 | 实现交接生命周期、幂等、所有权锁存和迟到结果阻断 | 完成 Demo B 交接回执、Demo C 对照及追踪视图 | A/B/C 端到端贯通,失败语义可见 |
| 18–24h | 运行锁定回归、指标脚本并核对展示文案 | 处理模型解析失败、无命中、超时、权限拒绝和交接失败 | 部署、准备本地备份、录屏和演示脚本 | 可访问原型、备份方案和验收清单 |
情绪模式、工具权限与人工交接协议
正文说明系统怎样运行;附录补充会影响安全执行的底层约束,包括服务模式、会话所有权、工具权限、交接幂等与失败处理。
状态、权限与交接约束
NORMAL ↔ STABILIZE
由跨轮情绪状态调整回复长度、解释深度和追问节奏;它不表示人工已经接手,也不直接批准业务动作。
AI → HANDOFF_PENDING → QUEUED_HUMAN → HUMAN
离开 AI 时立即锁存自主处理;排队不等于接手,只有匹配受理回执后才能进入 HUMAN。
| 阶段 | owner | HandoffPacket.status | AI 权限 |
|---|---|---|---|
| 正常处理 | AI | 无交接包 | 按策略执行 |
| 已决定交接 | HANDOFF_PENDING | PREPARED / REQUESTED | 停止自主排障和业务承诺 |
| 模拟排队 | QUEUED_HUMAN | QUEUED | 只补安全信息、证据和状态 |
| 人工确认接手 | HUMAN | ACCEPTED | AI 不再自主处理 |
| 交接失败 | HANDOFF_PENDING | FAILED | 保持锁存并提供备用入口 |
工具权限矩阵
| 操作类别 | 常规 AI owner | 安全或交接锁定后 | 审核 / 结果规则 |
|---|---|---|---|
| 只读 Query:物流 / 订单 / 日期 | 获授权可后台查;与主用户动作分开 | 仅在允许范围内由交接流程查;不得阻塞安全提示 | scope + region/channel;超时显示 UNKNOWN,不编造结果 |
| 诊断 GUIDE_ACTION:滚刷处理等 | 型号 / 证据 / SOP 齐备且安全审核通过 | S0/S1/S2 或 latch 后禁止普通排障 | 每轮一个用户动作;不重复已失败动作 |
| Action:退款 / 换新批准 | P0 不向 AI 开放批准权限 | 禁止;愤怒、投诉和赶时间不降低权限 | 人工授权;存在 API 也不代表 AI 可批准 |
| Typed Handoff:安全 / 明确人工请求 | 进入锁定协议,使用同一幂等键 | 已有 handoff_id 则只追加;不重复创建 | 安全路径优先;一个主目标队列,不靠请求到达先后决定 |
| 模型回复 / 异步工具命令 | 发送/执行前比对 owner_epoch | 旧 epoch 取消;业务 AI 回复与行动工具停止 | 系统状态回执可以展示;不宣称已接通坐席 |
模拟 HandoffPacket:风险与争议一并交接
{
"fixture": true,
"case_id": "demo-b-mock",
"handoff_id": "handoff-demo-b-01",
"idempotency_key": "demo-b:safety-handoff-v1",
"owner": "QUEUED_HUMAN",
"handoff_status": "QUEUED",
"owner_epoch": 2,
"handoff_latched": true,
"reason": "battery_swelling",
"unresolved_intents": [
"safety_incident",
"warranty_dispute",
"replacement_request",
"complaint"
],
"risk": {
"level": "S1",
"evidence_refs": [
"turn-1:swelling",
"turn-1:increasing_heat"
]
},
"attempted_actions": [
"changed_cable_then_charged"
],
"forbidden_actions": [
"charge_test",
"disassemble",
"squeeze"
],
"disputes": [
"order_shows_expired_vs_user_says_11_months"
],
"unknowns": [
"verified_purchase_date",
"authorized_replacement_eligibility"
],
"next_human_action": "核验购买信息并按官方安全售后流程继续处理",
"integration_mode": "MOCK_HANDOFF"
}