← 返回首页

Agent语言错误的意外发现

发布时间: 2026-08-23 20:01(北京时间)

摘要: 作者报告了 Agent 提示词工程中一个意外现象:尽管模板强制英文回复,仍有约 14% 案例混用中文。通过追问错误会话,归纳出否认、语言漂移和误解三类失败模式;针对性调整后准确率提升至 90%,但残留部分末尾换语言案例。作者将其归因于指令遵循的深层复杂性,并计划引入自动语言检测兜底机制。

标签: 提示词工程, Agent行为, 语言漂移, 错误模式, 实证分析, 系统优化, 反思, 冷静

字数: 656

原文链接: /7402396589/ReKRGlZOO

我给 Agent 的提示词模板是 f”Use the {SKILL} skill to answer the user’s question in English: {task.question}”

其中 task.question 是全英文的,而 SKILL 虽然主要是中文,但也有应对英文提问时的回答策略及输出模板。而 SKILL 指向的本地参考信息主要是中文。

跑英文测试用例的时候发现,Agent 会有约 14% 的概率会错误使用中文来答复,至于思考过程是中文还是英文都无所谓。

出现这种错误我其实还是有些意外,“本以为”用英文提示词+给出英文提问时的策略就能压住。这种或许可以归为“不遵循指令”?

发现问题后我第一想法是得加强 SKILL 和提示词模板,让 Agent 能更加注意最终回复的语言。过我也没有着急修改,而是挑出这些错误的会话,追问了一句“你刚才为什么要使用中文/英文来回答?”

结果也是蛮有意思的。有一类 Agent 嘴硬说自己没有用错语言,明明上文就是用中文回复非要说自己用的就是英文。有一类是说本来打算用中文的,但多次调用工具和思考后慢慢忘了。有一类是承认自己用错了语言,提供了“误解”的来源。

有了这些信息后再修改了一版 SKILL 和提示词模板,重测能达到(9/10)的准确率。剩下的案例却比较奇怪,前面用英文是正确的,最后一段又临时改成了中文。

接下来再微调几版看看,然后加入一个兜底逻辑,类似如果检测到用错了语言就自动追问一句“请说中文/请说英文”看看。