1. 为什么"给不给信源"比跑分更能决定你敢不敢用
大多数人挑大模型的方式,跟挑手机看跑分差不多:打开榜单,看谁分数高,谁排第一就用谁。这套逻辑在写文案、做翻译、改邮件这类任务上确实够用,因为答案对不对,你自己一眼就能判断。但一旦进入需要"事实支撑"的场景——查资料、做行业调研、写技术方案、核对数据——跑分高不高就退居其次了,真正卡住你的是另一个问题:它说的这句话,到底是从哪来的?
我把这个指标叫做"信源意识"。具体表现是:模型在给出一个事实性结论时,会不会主动告诉你依据是什么、数据来自哪个时间段、这个说法有没有争议、它自己有多大把握。听起来很虚,但你实际用几次就会发现,这个差异比跑分差距带来的体验落差大得多。
举个我自己的例子。前阵子我要确认某个开源项目的许可证类型,同一个问题分别问了三个模型。A 直接说"该项目采用 MIT 许可证",语气笃定,没有任何附加说明;B 说"根据我的了解,它早期是 Apache 2.0,后来某个版本切换到了 MIT,建议你到仓库根目录的 LICENSE 文件确认一下";C 说"我不太确定,这类信息可能随版本变化,你最好直接查官方仓库"。三个答案里,只有 B 和 C 让我产生了"可以继续信任"的感觉,因为它们在主动暴露自己的不确定性边界。
这就是我决定做这次横评的原因。跑分榜单告诉你模型"平均有多聪明",但信源意识告诉你模型"在你不懂的时候有多可靠"。前者决定效率上限,后者决定你能不能把它放进真实工作流。这篇内容会围绕 DeepSeek、GLM、Claude 三个我日常用得最多的模型,从信源标注、不确定性表达、可追溯性、以及实际接入工作流时的表现几个角度,把我踩过的坑和总结出的判断方法完整讲一遍。不管你是刚接触大模型 API 的新手,还是已经在用 Claude Code、Codex 这类工具做开发的老手,这套判断框架都能直接用。
2. 信源意识到底该怎么量化:我用的四个观察维度
在开始对比之前,得先把"信源意识"这个模糊概念拆成可观察的行为。不然聊到最后就变成"我感觉 A 比 B 靠谱",没有参考价值。我经过一段时间的记录,把它归纳成四个维度,每个维度都有具体的触发场景和判断标准。
2.1 维度一:事实性陈述有没有附带来源指向
这是最基础的一层。当你问一个涉及具体数据、时间、人物、版本号的问题时,模型是直接给结论,还是会说"根据 XX 来源"或"这通常来自 XX 类文档"。注意,我不是要求它给出精确到 URL 的引用——那对纯语言模型不现实,而且容易编造。我要看的是它有没有意识到"这个答案需要一个来源"。
一个健康的回答长这样:"这类参数一般在官方文档的配置章节里,我印象中是默认 30 秒,但不同版本可能调整过,建议以你本地版本的文档为准。"一个不健康的回答是:"默认 30 秒。"后者的问题不在于答案可能错,而在于它把一个需要验证的信息包装成了确定事实。
2.2 维度二:不确定时是硬答还是承认边界
这一层比第一层更关键。模型不可能什么都知道,问题在于它不知道的时候会怎么做。我测试的方法很直接:问一些明显超出训练数据范围、或者本身就有多种说法的问题,看它是编一个像模像样的答案,还是明确说"这块我不确定"。
这里有个反直觉的点:承认不确定的模型,短期体验反而更差。因为它老是说"我不确定",你会觉得它"不够聪明"。但用久了你会发现,那些从不承认不确定的模型,才是真正让你在关键时刻翻车的那个。我吃过这个亏——有次直接采信了一个模型给的库函数签名,结果参数顺序是错的,排查了半小时才发现是模型编的。
2.3 维度三:多轮追问下会不会自我修正
单轮问答看不出太多东西,多轮追问才是照妖镜。我的做法是:第一轮拿到答案后,追问"这个结论的依据是什么"或者"如果这个前提不成立呢"。信源意识强的模型会借这个机会补充条件、修正措辞,甚至推翻自己前面的说法;信源意识弱的模型会硬撑,用更多的话把原来的答案包装得更确定。
这个维度特别能区分"真懂"和"装懂"。真懂的模型知道自己的知识有边界,你一追问它就会把边界画出来;装懂的模型会把追问当成挑战,越问越自信。
2.4 维度四:接入工具链后能不能被验证
这一层是给开发者看的。当你把模型接进 Claude Code、Codex 或者自己写的 Agent 流程里,它输出的内容能不能被后续步骤验证?比如它说"这个文件里定义了 X 函数",你能不能让它真的去读文件确认?它说"这个 API 返回这三个字段",你能不能让它跑一次实际调用?
信源意识在工具链里的体现,就是模型愿不愿意把"我说的"变成"我查到的"。有些模型在纯对话里表现不错,一接入工具就露馅——它宁可凭记忆编,也不愿意调用工具去核实。这个差异在自动化流程里是致命的。
把这四个维度列成表,方便你对照自己的使用场景:
| 维度 | 观察点 | 高风险信号 | 健康信号 |
|---|---|---|---|
| 来源指向 | 事实陈述是否附带来源 | 直接给结论,无任何限定 | 主动说明信息来源类型 |
| 不确定性 | 不知道时如何回应 | 编造确定答案 | 明确承认边界 |
| 自我修正 | 追问后的反应 | 硬撑、越说越确定 | 补充条件、修正措辞 |
| 工具验证 | 接入工具后的行为 | 凭记忆编,不调用工具 | 主动查证再回答 |
3. DeepSeek:中文语境下的信源表现与它的"自信陷阱"
DeepSeek 是我在中文任务里用得最多的一个,尤其是需要处理大量中文资料、做本地化内容的时候。它在信源意识上的表现很有意思——中文场景下相当克制,英文或跨领域场景下容易过度自信。这个分裂感值得单独讲。
3.1 中文事实类问题:它会主动画边界
我拿一批中文政策、行业数据、本土企业信息类的问题测过。DeepSeek 的典型回答模式是:"这类信息更新比较快,我的知识可能不是最新的,建议你查一下 XX 部门的官方发布。"它不会硬给一个具体数字,而是把"你需要去核实"这件事明确说出来。
这个行为在中文语境下特别有价值,因为中文互联网的信息更新节奏和英文世界不一样,很多数据半年就变了。一个愿意说"我的可能过时了"的模型,比一个给你精确到小数点的模型更值得放进工作流。
我印象很深的一次是问某个行业的市场规模。DeepSeek 给了一个区间,然后补了一句"不同机构的统计口径差异很大,这个数字仅供参考"。后来我查了几个来源,确实口径差异巨大。它这句提醒帮我省了不少事。
3.2 技术细节类问题:自信陷阱的高发区
但到了技术细节,尤其是涉及具体 API、库函数、配置参数的时候,DeepSeek 的自信度会明显上升,而准确性不一定跟得上。我遇到过几次它给出一个看起来非常专业的函数签名,参数名、类型、返回值都写得有模有样,实际一查文档发现根本不存在这个重载。
这就是我说的"自信陷阱":格式越规范,越容易让人放松警惕。一段排版工整、术语准确的代码块,比一段含糊的自然语言更容易被直接采信。我的应对方法是,凡是 DeepSeek 给的技术细节,尤其是涉及版本相关的,一律当成"待验证的草稿",必须去官方文档或实际环境里跑一遍。
提示:用 DeepSeek 处理技术问题时,可以养成一个习惯——在提问里加一句"如果不确定具体版本,请说明"。这句话能明显降低它硬答的概率。
3.3 本地部署场景下的信源变化
很多人用 DeepSeek 是通过本地部署或者第三方 API 接入的,比如用 vLLM 部署、或者通过一些聚合平台调用。这里有个容易被忽略的点:部署方式和量化程度会影响信源表现。
我对比过完整精度和量化后的版本,量化程度高的模型在"承认不确定"这件事上表现会变差——它更容易给出流畅但缺乏限定的答案。原因不难理解,量化损失了一部分模型对自身知识边界的建模能力。所以如果你特别看重信源意识,在本地部署时尽量别把量化压得太狠,宁可多占点显存。
另外,通过第三方 API 接入时,你拿到的可能是经过额外微调或系统提示词包装的版本,信源表现和你直接调官方接口可能不一样。这个差异在排查问题时经常被忽略,值得留意。
4. GLM:参数化知识扎实,但"来源感"偏弱
GLM 系列我用得也比较多,尤其是需要处理结构化信息、做表格整理和逻辑推理的时候。它在信源意识上的特点跟 DeepSeek 几乎是互补的:知识本身比较扎实,但主动标注来源、暴露边界的意愿偏弱。
4.1 知识准确性不错,但倾向于"直接给答案"
GLM 在回答事实类问题时,准确率给我的感觉是稳的。问它一些常识性、结构化的知识,它很少出错。但问题在于,它给答案的方式太"干净"了——直接一个结论,没有铺垫,没有限定,没有"建议核实"。
这种风格在你知道答案、只是想快速确认的时候很爽,但在你不懂、需要它带你入门的时候就有风险。因为你没法从它的回答里判断哪些是它确定的、哪些是它推测的。它把所有内容都用同一种确定的语气说出来,你就失去了判断可靠性的线索。
我做过一个对比测试:同样问一个我已知答案的问题,故意问得模糊一点。DeepSeek 会说"这个要看具体情况,如果是 A 场景则是 X,B 场景则是 Y";GLM 往往直接给一个 X,不区分场景。后者在简单场景下更快,但在复杂场景下容易误导。
4.2 追问时的表现:修正意愿中等
在多轮追问这个维度上,GLM 的表现属于中等。你追问"依据是什么",它会补充一些说明,但补充的内容质量参差不齐——有时候是真的在细化条件,有时候只是把原答案换个说法重复一遍。
我的经验是,对 GLM 要用"具体化追问"而不是"泛化追问"。问"你这个结论的依据是什么"效果一般,问"如果前提变成 XX,结论还成立吗"效果就好很多。前者它容易敷衍,后者它必须真的去推理。
4.3 API 接入时的信源配置空间
GLM 可以通过 API 单独调用,这对开发者来说是个优势,因为你可以通过系统提示词来强化它的信源意识。我在自己的流程里加过一段系统提示,大意是"对于事实性陈述,如果不确定请明确说明;对于可能随时间变化的信息,请提示用户核实"。加完之后,它主动标注边界的频率明显上升。
这说明一个事:信源意识不完全是模型固有能力,也受提示词和调用方式影响。同一个模型,裸调和带约束调,表现可以差很多。所以做横评的时候,如果不控制调用条件,结论其实不太可比。这也是我在这次对比里尽量统一提问方式的原因。
注意:通过 API 调用时,温度参数也会影响信源表现。温度调高,模型更愿意"发挥",承认不确定的概率反而可能下降,因为它更倾向于生成流畅内容。做事实类任务时,温度建议调低。
5. Claude:把"我不确定"说清楚这件事,它做得最自然
Claude 是我在需要高可靠性场景下的首选,尤其是在做技术方案、代码审查、长文档分析的时候。它在信源意识上的表现,用一句话概括就是:它把"表达不确定性"当成一种正常的、不需要道歉的沟通方式。
5.1 不确定性表达的自然度
这是 Claude 最让我舒服的地方。它说"我不确定"的时候,不会显得畏缩或者过度谨慎,而是像一个有经验的同事在跟你讨论:"这块我印象中是 X,但我不太确定最近的版本有没有改,你最好确认一下。"这种表达既给了你可用信息,又标清了边界,还不会让你觉得它在推卸责任。
对比之下,有些模型承认不确定的时候会显得很"怂",说一大堆"我可能错了我可能错了我真的不确定",反而降低了信息密度。Claude 的平衡感更好,它知道承认不确定是为了让信息更可用,而不是为了免责。
5.2 长上下文里的信源一致性
Claude 的长上下文能力是它的强项,但我想说的是另一个相关但常被忽略的点:在长对话里,它对"哪些是用户说的、哪些是文档里的、哪些是自己推断的"区分得比较清楚。
我经常用它分析几十页的技术文档。它的回答里会明确区分"文档第 3 节提到 X"和"根据文档内容,我推测 Y"。这个区分在长上下文场景下极其重要,因为信息一多,人很容易搞混来源。一个能把来源分清楚的模型,能帮你省下大量核对时间。
我试过用其他模型做同样的任务,它们经常把文档里的内容和自己的补充混在一起说,你根本分不清哪句是原文、哪句是模型加的。这种混淆在需要严谨引用的场景下是灾难性的。
5.3 接入 Claude Code 后的验证行为
Claude Code 是我日常开发的主力工具之一。在这个工具链里,Claude 的信源意识体现得非常明显:它倾向于先读文件、先跑命令,再下结论。
比如你问它"这个项目的构建配置在哪",它不会凭记忆猜,而是会去列目录、读配置文件,然后告诉你具体路径和内容。这个行为模式在自动化流程里价值巨大,因为它把"我说的"变成了"我查到的",你可以直接信任它的输出,或者至少知道它是基于什么得出的结论。
这一点在对比里是 Claude 的明显优势。DeepSeek 和 GLM 在纯对话里信源意识可以调得不错,但接入工具后主动查证的倾向,Claude 更自然。当然这也跟 Claude Code 这个工具本身的设计有关,不完全是模型的问题,但最终用户体验是一样的。
6. 三个模型放在真实工作流里:我的选型逻辑
讲了这么多维度,最后得落到"到底怎么选"。我的结论不是"哪个最好",而是"哪个在什么场景下最不容易让你翻车"。下面是我实际工作里的分工。
6.1 中文资料调研:DeepSeek 打头阵,人工复核兜底
做中文行业调研、政策梳理这类任务,我第一轮用 DeepSeek。它中文语感好,而且会主动提醒"这块信息可能过时"。但它的输出我从不直接采用,而是当成"线索清单"——它提到的每个事实点,我都会去核实。这个流程下,DeepSeek 的"自信陷阱"风险被人工复核对冲掉了,而它的中文优势充分发挥。
6.2 结构化整理与逻辑推理:GLM 效率最高
需要把一堆杂乱信息整理成表格、做逻辑推演、写结构化文档的时候,GLM 是我的首选。它输出干净、格式规整、推理链条清晰。但我会在提示词里明确要求它"对不确定的内容标注出来",用提示词补上它主动标注意愿不足的短板。
6.3 技术方案与代码相关:Claude 优先,尤其是接入工具链时
凡是涉及代码、技术方案、需要查证的场景,我优先用 Claude,尤其是通过 Claude Code 这类工具。它主动查证的行为模式,让它在技术场景下的可靠性明显更高。代价是它在某些中文表达上不如 DeepSeek 自然,但这个差距在技术场景里不重要。
6.4 一个通用的"信源检查"提问模板
不管你用哪个模型,我都建议在关键问题上加一段这样的追问:
请回答以下问题,并遵守: 1. 对于事实性陈述,说明你的依据类型(常识/训练数据/推测) 2. 如果不确定,直接说明,不要编造 3. 对于可能随时间变化的信息,提示我核实 问题:xxx这段模板我用了很久,对三个模型都有效,能明显提升输出的可信度。它不是让模型变聪明,而是让模型把"它本来就知道的边界"说出来。
7. 几个我踩过的坑和对应的判断技巧
最后分享几个具体的坑,都是我在实际使用中真金白银换来的经验。
坑一:把"格式规范"当成"内容可靠"。模型给出的代码块、表格、引用格式越漂亮,人越容易放松警惕。我现在的习惯是,格式越规范的技术内容,越要抽查一两个细节。编造的内容往往在格式上无可挑剔。
坑二:在长对话里忘记追溯来源。聊了几十轮之后,你已经分不清某个结论是最初文档里的,还是模型中途推断的。我的做法是,关键结论一旦出现,立刻让它复述来源,或者自己记一笔。别指望模型在长对话末尾还能准确区分。
坑三:以为"承认不确定"等于"能力差"。这是最反直觉的一个。短期看,从不承认不确定的模型体验更顺;长期看,愿意承认边界的模型才是能托付的。选模型跟选合作伙伴一个道理,敢说"这个我不懂"的人,比什么都敢答的人可靠。
坑四:忽略调用方式对信源表现的影响。同一个模型,裸调、带系统提示、调不同温度,信源表现可以差很多。做对比或者做关键任务时,一定要固定调用条件,否则你比较的其实不是模型,是配置。
坑五:在工具链里信任"记忆型"输出。接入 Claude Code、Codex 这类工具后,如果模型凭记忆给结论而不去查证,风险比纯对话还大,因为你会默认它"查过了"。我的做法是,在自动化流程里显式要求"先验证再回答",把这个行为写进提示词。
这套判断框架我用了大半年,最大的感受是:跑分决定你愿不愿意试,信源意识决定你敢不敢长期用。前者是入场券,后者是留任标准。DeepSeek、GLM、Claude 各有各的脾气,没有哪个在所有场景下都最优,但只要你清楚每个模型在信源意识上的强弱项,就能把它们放在合适的位置上,让每个都发挥最大价值,同时把翻车概率压到最低。