2781 字
7 分钟
欢迎来到未来:对上下文工程的一些思考
2026-10-10
2026-10-11

看完 jyy 老师《生成式软件工程》的前两讲——欢迎来到未来和提示词与上下文工程,我尝试用 AI 辅助复盘,再把所学和心得整理成这篇博客。

我关心的是:当 AI 已经能完成很多工作,我该怎样使用它,又怎样确认自己真的学到了东西?

AI 改变了什么,学习该留下什么#

AI 降低了实现的成本,也改变了作品与能力之间的关系。一份程序能运行、一份作业拿到满分,未必能说明提交者理解了什么。同样,一份漂亮的摘要,并不能证明阅读已经发生。

但这也降低了开始学习的门槛。过去因为不懂配置而搁置的环境,因为找不到解释而跳过的推导,现在都可以借助 AI 先得到一个能观察、能检查的结果,再围绕问题理解原理。第一讲中,老师借助 Agent 安装、配置 Debian,并在虚拟机中验证,就是一个例子。

第二讲给出的学习方式更值得实践:先弄清一个问题,合上材料,用自己的话复述,再通过追问、反例和原文核对修正理解。 读答案时觉得顺畅,与自己能讲清楚,是两回事。这次回顾中,我也尝试让 AI 追踪论证、补充遗漏,再由自己判断和串联。

Intent、Spec 与 Impl 之间的缺口#

第一讲的一条主线:意图(Intent)、规格(Spec)和实现(Impl)之间存在缺口。从 Intent 到 Spec,需要做产品判断;从 Spec 到 Impl,需要做设计与实现判断。

我之前打 ACM,现在看来,自己接受的训练与 AI 的能力有较强重合:题面给出明确的规格,判题系统提供确定的反馈。这不是说打 ACM 没用,而是 ICPC 题目也是分钟级别解决的内容,和 agent 训练的 reward 是一样的。而 agent 有更多的数据、更明确的反馈信号,所以它做得比我们好。

真实工程中,规格需要自己明确,反馈也可能很晚才来。程序通过测试,只能说明它通过了已有检查,不能证明规格忠实表达了意图。因此,拆解问题、尽早验证、持续迭代,仍然重要。现在我就处于没有经过自我驱动解决long horizon问题的阶段。这应当成为退役后训练的重点。

二维码 Excel 案例还展示了另一层问题:模型可能交出针对当前输入的硬编码结果,或者用大量重复公式满足功能。第一版能运行,输入一变、需求一加,就难以修改。验收不仅要问“这次对不对”,还要问“换个输入是否成立,下一次修改要付出多大代价”。 这其实还是关于品味的内容,感觉AI攻克这些也只是时间问题。

上下文工程:同步目标与判断标准#

模型基于已有上下文生成下一个 token,可以写作 Pr[token | context]。上下文不仅包括用户最后一句提示词,还包括系统与工具说明、项目约定、文件、历史消息和工具返回。

第二讲因此把重点放在上下文工程:让 AI 做决定时,能看到相关背景、目标、约束和证据。老师的经验法则是:写清楚你的指令,承担一切“不明确”的后果。 没有说明的地方,模型仍然会做选择,只是未必符合你的期待。

论文审稿是一个具体例子。让 AI “扮演审稿人”,可以得到像样的评审格式,但它可能沿着作者的框架检查合理性。老师进一步要求它站在人类已知的知识边界上判断:已有工作是什么,解决到了什么程度,这篇论文补上了什么空白。评价标准进入上下文后,回复的方向也随之改变。

我的理解是:把自己依据的背景和标准交给 AI,可以提高彼此对齐的程度,让它关注真正重要的问题。 这也回到了 Pr[token | context]:改变上下文,会影响后续生成。

不过,上下文并非越多越好。每次出错就追加一条永久规则,会让要求越来越难协调。长期稳定的约定、当前任务的细节和过时记录,应当有所取舍。

代码库本身也是上下文。成熟项目中的命名、接口、分层和测试,为 AI 提供了现成范例;混乱的实现也会被继续模仿。反复有效的方法,则可以沉淀为 Skill,保存搜索策略、判断标准和检查点,把机械步骤交给脚本。

验证与注意力:别在错误方向上推进#

Agent 可以调用工具,尝试、观察、检查,再调整下一步。有效反馈让它有机会持续推进,但有反馈不代表方向正确。

第二讲的研究失败案例中,“我想证明这个方法有用”把任务引向了寻找支持结果。AI 构造小 benchmark,得到局部结论,却没有回答实际研究中的关键问题。这其实是 RL 带给模型尽快去验证的执念。老师强调从真实工具和已有先进算法出发,分析困难案例及其搜索路径,寻找值得改进的机制。

这里的区别是:“证明我的想法有用”与“检验这个想法是否成立”,会组织出不同的实验。 实验数量和 token 消耗,都不能替代对研究目标的判断。

人的注意力也需要分配。老师知道怎样让某个任务更快完成,却选择减少干预,把时间用于其他事情。可验证、可替换的实现可以交给 Agent 探索;目标、关键假设,以及影响广、返工代价高的决定,更值得提前关注。

不确定性探索:扩大方向,而非重复答案#

上下文工程也能用于目标尚未明确的任务。此时,需要让 AI 帮助探索不同可能,再逐步形成判断。

讲义用取名字作例子:直接要求几个好名字,可能得到相似的高概率组合;从典故、音韵、方言、时代感等角度分别展开,更有机会发现不同方向。同样,多沿一条路线推理,与探索更多路线,是两种使用计算资源的方式。

不同 Agent 或不同评审路线的价值,也在于视角有差异。若一开始就共享同一个印象,最后可能只是同一判断的多份润色。

探索空间与评价方法需要一起设计。 有了更多候选,还要检查出处、适用条件和实际效果。否则,数量增加并不意味着判断更好。

这是算力换智力的一种体现。模型不会广泛的搜索而是快速先给出答案,所以探索不同可能再汇总。

我的理解:怎样带着 AI 做事#

老师说:“人现在唯一的功能,就是带着 AI 做 AI 现在做不到的事情。”结合前两讲,我把这句话理解为:人需要提供问题背景、方法和判断标准,引导 AI 越过当前的局限。

这也让我重新看待自己的 ACM 经历。拆解、构造反例和验证,仍然可以用在工程中;同时,我需要补上 long horizon(长程任务)的部分:问题是否值得解决,需求如何明确,设计是否便于修改。

这次复盘里,有一次具体的理解修正。我最初把审稿案例概括为“当前 AI 审稿只能验逻辑闭合”。AI 追问:老师有没有明确告诉它,要判断论文是否拓宽了人类知识边界?我回到课堂截图,看到老师补充这个标准后,AI 确实开始围绕已有工作、剩余空白和实际增量组织评审。我因此把重点从“AI 只能做什么”转向了“提供什么上下文,会改变它的判断方向”。

这个理解也用到了后面的研究失败案例:“我想证明方法有用”,会把实验引向寻找支持结果;研究真正需要回答的,却可能是这个方法是否成立。两个案例一正一反,让我更具体地理解了上下文怎样影响任务方向。

但 AI 也会跑偏。讨论老师“带着 AI 做 AI 现在做不到的事情”这句话时,它反复纠结“唯一”和“立即淘汰”是否过于绝对。我指出,我们是在复盘课程,要理解这句话与上下文工程的联系。这个过程也提醒我:把目标写进上下文之后,仍然需要检查对话有没有围绕目标推进。

第二讲讲义最后的总结,正好收拢了这些内容:

对于正在学习的我们,可以从眼前开始改变做事方式:让模糊愿望获得可检查的表达,把有效经验沉淀成可复用的方法,在需要探索时主动扩展方向,又用证据筛选结果。提示词的价值,最终要落在这些行动如何改变任务的结果上。

退役后,我希望通过自我驱动的长程任务,实践这些做事方式。这次写作先从课程复述、证据核对和理解修正开始,再让 AI 辅助组织成文。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

欢迎来到未来:对上下文工程的一些思考
https://shannonkwan.cn/posts/nju-generative-software-thinking/
作者
Shannon Kwan
发布于
2026-10-10
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录