关于使用 AI 的两点提醒
过去几年,AI 的能力迅速提高。写作、编程、资料检索、文献阅读、数据分析、研究设计,许多过去需要投入大量时间的工作,现在都可以由 AI 先完成相当一部分。
但使用得越多,我越觉得,真正决定 AI 使用效果的,未必是掌握了多少“提示词技巧”。更重要的是两个更基本的问题:第一,你是否仍然把足够的注意力投入到任务本身;第二,你是否向 AI 提供了足够完整、准确的 context。
如果把我的理解压缩成两句话,就是:
Attention is all you need.
Context is everything.
第一句话借用了 Vaswani 等人在 2017 年发表的论文 Attention Is All You Need。这篇论文提出 Transformer,标题中的 attention 指 attention mechanism。我在这里借用这句话,是想强调另一层含义:AI 可以替代越来越多的生成性工作,但人的注意力仍然决定最终结果的质量。
第二句话没有同样明确的单一出处。“Context is everything”更像一句长期流传的通用表达。Margaret Atwood 在 The Handmaid’s Tale 中有一句很接近的话:“Context is all.” 在 AI 使用中,context 有一个非常具体的含义:模型能够理解你的任务到什么程度,很大程度上取决于你向它提供了多少与这项任务有关的信息。
这两个原则分别对应两个问题:
Attention 决定人应该做什么。
Context 决定 AI 能够理解什么。
许多具体的 AI 使用方法,都可以从这两个原则推出来。
一、Attention is all you need
1. AI 降低了生成成本,但没有取消判断
AI 最显著的变化,是大幅降低了很多工作的生成成本。
让它写一段文字,几秒钟以后就可以得到一份结构完整的初稿;让它写代码,很快就可以生成一套可以运行的程序;让它解释一个经济现象,它也可以迅速列出若干理论机制。
这很容易造成一种错觉:工作已经完成了。
但生成一个“看起来像答案的东西”,和得到一个真正可靠的答案,是两回事。
一段文字是否准确,一项分析是否建立在正确的事实基础上,一个模型是否符合研究问题,一段代码是否真的实现了预期功能,一个 empirical result 是否能够支持相应的 causal claim,这些问题都不会因为 AI 能够流畅地产生答案而自动消失。
相反,当生成成本接近于零以后,判断的重要性反而上升了。
过去,一项任务的大量时间可能耗费在初稿、整理、计算和表达上。现在,AI 可以承担其中相当一部分工作。人的注意力应该随之重新配置,更多地投入到:
问题是否定义正确;
材料是否可靠;
逻辑是否成立;
证据是否支持结论;
不同解释之间如何区分;
最终结果是否真正解决了原来的问题。
AI 时代真正稀缺的资源,越来越不是“能否产生内容”,而是是否能够判断哪些内容值得保留,哪些应该修改,哪些应该直接丢弃。
2. 专业知识仍然决定你能看见什么问题
因此,我并不认为 AI 会使专业知识迅速失去价值。
很多时候,AI 的能力越强,专业知识越重要。
一个没有系统学习过计量经济学的人,可以要求 AI 写一段 DID 程序。程序很可能能够正常运行。但如果他不了解 staggered adoption 下传统 TWFE 的问题,不清楚不同 estimator 对应什么 estimand,也不知道 identifying assumption 是否适用于自己的研究设计,那么他很难判断这段程序究竟有没有回答自己的问题。
类似地,一个缺乏经济学训练的人,也可以要求 AI 分析某项政策。AI 可以快速列出“促进投资”“改善预期”“提高效率”“优化资源配置”等一系列机制。但如果使用者自己无法判断这些机制之间是否存在逻辑重复,是否与制度背景一致,是否产生可以检验的 observable implications,那么这些内容很容易停留在表面上合理的解释。
所以我越来越倾向于一个判断:
AI 最容易帮助的,往往是已经知道自己在做什么的人。
这里的“知道自己在做什么”,并不是要求一个人事先知道答案,而是要求他至少知道问题是什么,知道怎样判断一个答案的好坏,也知道什么样的错误值得警惕。
AI 可以降低获取答案的成本,却无法自动赋予使用者判断答案的能力。
3. Iteration beats prompting
这也意味着,使用 AI 不应该被理解为“一次性提问”。
很多关于 AI 使用的讨论过度强调 prompt,好像只要找到一个足够精巧的 prompt,就应该一次得到高质量答案。
这种理解很容易把 AI 使用变成一种“提示词炼金术”。
我的经验相反。
Iteration beats prompting.
真正复杂的任务,很少依靠第一轮 prompt 就能够完成。
更有效的过程通常是:
先让 AI 做一版。
然后认真看。
它在哪些地方理解错了?
哪些部分太宽泛?
哪些判断没有证据?
哪些问题被遗漏了?
有没有某个方向虽然不完整,但值得继续追问?
接下来再告诉它:
“这一部分不成立,原因是……”
“不要讨论一般性的内生性,请只讨论这个 identifying assumption。”
“你刚才提出的第三种解释比较有意思,请给出它与第二种解释之间可以区分的 empirical implication。”
“我再补充一份材料,请根据新的信息重新判断。”
如此反复。
第一版回答可能并不好。但只要你能够准确判断它为什么不好,第二轮通常就会明显改善。
因此,一个人是否会使用 AI,很多时候并不体现在第一个 prompt,而体现在第二个、第三个 prompt。
能否发现第一版的问题,并决定下一步应该如何推进,才是 interaction quality 的关键。
而这仍然依赖 attention。
4. 把复杂任务拆开
Attention 还有一个直接的操作含义:不要把一个过大的任务一次性交给 AI。
“帮我写一篇论文。”
“帮我做一个研究。”
“帮我分析一下中国经济。”
这些任务 AI 都可以回答,但结果往往很泛,因为它需要自行填补太多中间步骤。
一个真正的研究任务通常包含多个彼此不同的问题:
研究问题是否成立?
理论机制是什么?
有哪些 alternative explanations?
现有数据能否回答问题?
identification assumption 是什么?
哪些因素可能破坏 identification?
结果应该如何解释?
哪些 robustness checks 真正对应前面的 identification threat?
这些问题最好拆开处理。
任务拆解有两个好处。
第一,每一步都可以单独检查。
第二,一旦结果出现问题,可以定位错误发生在哪一步。
如果把整个任务一次性交给 AI,它会在后台替你做大量没有被显式展示的判断。最后的文字可能结构完整,但中间究竟在哪一步发生了误解,很难追踪。
所以,task decomposition 本身也是一种注意力管理。
把复杂问题拆成可以检查的小问题,既能提高 AI 的表现,也能提高人的判断质量。
5. 让 AI 扩大搜索空间,人负责缩小搜索空间
AI 还有一项很适合利用的能力:低成本生成大量候选方案。
研究中得到一个结果以后,与其问:
“这个结果的机制是什么?”
不如问:
“提出十种彼此真正不同的机制解释,并分别说明:如果该机制成立,我们还应该在数据中观察到什么。”
AI 可以非常快速地扩大你的 hypothesis space。
其中可能有很多解释没有价值,有些只是换一种说法,有些与事实矛盾。但只要其中有一两个方向是你以前没有想到的,这次 interaction 就已经有价值。
但接下来的筛选必须由人完成:
哪些解释符合理论?
哪些解释与制度背景一致?
哪些解释能够产生可检验的预测?
哪些解释只是文字上的 plausible story?
哪些解释已经被现有证据否定?
因此,一个比较合理的人机分工是:
让 AI 扩大搜索空间,让自己负责缩小搜索空间。
AI 擅长 generation,人必须负责 selection。
6. 让 AI 主动攻击你的想法
同样的原则也可以反过来使用。
不要只要求 AI 帮你支持一个已有观点,也可以要求它主动寻找漏洞。
例如:
“这个论证最容易在哪一步失败?”
“如果你是匿名审稿人,你首先会质疑哪个 identification assumption?”
“这里有哪些没有被显式写出来的假设?”
“给出三个能够解释同一组事实的 alternative explanations。”
“出现什么证据以后,我应该放弃目前的解释?”
AI 很适合作为一个低成本的 adversarial reader。
它提出的批评未必正确,但提出批评本身成本很低。使用者可以让它尽可能多地生成潜在反驳,再判断哪些问题真正成立。
这类用法的价值,不在于 AI 自动给出最终判断,而在于它帮助你暴露自己的盲点。
归根到底,Attention is all you need 强调的是:
AI 可以替你大量生成,但你不能从任务中退出。
你仍然必须持续阅读、持续判断、持续选择。
二、Context is everything
如果说 Attention 解决的是“人还要做什么”,那么 Context 解决的是另一个问题:
怎样让 AI 真正理解你想做什么。
很多所谓“AI 不好用”的情况,问题未必出在模型能力本身,而可能出在 context 不足。
1. 不要让 AI 猜你的任务
人自己做一项工作时,脑子里通常保存着大量没有说出来的信息。
这些信息对自己来说是“背景”,因此很容易被忽略。
但 AI 并不知道。
以 Card and Krueger 1994 年发表在 American Economic Review 的经典最低工资论文为例。
作者利用 1992 年新泽西州提高最低工资这一政策变化,将新泽西州与相邻的宾夕法尼亚州进行比较,研究最低工资提高对快餐业就业的影响。
一个学生读完论文以后,如果只问:
“Card and Krueger 这篇论文的 identification 有什么问题?”
AI 可以回答。
但它必须猜很多事情。
它不知道学生已经掌握了什么;
不知道学生究竟想讨论研究设计、数据测量还是 external validity;
不知道学生是在做课堂阅读、研究复现,还是准备论文;
也不知道什么层次的回答才算合适。
于是 AI 很可能给出一张标准清单:
“可能存在 omitted variables。”
“可能存在 measurement error。”
“需要进行 robustness checks。”
这些回答不能说完全错误,但通常缺乏针对性。
如果换一种问法:
“我正在读 Card and Krueger (1994) 关于最低工资与就业的论文。新泽西州在 1992 年提高最低工资,宾夕法尼亚州没有提高;作者比较两州快餐店在政策前后的就业变化。我已经理解基本的 before-after comparison,现在想集中理解这个设计的 identification logic。请回答两个问题:第一,要把新泽西州相对于宾夕法尼亚州的就业变化解释为最低工资的因果效应,需要什么 identifying assumption?第二,哪些现实情况会使这个 assumption 不成立?请把 identification threat、measurement issue 和 external validity 分开,不要泛泛罗列 robustness checks。”
论文没有变。
核心问题也没有变。
变化的是,AI 获得了更多 context。
它知道:
你在讨论哪篇论文;
你已经掌握到什么程度;
你真正关心的问题是什么;
你希望采用什么分析框架;
你不希望它讨论什么。
因此,一个非常重要的原则是:
不要假定 AI 知道你知道的事情。
凡是会影响任务理解的信息,都应该尽可能准确地放进 context。
2. Context 至少包括四类信息
如果要把 context 进一步操作化,我觉得至少可以记住四个词:
Goal、Evidence、Constraints、Standard。
Goal:你要完成什么
不是泛泛地说“帮我看看”,而是明确告诉 AI,希望它完成什么任务。
“评价这篇论文”和“只评价这篇论文的 identification strategy”是两个完全不同的任务。
Evidence:你希望它依据什么
哪些文件、数据、表格、代码、文献、制度事实是判断的依据。
AI 如果没有获得这些材料,就只能依赖一般知识或者自行推断。
Constraints:哪些事情不能做
哪些内容不能改,哪些信息不能添加,哪些问题不要讨论,哪些条件必须满足。
Constraints 往往比很多人想象的更重要。
Standard:什么结果才算好
你希望采用什么评价标准,面向什么读者,达到什么精度,采用什么风格。
例如:
“帮我改写下面这段论文。”
这只有 Goal。
如果改成:
“把下面这段文字压缩到原长度的 70%。保留所有事实判断和文献引用,不增加原文没有的信息,不改变 identification 的含义。减少重复和套话,按照经济学论文的写作方式处理。”
这里就同时提供了 Goal、Evidence、Constraints 和 Standard。
AI 不再需要猜任务的边界。
所以,context 并不等于“写一个很长的 prompt”。
关键在于:把那些真正决定任务边界的信息显式表达出来。
3. 尽量提供 first-hand evidence
Context 的另一个重要组成部分,是原始材料。
假设你读完一篇论文以后告诉 AI:
“这篇论文发现财政分权促进了经济增长,请评价。”
AI 得到的并不是论文。
它得到的是你对论文的一句话概括。
如果你的概括省略了一个重要条件,AI 后续的所有分析都会建立在这个省略之上。
所以,更好的做法通常是直接把材料给它。
分析 regression,就给 regression table;
分析政策,就给政策原文;
检查代码,就给完整代码和 error message;
修改文章,就尽可能给前后文;
回应审稿意见,就把审稿意见和论文对应部分一起给它;
评价一篇论文,就至少提供 abstract、research design、identification strategy 和主要结果。
一个很实用的原则是:
只要能够提供 first-hand evidence,就尽量不要用自己的二手概括替代它。
这会减少信息在传递过程中的损失。
过去使用搜索引擎时,我们习惯把复杂问题压缩成几个关键词。
使用 AI 时,很多任务恰恰需要反过来:
把信息充分展开。
4. Context engineering 比“神奇 prompt”更重要
这也是为什么我现在越来越少把重点放在所谓的“prompt engineering”上。
Prompt 写得清楚当然有用。
结构化表达也有用。
但真正决定结果的,往往不是某一句神奇的话。
“请扮演一名世界顶级经济学家。”
“请进行深入思考。”
“这个问题对我非常重要。”
这类提示可能偶尔有帮助,但如果 AI 不知道你的研究问题、不知道数据结构、不知道制度背景、不知道已经做过什么,也不知道你真正想解决什么问题,这些句式的作用非常有限。
反过来,如果你把:
任务背景;
原始材料;
已有结论;
失败过的尝试;
约束条件;
评价标准;
都放进 context,即使 prompt 本身非常朴素,结果往往也会好得多。
因此,相比 prompt engineering,我越来越觉得 context engineering 是一个更重要的概念。
它要求你把一项原本存在于自己脑子里的复杂任务,转换成 AI 能够理解的信息结构。
而且,这个过程本身会反过来检验你的思考。
因为如果你自己都无法清楚说明:
我到底要解决什么问题?
已经知道什么?
还不知道什么?
哪些条件不能改变?
什么证据能够改变我的判断?
那么 AI 也很难替你把任务想清楚。
结语
如果把上面的讨论全部压缩,最终还是两句话。
Attention is all you need.
AI 可以替你写,可以替你算,可以替你搜索,也可以替你生成大量方案,但它不能替你承担最终判断。你的专业知识、注意力和判断力仍然决定着工作的上限。
Context is everything.
AI 不知道你脑子里没有说出来的信息。任务背景、原始材料、目标、约束和评价标准提供得越充分,它越有可能真正理解你的问题。
两者最终是连在一起的。
只有当你认真理解自己的任务,才知道应该把注意力放在哪里。
也只有当你真正理解自己的任务,才知道应该给 AI 什么 context。
然后,让 AI 做第一版。
看它的结果。
指出问题。
补充材料。
重新做。
Iteration beats prompting.
AI 大幅降低了生成的成本。
它没有取消判断的成本。
这大概是今天学习使用 AI 时,最需要记住的事情。