2291 字
约 7 分钟
17
S21-A25 · 用户说"不对"之后:Agent 的纠正循环怎么设计

一个"邮件撰写"助手,用户说"太生硬了",它就"更礼貌一点";用户说"还是太生硬",它"再礼貌一点"——第三次输出"尊敬的、敬爱的、万分感谢",反而更难用。因为它把"纠正"理解成"沿着一个方向加密",而用户要的是"换一种写法".

Agent 的"多轮纠正"有三个关卡:听懂"哪不对"、决定"改哪里"、以及避免"越改越偏"。而这三关里,"越改越偏"最常见,因为"纠正"天然被当成"加强".

1. "纠正"的三种类型

类型 用户说什么
程度(太多/太少) "太长了""再简单点"
方向(换一种) "太生硬""不像我们的语气"
事实(错了) "金额写错了""日期不对"

第一项是"可调的":"太长"→ 缩短;"太短"→ 补充第一项的"判据"是"能不能给出一个方向相反的指令":"太长"的相反是"太短","生硬"的相反不是"不客气",而是"另一种语气".
——方向明确,模型容易执行.
第二项的"识别问句"很实用:
"您希望我'更客气一点',还是'换一种更自然的说法'"——一次确认,省掉三轮试错.
第二项最容易被误当第一项:
"太生硬"不是"减少生硬的程度",而是"换一种表达方式"
——而"再礼貌一点"是"程度"的解法,于是越改越偏.
第三项必须"先确认":"金额错了"要"问清正确值",不能"猜一个".

2. "越改越偏"的三种机制

机制 说明
把"方向"当"程度" 加形容词/加修饰
在"上一版"上叠加 差异被累积
没有"回退" 越改越远离目标

第二项是"结构性"的:"每一轮都在"上一版"上改"第二项的"后果"很具体:"第一版很简洁,改到第三版"又长又绕"——**因为"简洁"这个优点从未被"保护",而"每次改动"都在"叠加".
——于是"第一版的优点"也在被改掉.

"分清类型"可以用一个"两问"的分流,而它比"猜"快:

// 两问分流(每次纠正)
Q1 能说出"反方向的词"吗?(太长↔太短)
   能 → 程度类:在上一版上调
Q2 说不出反义词,但能举"类似的例子"吗?
   能 → 方向类:回原始请求重写
   都不能 → 事实类:先确认"哪个值不对"
// 判据:三个分支"互斥",命中即处理

3. "三种纠正"的应答策略

类型 策略
程度 沿"上一版"调整(保留结构)
方向 回到"原始请求"重写(而不是在上一版上加)
事实 先确认正确值,再改

第二项的"成本"是"多一次生成":看起来"浪费",而它比"改三轮"便宜——因为"从起点重写"只有一次机会跑偏,"在上一版上改"每轮都在累积偏差.
第二项是关键:
"换一种"要"回到起点"**——因为"起点"里有"用户最初的意图",而"上一版"已经被"错误的方向"带偏.

"确认"要"给具体选项",否则它只是"再问一遍":

// 三种"确认"的写法(从差到好)
差:您能说得更具体一点吗?
中:您是指"太正式"还是"太长"?
好:我理解您想要"更像同事之间说话"(示例:……)。是这样吗?
// 判据:确认里"带一个具体例子",用户"只需点头或纠正"

4. "确认"的三种时机

时机 例子
事实类纠正 "您是指金额应为 1,200 吗"
指令模糊 "更'专业'是指更简短,还是更多术语"
反复纠正(同一处 3 次) "我们先确认一下您最在意哪一点"

第三项是"止损":"同一处改三次还没对",说明"我们对目标的理解不一致"第三项的"话术"要"给选择":"我先确认一下:您更在意'短'还是'自然'?"——**于是"用户"从"反复否定"变成"一次定义",而定义之后"一轮就能改对".
——**继续改只会"更远".

"记账"的载体可以很轻,而它让"第三轮"不再犯"第一轮的错":

// 一份"纠正台账"(每次会话,三行)
原始要求:给客户写"催款邮件",语气"不失礼貌但要有效果"
已否定:不要感叹号;不要"尊敬的"
当前版本意图:简短、直接、给"付款链接"
// 判据:生成前"读一遍台账",生成后"更新台账"

5. "纠正"要"记账"的三种内容

内容 作用
用户的原始要求 重写时的"起点"
已尝试的改动 避免"重复同一个错"
已被否定的方向 避免"又转回去"

第三项的"实现"很轻:把"已否定的写法"存成"清单",每次生成前"读一遍"——于是"否定"从"一次性反馈"变成"持续约束".
第三项最容易被漏:
"用户说过'别用感叹号'",而第三轮又出现了感叹号**——**因为"提醒"只在当时生效,没有"记住".

"越改越偏"还有一个"可观测"的信号:"差异在累积"。

// 三步"看是否跑偏"
1 把"当前版"与"第一版"并排:差多少处?
2 若"差异越来越大,而用户仍说不对" → 方向问题,回起点
3 若"差异缩小但方向仍错" → 说明"目标没定义清",先确认
// 判据:改"三轮"还没对,就"别改第四轮"

6. 排错:五种"纠正循环问题"

现象 成因 处理方向
越改越啰嗦 把方向当程度 回原始请求重写
用户重复同一句 没听懂类型 先确认"哪一类"
改对了又改回去 无"否定清单" 记录"已否定"
事实错误被猜 未确认 先问正确值
用户放弃 反复无效 三次即止损

"改 + 给另一版"是"赶时间用户"的折中,而它要"两版差异明显":

// 三种"给两版"的做法
1 一版"按字面改"(缩短 20%),一版"换风格"(更口语)
2 只给"改后"(用户没时间比较)
3 给"三版"(选择过载,反而更慢)
// 判据:两版"差异要能被一句话说清",否则不如一版

7. 边界:什么情况"直接改"就好

场景 为什么 做法
明确的程度要求("缩短 20%") 无歧义 直接改
格式要求("改成表格") 机械 直接改
错别字/标点 无争议 直接改
用户"赶时间" 不想被追问 改 + 给出"另一版"

判断口径一句话:"这次纠正,是"调整程度"还是"换方向""。最后一条与"信任"有关的边界:"纠正"的体验决定"用户还愿不愿意提意见":**"一次说清、一次改对"会让用户"愿意多说";"改三轮还不对"会让用户"自己动手改",而"自己改"之后就"不再用你的工具".
程度(长短、多少),在上一版上调;方向(语气、风格、思路),回到原始请求重写——而"把方向当程度改",就是"越改越偏"的唯一原因.

再补一个"产品"视角:"纠正"是"用户教你的唯一机会"——他说的"不对"里,既有"这次的要求",也有"以后都别这么写"。而"两件事混在一起"时,系统往往只处理了前者,于是"同一句抱怨在下一封邮件里重演"。所以"纠正"要"分两层记录":"这次改什么"(对本轮)与"以后别怎样"(对风格)——而后者正是"越用越顺手"的来源,也是"认真听反馈"与"听完就忘"的分水岭。

而"两层"这个区分,恰好是"一次纠正、长期受益"的最小实现。

8. 自测

  1. 三种"纠正类型"分别怎么应答?为什么"太生硬"不属于"程度"?
  2. "越改越偏"的三种机制里,哪一种最"结构性"?它为什么让"第一版的优点"消失?
  3. 为什么"换方向"要"回到原始请求"?"上一版"里缺了什么?
  4. "同一处改三次"为什么要"止损"?继续改会怎样?
  5. "否定清单"为什么必须"跨轮记住"?
  6. 判断"该在上一版改还是重写"的那个问题是什么?
S21-A25 · 用户说"不对"之后:Agent 的纠正循环怎么设计
https://www.clxhxhhr.top/posts/6696/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。