发布于 2025年5月28日,作者:Nikola Balić
核心要点
AI 编程 agents 的最佳实践包括:控制权反转、精心策划的上下文胜过全面信息、基于使用量的定价模式、涌现行为优于工程化功能、丰富的反馈循环,以及原生 agent 工作流程。革命已经到来——要么适应,要么被淘汰。
当你停止谈论AI而开始实际应用时会发生什么?
自主 AI 编程已经到来,但它的样子与大多数人想象的不同。
当科技界还在纠结基准测试分数和 GitHub Copilot 是否会取代程序员时,Sourcegraph 的一个团队一直在悄悄构建一些不同的东西——一个真正有效的 AI 编程 agent。不仅仅是在演示中,而是在实际应用中。
通过听取 Quinn Slack 和 Thorsten Ball 在"Raising an Agent"播客中记录的构建过程,我们可以看到这挑战了我们对 AI 工具的所有认知。
控制权反转:停止微管理你的AI
最大的转变不是技术性的,而是心理层面的。
大多数开发者将 AI 当作高级自动补全来使用:精心制作完美的 prompt,获得完美的代码。这是错误的。
Thorsten 观察到:"从传统的 prompting 到 agentic 方法有一个显著的思维转变。"
这就像一只大鸟,它可以自己捕食...你只需要以某种方式向它提供食物。
这种"控制权反转"意味着给 AI 工具和高级目标,然后让它自己想出执行方案。
区别是深刻的:
- 传统模式:你是一个控制每个动作的木偶师
- Agent 模式:你是一个设定目标并让团队执行的产品经理
AI 不仅生成代码——它决定检查哪些文件、使用什么工具、在出错时如何自我纠正。
这需要真正的信任,而大多数开发者还没有准备好。
上下文是神圣的,但不是你想的那样
每个 AI 讨论最终都会回到上下文窗口和 token 限制。
但真正的洞察不是将更多信息塞入上下文,而是策划进入的内容。
"Agent 上下文窗口中的任何内容都会严重影响其输出...无关或误导性信息可能会让它偏离轨道。"
这导致他们创建了具有自己上下文窗口的专门子 agents,防止主 agent 被嘈杂的中间步骤"污染"。
将上下文想象成手术室:无菌、有目的、只包含手术所需的确切内容。
精心策划的上下文总是胜过全面的上下文。
"无Token限制的魔法"是真实的
这里有一个令人不安的真相,它威胁到 AI 工具的整个定价模式:
Quinn 和 Thorsten 构建的原型(现在是名为 Amp 的产品)之所以如此有效,部分原因是他们完全忽略了成本优化。
当其他工具积极压缩 prompts 和限制上下文以控制费用时,他们的 agent 可以自由思考、推理和迭代。
这创造了一个商业模式危机。
当你的最佳体验每个生成的 pull request 花费 5-15 美元时,如何提供统一定价?
Quinn 在一个月的原型使用中花费了 1000 美元。这与我自己的经验相符,过去几个月平均支出徘徊在 500 美元左右。对于大多数消费者 AI 产品来说,这些成本将是令人望而却步的,但与开发者薪水相比却微不足道。
含义很明确:基于使用量的定价不是缺陷,而是特色。
最强大的 AI 编程工具会花费真金白银,因为它们做真正的工作。
模型的特质:为什么AI实验室的理念很重要
不是所有的 AI 模型都生而平等,差异比基准测试显示的更深层。
每个主要 AI 实验室都通过训练和强化学习期间的有意选择将不同的理念嵌入其模型中。
Anthropic 的理念:构建"实用的迭代 agents",擅长通过环境反馈找出解决方案。将 Claude Sonnet 4 视为编程伙伴,它尝试、失败、学习,然后再试——而不是一次性的代码生成器。
其他方法:其他模型可能更多地针对零样本、单轮生成进行优化——在演示中令人印象深刻,但在出错时适应性较差。
理解模型的"特质"对于选择正确的工具至关重要。未来不是一个 AI 模型统治一切——而是将模型理念与特定用例匹配。
涌现行为胜过工程化功能
最令人兴奋的能力不是计划中的,而是从给 AI 足够的自主权和反馈中涌现出来的。
当 Thorsten 要求 agent 构建录制功能时,它不仅生成了代码,还提供了测试计划。当编辑失败时,agent 尝试了替代方法,添加了调试语句,修复了自己的错误。
子Agent革命
但真正的突破来自子 agents——AI 系统产生其他 AI 系统来处理并行工作。
这不是一个工程化的功能,而是当 AI 意识到它可以分解复杂任务并在多个上下文窗口中分配它们时涌现出来的。
Claude Sonnet 4 在编辑 YAML frontmatter 时自动产生了四个子 agents,每个 agent 获得一个新的上下文窗口并处理大约 9 个文件。
这种子 agent 策略解决了当前 AI 系统的最大限制之一:复杂多文件操作的上下文窗口管理。
后台Agent:在你睡觉时工作的AI
下一个前沿不是更快的 AI——而是异步 AI。
Quinn 和 Sourcegraph 团队正在构建革命性的东西:可以在复杂、长期运行任务(10-15+ 分钟)上工作而无需持续监督的后台 agents。
想象一下:你在孩子的足球比赛现场,拿出手机,描述你想要构建的功能,启动一个后台 agent,当你准备查看时就能获得结果。
人机Agent协作的演进
Thorsten 的工作流程已经从早期让 agent 在整个功能上"大展拳脚"显著演进。
他新的协作模式揭示了人类-AI 伙伴关系在实践中的实际工作方式:
- Agent 实现 Thorsten 架构想法的粗略版本
- 人类手动完善和"移动护栏"——这是一个微妙的过程,很难在单个 prompt 中捕获
- Agent 处理集中的任务,如 UI 组件或类型修复
最有效的人类-agent 协作不是关于完美的 prompts——而是关于迭代完善和清晰的分工。
完美代码的死亡
也许最深刻的转变是 AI 如何改变我们与代码质量本身的关系。
当代码变得"更便宜"生成时,价值方程式根本改变了。
代码存在于从精美手写到大型自动生成文件的光谱中。AI 将推动更多代码走向生成端,但它是由 agent 生成的,也可以由 agent 修改。
这不意味着拥抱草率。它意味着重新定义什么重要。
当你在架构决策和系统设计层面操作时,担心驼峰命名法与短横线命名法变得无关紧要。开发者的角色从"输入代码"转向为 AI "画线"来填充。
丰富反馈胜过完美Prompts
在实践中有效的 AI 编程工具优先考虑反馈循环而不是 prompt 工程。
成功的团队不是专注于制作完美的初始指令,而是专注于给 AI 丰富、迭代的反馈:编译器错误、测试结果、诊断、现实世界验证。
这反映了人类开发者实际工作的方式。我们很少第一次就做对。但我们善于吸收反馈并向解决方案迭代。
最好的 AI 编程体验感觉像对话而不是交易。AI 提议,你回应,它调整,你澄清,它完善。
未来属于Agent原生工作流程
当前的代码库和开发工作流程是为人类限制而设计的:线性思维、有限工作记忆、顺序任务执行。
AI agents 有不同的约束和能力,这意味着我们的工具和实践需要演进。
代码库将适应 agents。创建 agent 友好环境的激励很高,因为 agents 可能提供巨大的生产力提升。
Agent 原生开发可能包括:
- AI 可以解释的更丰富的诊断工具
- 提供特定反馈的更细粒度测试套件
- 为 AI 理解而不仅仅是人类可读性而结构化的代码库
- 捕获意图和上下文而不仅仅是更改的 Git 工作流程
对开发者的意义
这些经验教训描绘了一个近未来的图景,其中 AI 不是取代开发者,而是根本改变开发工作的样子。
未来成功的开发者不会是那些能最快输入代码或记住最多 API 的人。他们将是那些能够有效指导和与 AI 系统协作的人。
这需要新的技能集:
- 产品思维优于实现细节
- 系统架构优于语法掌握
- 反馈和迭代优于完美的第一次尝试
- 信任和委托优于控制和微管理
转变不会舒适。它需要放弃对工艺、控制、手写代码价值的深深信念。
但生产力提升太显著而不能忽视。竞争优势太大而不能让给别人。
不舒服的真相
AI 编程革命实际上是这样的:
不是程序员的替代,而是将编程转变为更接近产品管理和系统设计的东西。
将想法转换为语法的繁琐工作变得自动化。解决问题和架构解决方案的创造性工作变得比以往任何时候都更重要。
这既是解放的,也是可怕的。
解放,因为它将我们从样板代码和语法错误的苦差事中解放出来。可怕,因为它挑战了关于什么造就好开发者和什么编程工作值得付费的核心假设。
我们正在见证开发者工具历史上最快的整合。说真的,从来没有这么快过。
早期拥抱这种转变的团队和公司——接受更高成本以获得更好结果、构建 agent 原生工作流程、开发新的协作模式——将比那些坚持传统方法的公司拥有显著优势。
AI 编程革命不是即将到来。
它已经到了。
问题不是它是否会改变我们的工作方式,而是我们是否能够足够快地适应,从中受益而不是被它取代。
编程的未来不是人类对抗 AI——而是拥有 AI 的人类对抗没有 AI 的人类。选择站在哪一边仍然是我们的选择。
眨眼之间,你可能就会错过它。