mattpocock/dictionary-of-ai-coding

发布时间 2026-09-15 15 天前
来源 GitHub TypeScript
字数 3,515 字
查看原文

补充自 2026年09月15日

AI智能总结

开发者 mattpocock 上线了一本面向 AI 编程的词典,把常见术语翻译成通俗易懂的中文,以破解行业内依靠制造认知门槛获利的现象。

AI 编程词典

AI Coding Dictionary

AI 编程似乎总是只有专家才能玩得转——术语无人解释、失败原因神秘莫测、花费账单与工作量也对不上。

但其实并非如此。很多困惑是被刻意制造的:有一整条靠风险投资供养的利益链,靠让这门技术"难以理解"来获利。

这些最基本的概念,一个下午就能学会。一旦掌握,整个过程就不再像是在猜谜。

为什么上下文会退化?为什么账单这么贵?为什么同一段提示词,今天和明天的表现截然不同?

只要有人告诉你该用哪些词,每个问题都有一个干净的回答。

这本词典正是为此而生。把 AI 编程的词汇,翻译成通俗易懂的中文。

想要不止于词汇本身? 加入超过 62,000 名开发者的行列,订阅 aihero.dev/newsletter,获取我最新的 AI 工程技能、思考,以及让你保持领先的资源。


目录

第 1 节——模型(The Model)

第 2 节——会话、上下文窗口与轮次

第 3 节——工具与环境

第 4 节——失败模式

第 5 节——交接

第 6 节——记忆与引导

第 7 节——工作模式

第 1 节——模型

AI

AI 是一个不断移动的标签,而不是一项固定的技术。"AI"(人工智能)并不像模型或词元那样指向某个确定的事物——它指向的是计算机当下能够做到的、令人印象深刻的"新事物"。此刻它指向的是大语言模型。在过去,它曾指向过截然不同的东西:

时代 "AI" 所指代的事物
1950 年代 符号推理——定理证明器、跳棋程序。
1960–70 年代 基于规则的符号程序——ELIZA、SHRDLU。
1980 年代 专家系统——成千上万条手写的 if-then 规则,编码了人类专家的经验。
1990 年代 博弈树搜索——1997 年"深蓝"击败卡斯帕罗夫。研究人员当时完全回避使用"AI"这个词。
2000 年代 统计机器学习——垃圾邮件过滤器、推荐系统。仍以"机器学习"而非"AI"之名出售。
2010 年代 深度学习——图像识别(AlexNet,2012 年)、AlphaGo(2016 年)。
2020 年代 大语言模型——2022 年 ChatGPT 让"AI"等同于聊天机器人。

这个标签的指向是按已知机制迁移的,通常被称为"AI 效应":一旦某项技术稳定地奏效,它就会被重新命名——它"不过是"搜索、"不过是"统计——然后"AI"这个词就向前滑动,去指代下一个尚未解决的问题。这个观察由来已久。Bertram Raphael 在 1971 年这样写道:"AI 是我们还不知道如何用计算机妥善解决的问题的集合名称。"Larry Tesler 在大约 1979 年给出的版本是:"智能,就是机器尚未做到的那些事。"

这就是为什么关于 AI 的讨论常常各说各话。像"AI 不能推理"或"AI 被过度炒作"这样的论断,其实隐含着一个时间戳——它可能在谈论专家系统、2010 年代的图像分类器,也可能在谈论上个月的大语言模型,而每一种所指都能支持不同的结论。当关于 AI 的讨论陷入僵局时,修正方法通常是把"AI"这个词换成实际想表达的那个精确术语:是模型、运行框架、智能体,还是它所获得的上下文。

避免使用: 在任何技术性论断中使用"AI"——应当明确指出你所指的具体部分。用"AI 编程"作为这项实践的标签没问题,但"AI 在产生幻觉"这种说法则不行。

用例:

"CTO 想了解 AI 能否处理分诊队列。"

"在评估范围之前先把这个翻译一下——她指的是一个接入工单系统的大语言模型运行框架。单独的'AI'并不是一个规格说明。"

模型(Model)

模型就是那些参数。它是无状态的,只负责下一词元预测,不做其他任何事。"Claude Opus 4.x"和"GPT-5.x"都是模型。模型本身无法执行任何智能体式的操作;它必须被接入运行框架。

模型不能读取文件、不能运行命令、不能浏览网页,也无法记住昨天发生的事——它接收词元、输出词元,每模型提供商请求一次。所有那些看起来像智能体在工作的过程——选择工具、读取结果、循环直到任务完成——都是运行框架在一连串预测之间进行编排的结果。

模型提供商以分级形式发布模型:一个最大、最聪明但缓慢且昂贵的版本,以及更小、更快、更便宜但能力较弱的版本。选择哪一级是一个真实的决策——重型用于规划和困难的调试,轻型用于机械性的修改——而且运行框架允许你在同一个会话中途切换。

对用词保持严格,也能让诊断更精准。"这个模型不擅长这件事"是一个具体论断——同一个模型换到不同的运行框架,或者在不同的上下文下,通常表现完全不同。在归咎于模型之前,先检查你给它的是什么:大多数令人失望的输出,最终都能追溯到上下文或运行框架,而不是参数。

用例:

"我们是否应该在规划步骤把模型从 Sonnet 换成 Opus?"

"可以试试——但这个任务主要是运行框架在起作用。如果系统提示和工具不对,换模型也不会有帮助。"

参数(Parameters)

参数是模型内部的数字——通常是数十亿个——在训练过程中被调好。模型"知道"的一切都存在这些数字里。训练设定它们;推理使用时它们保持不变。参数也被称为权重。

从机制上讲,参数就是将输入转化为输出的东西。下一词元预测是一次庞大的计算:上下文窗口中的词元输入后,与参数相乘,输出下一个词元的预测。模型内部并不存在一个事实数据库,也没有代码查找表——只有这些数字,它们被排列成使得计算倾向于产出有用的结果。模型能够凭训练记忆下来的事实(例如标准库的 API),被称为参数化知识:它存储于参数之中,而不是从任何地方检索而来。

值得内化的细节是:参数在训练之后就被冻结了。你在会话中做的任何操作都不会改变它们——无论是你做的修正、你展示的代码库,还是它从中吸取的教训。每次会话都运行在同一组数字之上。这就是模型是无状态的原因,也是它的内置知识会停留在知识截止日期的原因,还是任何项目专属的内容都必须经由上下文传入的原因。参数唯一的改变方式是重新训练——而那实质上会产出另一个模型。

用例:

"我们能在我们的代码库上对它进行微调吗?"

"那会更新参数——之后就变成另一个模型了。对于单个项目而言,把代码库加载为上下文几乎总是比重新训练更便宜。"