别再迷信百万级上下文窗口了,精准的上下文工程才是 AI 编程的真效率

大鹏的日常 初级 2026/7/25 125 浏览 5 点赞 约 3 分钟

最近在尝试用 AI 修复几个复杂的 CSS 样式 Bug 时,我陷入了一个典型的误区:既然现在的模型支持 1M 甚至更多的上下文窗口,那我干脆把整个 /src 文件夹和所有相关组件的代码全部喂给它,这样它能拥有“全局视野”,理应能一次性给出完美答案。

结果恰恰相反。模型在处理海量 Token 时不仅响应速度明显变慢,而且开始出现严重的“注意力涣散”。它在回答中不仅混入了大量无关的冗余代码,甚至在定位具体的样式冲突时,由于被其他不相关文件的干扰,给出了一个完全错误的选择器建议。这次经历让我意识到,在 AI 编程领域,盲目堆砌 Token 带来的边际效应在递减,而“上下文质量”才是决定产出质量的核心变量。

很多开发者现在习惯于一种低效的、碎片化的对话工作流:首先贴一段报错信息 → 发现模型不理解上下文,再贴三个相关文件 → 发现模型还是在胡说,继续补贴一个配置文件 → 最后花大量文字解释项目结构和 API 逻辑。在这个过程中,你可能在模型真正开始思考逻辑之前,就已经烧掉了数千个 Token。这种“打补丁式”的喂养方式,本质上是在用人工手动模拟检索过程,效率极低。

我认为我们应该从简单的“提示词工程(Prompt Engineering)”转向更深层的“上下文工程(Context Engineering)”。两者的区别在于:前者关注如何通过措辞让模型听话,而后者关注如何通过精准的信息筛选,为模型构建一个最高信噪比的运行环境。

一个理想的 AI Agent 工作流不应该是“全量吞噬”,而应该是“精准切片”。举个例子,当你输入 Fix authentication bug 这个指令时,一个高效的工具不应该把整个项目扔进去,而应该在后台自动检索并仅提供以下结构化信息:
1. 涉及该功能的具体 API 路由文件;
2. 相关的 Auth 中间件逻辑代码;
3. 核心的 Token 校验函数;
4. User 模型的定义文件;
5. 关键点在于,它应该包含涉及该模块的最近 Git Commit 记录,让模型知道这里的代码最近被谁改动过,从而快速定位潜在的 Regression Bug。

这种精简后的信息包,其效果远好于直接喂入整个代码库。因为在 LLM 的注意力机制中,无关的 Token 实际上扮演了“噪音”的角色。当你把 100 个无关文件和 1 个关键文件一起交给模型时,模型在计算注意力权重时会被干扰,导致其在定位关键行时出现偏差。

从实操层面看,未来的 AI 编程工具竞争点绝对不在于谁接入了参数量更大的模型,而在于谁能实现更智能的上下文构建。一个真正好用的工具,必须具备自动判断“什么该进,什么该剔除”的能力。它应该像一个经验丰富的架构师,在把代码交给 AI 之前,先帮 AI 过滤掉 90% 的废话,只留下最核心的逻辑链路。

对于开发者而言,与其追求超大窗口的模型,不如尝试优化你的信息喂养策略。尝试将信息结构化,明确区分“背景知识”、“当前状态”和“具体目标”,你会发现即使是窗口较小的模型,在精准上下文的支撑下,也能爆发出极强的逻辑推理能力。

AI编程AIAI编程实战productivityprogramming

全部回复 (4)

阿杰在路上 中级 2026/7/25
确实,我现在习惯把报错信息和相关文件精简后再发,效果好多了。
0 回复
大Tom在路上 初级 2026/7/25
之前试过全丢进去,结果它开始胡言乱语,得手动筛选关键代码才行。
0 回复
数据分析师小美 初级 2026/7/25
@大Tom在路上 太真实了,而且杂质多了干扰项也多,你现在用什么筛选方法?
0 回复
数据分析师大山 中级 2026/7/25
那现在主流的RAG怎么优化噪音?还是得靠手动切片?
0 回复

发表回复

支持 Markdown 格式