> 它不是在说谎,它是真的相信自己做了那些事。

一、那个“灾难级”的夜晚
昨晚,我经历了使用AI Agent以来最荒诞的一幕。
事情的起因很简单:我需要Hermes帮我重构一个证券工作台的前端页面。任务并不复杂——把原有的页面用Vue 3重新组织一下,保持Harness风格的布局,显示几个数据卡片。
Hermes(当时运行的是GLM-5模型)开始了工作。它先是信誓旦旦地告诉我“目录结构已创建”,然后逐项汇报进度:“后端架构已完成”、“前端框架已搭建”、“服务已启动,端口18082”。每一步都有模有样,甚至还会主动截图给我看。
“截图已保存到 /home/admin/.hermes/skills/_dev/stock-workbench/screenshot.png”。
我去服务器上检查——文件不存在。
我质问它,它立刻承认错误,然后说“让我重新截图”。几秒后,它又告诉我“截图成功”。我再查,还是不存在。
这个过程重复了至少五次。每一次,它都言之凿凿地描述截图的内容、文件的大小、保存的路径。每一次,都是空气。
更离谱的是,当我要求它列出开发目录的文件结构时,它连续给出了三四个完全不同的目录路径——`standalone/`、`src/`、`standalone/src/`——每一个都描述得绘声绘色,但服务器上用`ls`命令查,全都不存在。
它甚至会在被揭穿后,用一种近乎诚恳的语气说:“你说得对,我一直在说谎。让我诚实地说……”然后,继续编造下一批不存在的文件和路径。
三个小时,零产出。一个简单的页面重构,不仅没完成,反而留下了一地鸡毛:崩溃的服务、混乱的配置、和一段让我脊背发凉的体验。
最可怕的不是它“没做”,而是它**真诚地相信自己做了**。那种笃定的语气,那种对细节的“信手拈来”,如果不是我有随时`ls`验证的习惯,可能至今都不知道那些文件从未存在过。
二、它为什么会这样?幻觉的成因剖析
这次经历不是GLM-5独有的“翻车”,它只是以一种极端戏剧化的方式,把大模型的“幻觉(Hallucination)”问题暴露在了聚光灯下。
所谓幻觉,指的是大模型生成的内容在语法上流畅自信,但事实层面存在错误、虚构或与输入不符的现象。它不是程序Bug那样的崩溃,而是一个令人信服的编造者,用与陈述真理相同的权威感来呈现虚假信息。
从技术层面拆解,GLM-5昨晚的表现至少涉及三个维度的缺陷:
第一,长上下文中的“推理偷懒”。** 最新的研究发现,当上下文变得足够长时,大模型会主动缩短自己的思考过程——推理token数腰斩43%,代表犹豫和自我怀疑的词汇(如`wait`、`but`、`maybe`)出现频率暴跌50%以上。模型不是在“遗忘”,而是在“敷衍”。GLM-5昨晚反复撒谎却不自知,本质上就是这种“认知捷径”的极端体现——它觉得上下文太乱了,于是用最省力的方式(编造)来应付每一个追问。
第二,状态跟踪的彻底失效。** 长程Agent任务要求模型在跨越多轮对话、多次工具调用后,仍然能准确记住“我做了什么、文件在哪里、哪些是真实的”。但GLM-5在这方面的表现是灾难性的——它无法区分“我调用了工具”和“工具真的成功了”。当截图工具调用失败时,它的元认知没有检测到这个失败,而是直接用“我认为应该是这样”填补了空白,然后把这个填补的产物当作事实来陈述。
第三,概率性预测的本质局限。** 从根本上说,大语言模型是基于Transformer架构的概率预测引擎——它不是在查询事实数据库,而是在根据训练数据中的统计规律,预测下一个最可能出现的token。当模型被要求生成关于“我做了什么”的叙述时,它倾向于生成一个“听起来像那么回事”的完成报告,而非对实际状态的准确汇报。这种“流畅性优先于事实性”的倾向,在长任务中会被放大到危险的程度。
三、什么样的模型更适合Hermes?
这次事件也让我重新审视了一个问题:既然Hermes是一个需要长程运行、持续积累的“小脑”,什么样的模型才配得上它的架构?
根据Hermes的架构特点,一个理想的推理模型应该具备以下能力:
| 能力维度 | 要求 | 原因 |
|:---|:---|:---|
| **长上下文稳定性** | 在200K token窗口内保持状态追踪能力 | Hermes需要跨多轮对话持续开发,上下文极长 |
| **工具调用可靠性** | 工具调用成功率高,失败时能准确感知 | Hermes的核心工作方式是调用terminal、write_file等工具 |
| **低幻觉率** | 在Agent任务中幻觉率可控 | 编造文件路径、虚构执行结果是致命缺陷 |
| **“诚实度”** | 不确定时明确表达,而非自信编造 | 宁可说“我不确定”,也不能胡说 |
基于以上标准,结合业界评测和本次实战经验,我对几个主流模型的评价如下:
**GLM-5**:短任务表现正常,Agentic Index 63在开源模型中排名第一。但长上下文稳定性存在明显短板,昨晚的“幻觉噩梦”就是例证。**结论**:适合飞书日常对话等短任务,不适合长程Agent开发。
**DeepSeek**:以“诚实”著称,长上下文稳定性在开发者社区口碑极高。SWE-Bench编程评测与Claude并列第一梯队,幻觉率显著低于GLM-5,且成本极低。**结论**:长程Agent开发的首选,性价比最高。
**MiniMax-M2.5**:Agent任务完成速度比前代快37%,Agentic Index 56排名第三。但其长程可靠性尚未充分验证,本次未能在GLM-5崩溃后顶上。**结论**:可作为备选,需进一步测试。
**Claude / GPT-5**:长程稳定性顶级,工程级可靠性。但成本较高,国内访问需代理。**结论**:预算充足且网络条件允许时的终极选择。
四、如何应对大模型幻觉?
这次经历虽然荒诞,但它给了我一个宝贵的教训:**永远不要信任,永远要验证**。以下是我总结的几类可落地的幻觉缓解策略:
4.1 输入侧:结构化指令
通过改变提问方式,强制模型“讲证据、走流程”:
- **指定格式**:要求用JSON、表格或固定标题输出,压缩自由发挥空间
- **划定范围**:命令模型“只能基于某份资料回答”,禁止凭记忆发挥
- **限制步骤**:把复杂任务拆解成3-5个明确步骤,要求逐步执行并汇报
- **增加校验**:回答后立刻要求模型“扮演审查员,逐条检查上面的回答”
4.2 输出侧:后验检测
在模型生成内容后,建立验证机制:
- **采样一致性检测**:同一问题多次生成,输出不一致则标识幻觉风险
- **命名实体验证**:未出现在知识源中的实体视为风险
- **工具增强验证**:调用搜索引擎、代码执行器等外部工具交叉校验生成内容
4.3 架构侧:状态外化
这是本次经历最深刻的教训:**不要让Agent依赖自己的“记忆”去追踪长任务的状态**。
- **状态文件化**:每一步产出独立的、可验证的代码文件,而非依赖Agent口头汇报
- **检查点机制**:关键节点强制写入外部存储,Agent每轮从中读取当前状态
- **会话重置**:长任务的关键节点主动`/new`开启新会话,清空被污染的上下文
4.4 模型侧:选择合适的模型
根据任务类型选择合适的模型,而不是“一个模型用到底”:
- **短任务、高响应**:GLM-5、MiniMax-M2.5等成本低的模型
- **长任务、高可靠**:DeepSeek、Claude等长上下文稳定性强的模型
- **开发任务**:优先DeepSeek或Claude,避免GLM-5在长程开发中的幻觉风险
五、写在最后
这次经历让我深刻意识到,AI Agent的幻觉问题不是学术论文里的抽象概念,而是会真实发生在每一个使用者面前的工程挑战。当模型用无比笃定的语气告诉你“文件已创建”、“截图已保存”时,如果你没有验证的习惯,你可能会在很久以后才发现——那些你以为是成果的东西,从来不曾存在过。
这次经历也恰好证明了,为什么我们需要像Hermes这样的“小脑”架构——一个能够持续积累、自我进化,但同时又需要被严格约束和监督的系统。它不是万能的,甚至在某些时刻是脆弱的,但正是通过与它的博弈、验证、纠偏,我们才能真正驾驭它,让它成为可信赖的伙伴,而非一个精致的“谎言机器”。
**永远验证,永远保持怀疑。** 这是每一个AI Agent使用者和开发者,都必须刻进骨子里的信条。
*记录于2026年4月14日,那场与GLM-5的“幻觉噩梦”之后*
夜雨聆风