第九章 · 大模型

9.4 模型的能力边界

本节最后更新:2026-05-12
验证环境:无(纯理论章节)

AI 做得好和做得差的领域

理解模型的能力边界,和知道怎么使用模型一样重要。毫无保留地信任 AI,和完全不相信 AI,都会让你无法充分发挥 Vibe Coding 的优势。

你需要对"AI 在什么场景下表现好、什么场景下容易出错"有一个清晰的认知。这种认知不是从评测报告里读来的——而是从你自己的实践中积累的。

以下是对 2025 年主流模型能力边界的总结。需要强调的是:这是一个快照,不是永久结论。 模型能力每个月都在进步,今天 AI 做不好的事情,下个模型版本可能就会改善。

AI 擅长的领域(高可靠)

模式匹配和模板生成。

这是 AI 最擅长的领域。它从大量训练数据中记住了各种"标准模式"——常见的 UI 组件(按钮、表单、导航栏)、标准的 CRUD 操作(增删改查)、通用算法(排序、搜索、数据处理)。在这些标准化的任务上,AI 的输出质量最高,几乎不需要修改。

典型例子:

代码翻译和迁移。

将一段代码从一种语言翻译到另一种语言,或从一个框架迁移到另一个框架,AI 做得非常好。因为训练数据中有大量"同一功能、不同语言实现"的对应关系,AI 学会了"翻译"的能力。

典型例子:

文档和注释生成。

AI 在生成自然语言文本方面天生擅长——因为它本身就是语言模型。为代码生成文档、注释、使用说明,AI 几乎不会出错。

典型例子:

标准化测试的编写。

单元测试是一种高度模式化的代码——结构固定(describe/it/expect)、逻辑简单(给定输入→验证输出)。AI 在这方面表现稳定。

典型例子:

AI 表现中等的领域(需要人工审查)

复杂的状态管理。

当应用涉及大量交互状态时——多步骤表单、复杂的数据依赖、异步流程——AI 有时会搞混状态之间的关系。它可能在"通常情况下"正确,但在"边界条件下"遗漏了某个状态的更新。

为什么 AI 在这里表现中等?因为状态管理涉及"隐式的因果关系"——表单步骤 A 的状态影响步骤 B 的可用选项,用户的操作序列会影响最终结果的走向。这些因果关系在很多代码中不是显式写出来的,而是分散在各处的逻辑中。AI 可能忽略了某些分支路径的因果链。

实践建议:

创造性的架构设计。

当需求比较开放、有多种可行的实现方案时,AI 给出的方案虽然合理,但未必是最优的——因为 AI 倾向于选择"最普遍的"方案,而不是"最适合你这个场景的"方案。

举个例子:你问 AI "我的博客系统应该怎么存储文章?"——AI 可能建议用 PostgreSQL + 全文搜索。这个方案本身没有问题,但它没有考虑到你可能只有几十篇文章(SQLite 就够了),或者你的核心需求是"快速搜索"(可以考虑 Elasticsearch 或 Meilisearch),或者你只是需要基本的增删改查(文件系统 + 元数据就够了)。

AI 给出的方案是"对于大多数场景都合理的方案"——但"合理"不等于"适合你的场景"。

实践建议:

长链路的调试。

AI 在分析单一函数或模块中的 Bug 时表现很好。但当 Bug 涉及多个文件、多个服务、多个网络调用时——前端代码→后端 API→数据库查询→缓存层——AI 的定位能力显著下降。

为什么?因为长链路调试需要"在多个文件中追踪数据流"——数据从 A 传到 B,经过转换后传到 C,然后 D 调用了某个接口返回了意外的结果。AI 需要同时在上下文中看到 A/B/C/D 四个文件的代码才能定位问题。但如果四个文件都贴进去,上下文窗口的占用很大,AI 可能顾此失彼。

实践建议:

AI 表现较弱的领域(需要特别注意)

涉及事实准确性和一致性的任务。

AI 有时候会"编造"——说它记得的东西,但其实它记错了。这种"幻觉"在以下场景中比较常见:

当答案涉及"具体的、可验证的事实"时,AI 仍然会出错。不是因为它"想"骗你——而是因为它在概率性地生成最可能的 Token,而不是在"查数据库"。

实践建议:

对"新事物"的理解。

AI 的训练数据有一个截止日期。在这个日期之后发布的技术、框架、库——AI 不知道。

如果你问 AI "如何使用 React 19 的 Server Components"——如果 React 19 是在模型训练数据截止日期之后发布的,AI 会用 React 18 或之前的知识来"拼接"一个看起来合理的答案。这个答案可能在概念上正确,但在具体 API 和语法上完全错误。

类似的问题:新的语言特性(ES2025 的新语法)、新发布的库(2025 年新出的某个 NPM 包)、最近的 API 变更(某个云服务商更新的 API 签名)。

实践建议:

需要外部实时信息的任务。

AI 在生成代码时不"知道"当前时间、不"知道"你电脑上的文件、不"知道"当前某个 API 的可用性。它只能基于它训练时的知识来回答。

所以以下任务 AI 做不好:

实践建议:

一个实用的"信任-调校"框架

理解了 AI 的强项和弱项后,你可以建立一个"信任-调校"的框架——对不同类型的问题,采取不同的信任度。

任务类型信任度策略
生成标准 UI 组件★★★★★可以直接使用,略读即可
生成 CRUD 接口★★★★☆检查关键路径,关注边界情况
编写单元测试★★★★☆检查测试用例是否覆盖了关键场景
翻译代码★★★★☆验证关键逻辑,关注语法差异
代码重构★★★☆☆审查整体结构,特别注意副作用
架构设计★★☆☆☆作为参考,自己做决策
复杂 Bug 定位★★☆☆☆用 AI 缩小范围,自己确认根因
安全敏感代码★☆☆☆☆必须严格审查,必要时手写
新技术的准确信息★☆☆☆☆仅作参考,以官方文档为准

这个框架不需要严格遵守——它是一个思维工具,帮你在不同的任务场景下建立"合理怀疑"的习惯。你对某个模型用得越久,越能根据自己的经验调整这个"信任度"表。

边界越清晰,Vibe 越流畅

最后,对能力边界的理解本身也会让你的 Vibe Coding 更流畅。

当你知道"这个问题的答案 AI 可能不行"时,你会提前调整你的提示词——提供更多上下文、要求 AI 明确标注不确定性、或者让 AI 只做"辅助"而不是"主力"。你不会在 AI 出错后感到挫败——因为你从一开始就没期待它 100% 正确。

相反,当你知道"这个问题 AI 很擅长"时,你可以放心地让 AI 去做,自己去做更有价值的事情。

边界意识的提升路径:

有了这种边界感,Vibe Coding 就从"碰运气"变成了"可控的协作"。

本节要点
Vibe 练习

设计一个"边界测试":

分别让 AI 做三件事,对应三个信任等级:

信任等级一:"用 Tailwind 写一个卡片组件——包含头像、用户名、简介和一个关注按钮。"

信任等级三:"帮我重构这个 React 组件——把 state 逻辑提取到单独的 hooks 中。[贴代码]"

信任等级五:"帮我设计一个中小型社交网站的后端架构,包含用户认证、内容发布和实时通知功能。"

观察 AI 在每个任务上的表现。对"信任等级一"的任务,它的输出是否接近完美?对"信任等级五"的任务,它给出的方案是"合理"还是"有亮点"?

这个练习不是为了测试 AI——是为了测试你自己对 AI 的"边界感知"。把一个信任度打分和你的实际体验对比,看看你的"直觉"和 AI 的实际表现有多接近。这个差距,就是你还需要在实践中积累的经验。