软件开发者所使用的AI正处于一种"危险状态"——它太有用以至于不得不使用,但在使用过程中,开发者却失去了审查其工作所需的实战经验。这是在本周举行的中立技术开发者大会QCon London上一位演讲者提出的观点。
Thoughtworks公司AI辅助软件交付全球负责人Birgitta Bockeler在会上重新探讨了她去年在同一活动中谈到的话题——开发者AI的现状。
"一年前,我主要讲的是新兴的智能体模式。'氛围编程'这个术语大约只有两个月的历史,而Claude Code当时还没有全面开放,"她说道。
她告诉与会者,如今的重点是上下文工程。"你需要策划你的模型或智能体看到的信息,以获得更好的结果。"
上下文工程涉及规则、命令、指令和资源,包括大语言模型可以用来更准确执行任务的MCP(模型上下文协议)工具。这些在本地定义,减少了发送到远程大语言模型的上下文大小。
"尽管现在的上下文窗口比一年前大了很多,但当它们满了的时候...智能体的效率会下降,而且成本会高很多,"她说。
另一个即将到来的功能是子智能体,主智能体会生成其他智能体来执行专门任务并报告结果。这减少了主智能体的负载,也可以通过给子智能体一定程度的独立性来提供帮助。"人们喜欢有一个单独的上下文窗口,它不了解会话中的所有历史,来进行代码审查或使用不同的模型,"她解释道。
子智能体概念可以走得更远,趋势是朝着更少监督的方向发展。Bockeler引用了AI爱好者Steve Yegge的观点,他定义了开发者向AI演进的八个阶段,最终构建自己的智能体编排器。Yegge通过一个名为Gas Town的项目实现了这一点,这是"一个由超智能机器人猩猩操作的工业化编程工厂"。
Cursor和Anthropic也在实验智能体群体,Bockeler说,Claude Code有一个名为智能体团队的预览功能。"关键是,需要大量的编排,"她解释道。
"这些进展形成了'诱使我们脱离循环的强大力量',"Bockeler说。
问题在于AI并不安全。它会犯错误,容易受到提示注入等问题的攻击。这意味着开发者要进行风险评估。"总是三个因素的组合:概率、影响和可检测性,"Bockeler说。
减少智能体监督的潜在生产力与审查需求相冲突。"它无监督的时间越长,我之后需要审查的内容就越多,"她在QCon上表示。
风险包括错误代码、恶意软件和机密泄露。Bockeler引用了Simon Willison的致命三要素。"当你有一个智能体接触不可信内容、访问私人数据并能对外通信时,你就面临获得数据问题和安全问题的高风险,"她说,并补充道,仅仅给智能体电子邮件的读取和发送权限就足以引发这个问题。
OpenAI所称的"约束工程"——设计智能体能够可靠工作的环境——可能为解决方案提供了提示。
另一个AI趋势是成本不断增加。智能体在做更多的事情;以前只是自动完成,现在是研究现有代码、制定计划、审查、运行测试、修订计划等等。"固定费率实际上不是真正的固定费率,因为你会遇到请求限制,然后你会看到Reddit上的人说,哦,只是月中就没Token了,我该怎么办?因为我们已经离不开它们了。"
会议结束后,我们询问Bockeler关于未来的看法。编程技能是否变得无关紧要?
"我们正陷入这样一种危险状态:AI如此有用,你确实想使用它,但你不能也许永远不能把一切都交给它,"她告诉我们。"你总是必须理解正在发生什么。同时,你获得的这方面经验越来越少,因为你不再亲自动手了。"
她说,随着我们从错误中学习,AI将会发展,但何时能到达一个风险较小的地方还充满不确定性。
Q&A
Q1:什么是上下文工程?它有什么作用?
A:上下文工程是指策划大语言模型或智能体看到的信息,以获得更好的结果。它涉及规则、命令、指令和资源,包括MCP(模型上下文协议)工具,这些在本地定义,可以减少发送到远程大语言模型的上下文大小,提高效率并降低成本。
Q2:为什么说开发者陷入了危险状态?
A:因为AI太有用以至于不得不使用,但在使用过程中,开发者却失去了审查AI工作所需的实战经验。开发者总是必须理解正在发生什么,但同时获得的实际编程经验越来越少,因为不再亲自动手编程了。
Q3:AI编程智能体存在哪些风险?
A:AI编程智能体存在多种风险,包括生成错误代码、恶意软件和机密泄露。当智能体接触不可信内容、访问私人数据并能对外通信时,就面临数据问题和安全问题的高风险。此外,AI容易受到提示注入等攻击,需要开发者进行持续的风险评估。
热门跟贴