软件代码具有自我复制的自主效率流。对我们大多数人来说,最容易识别的是计算机病毒,它们可以根据最初的构造方式和部署位置复制其功能、力量和足迹。更有用的是软件开发者使用的智能体AI线程,用于创建新的、有用的、功能性的、安全的软件代码。
这个想法可以追溯到1970年代开始的工作,生成式AI和智能体AI服务现在被用来为开发者"切割"代码。那么AI编程借鉴了什么知识源泉和学习,它在所做的事情上表现如何,有哪些注意事项和担忧呢?
今日试验,明日实施
如今,许多软件工程团队正在试用基于智能体AI的编程工具和大语言模型,以提高开发速度、范围,并希望也能提高准确性,从而获得调试后更强大的软件应用程序。对于这些原型开发先锋来说,现在是一个情感上相当艰难的时期,即当AI代码不工作时,或者产生了偏斜的衍生服务时,工程师们自然会质疑提示是否有问题,问题是出在他们身上,还是出在机器上。
幸运的是,这些挫折很少是由于开发者甚至大语言模型的固有限制造成的。更多时候,问题出现在工具的使用方式上。通过完善他们的规划流程、建立护栏并将AI纳入更广泛的工作流程中,开发者可以取得更好的结果并避免浪费精力。这是数据监控、可观测性和安全公司Datadog产品副总裁Yrieix Garnier的观点。
"许多开发者期望大语言模型像人类协作者一样解释意图——理论上它们应该这样做——但他们并不总是提供AI工具有效运行所需的上下文、清晰度或精确度。不同的模型在生成响应时投入的'努力'可能有所不同,通常以Token来衡量。要求模型'更努力地思考'或'思考更长时间'可以触发它消耗更多Token并产生更详细的答案,"Garnier解释道。
不是你的问题,是我的问题
他说,如果期望与输出之间存在持续差距,但问题不太可能与模型在其机器语言机器大脑意义上"思考"的努力程度有关。更多时候,问题在于如何向大语言模型(通过智能体AI编程助手)提出请求的方式。也许不出所料,软件应用程序开发者在提供问题的结构化描述、指定期望的执行并通过仅包含相关上下文来仔细构建框架时,会看到更好的结果。
例如,如果智能体需要引用特定的系统架构,就应该明确指示。虽然关于我们需要对AI服务多么礼貌的话题一致认为礼貌和文明并不重要,但听起来系统性的特异性确实起到了决定性作用。
"同时,重要的是不要用过多的信息使模型超载。大语言模型有严格的上下文限制,太多的输入可能会引入不必要的复杂性,从而降低性能,"Garnier说。"即使有结构良好的提示,AI智能体也可能引入错误或偏离预期的解决方案。没有适当的检查,修复这些问题的成本可能超过使用AI的好处。因此,建立护栏是必不可少的。"
Datadog团队已经进行了大量的软件自用测试,以找出这些理论、构造和方法如何应用于自己的平台。Garnier建议,一个强大的技术是在模型生成或修改任何代码之前纳入规划阶段。在向智能体呈现问题陈述、约束条件和预期结果后,应该要求它将执行计划分解为步骤并解释其推理。在智能体进入实施阶段之前审查这个计划,让开发者能够早期发现缺陷。它还防止智能体添加不必要的复杂性层或试图通过生成冗余脚本或备份代码来修补错误。
识别和评估替代方案
"规划还有助于解决上下文窗口限制带来的挑战。当模型用完上下文时,它们通常会将对话总结到一个新窗口中,这可能导致有价值的细节丢失。提炼的实施计划作为一个紧凑的指南,可以传递到新窗口中,保持AI的一致性而不过度扩展上下文,"他说。"当开发者讨论智能体AI工具和大语言模型的潜力时,他们经常强调其在管理重复任务或自动化例行测试方面的作用,从而加速交付。然而,有时被忽视的一个关键能力是识别和评估替代方法的能力。"
听起来从零开始解决复杂问题在时间和努力方面都可能代价高昂。开发者可以使用大语言模型来探索不同的方法、生成初步实现并突出权衡,而不是手动原型化每个选项。这些输出可以进行基准测试,让团队在进行更深层次投资之前专注于最有前景的途径。
AI还可以作为"审查员"机制,即开发者可以提出实施计划并要求模型对其进行压力测试,识别弱点或被忽视的考虑因素。这个角色可以在早期提出问题,帮助团队为利益相关者审查做更充分的准备。通过这种方式扩大其应用,AI从加速执行的工具转变为扩展视角的工具,支持更快的交付和更明智的决策制定。
从代码伙伴到工作流促进者
"大多数开发者已经熟悉使用AI助手来调试和改进本地代码。然而,当这些工具与外部系统交互时,事情变得更有趣。例如,在更新Terraform配置(一种基础设施即代码指令)时,准确了解当前环境至关重要。没有这种可见性,就有引入冲突或在预期状态和实际状态之间产生偏差的风险。AI智能体无法提供这种保证,除非它们访问正确的数据源,涉及必要的权限和集成,"Garnier在这个主题的深入讨论中详细说明。
有了正确的设置,AI工具——以助手或更复杂智能体的形式——不再是被动的帮手。Garnier确信它们可以"演化为工作流促进者",加速事件响应,减少解决时间,并确保运营决策基于可靠的、上下文相关的性能数据。因此,AI从更快编写代码的方式转变为维护有弹性、可观测和高性能系统的可信指南。
一个蓬勃发展的伙伴关系?
这里的要点是,为了让AI编程工具取得成功,开发者需要开始将AI视为不是捷径,而是协作者,即一个在正确的上下文、护栏和工作流程下表现出色的协作者。
随着技术的成熟,Garnier在这个主题上的临别赠言敦促我们理解,最有效的开发者不会只是使用AI来更快地生成代码。相反,他们会将其整合到整个软件交付生命周期中,包括研究、规划、审查和维护,以获得更高的精确度。通过这样做,AI从编程助手转变为工程合作伙伴,使团队能够自信地应对复杂性。
Q&A
Q1:为什么AI编程工具经常不能满足开发者的期望?
A:问题通常不在于大语言模型本身的限制,而在于工具的使用方式。开发者往往期望AI像人类协作者一样解释意图,但没有提供足够的上下文、清晰度或精确度。当开发者提供结构化的问题描述、指定期望执行并仅包含相关上下文时,会获得更好的结果。
Q2:如何提高AI编程工具的效果?
A:关键是建立规划阶段和护栏机制。在AI生成代码前,应要求它将执行计划分解为步骤并解释推理,然后审查这个计划以早期发现缺陷。同时要避免信息过载,因为大语言模型有严格的上下文限制,过多输入会降低性能。
Q3:AI编程工具未来会如何发展?
A:AI将从简单的编程助手演化为工程合作伙伴。最有效的开发者会将AI整合到整个软件交付生命周期中,包括研究、规划、审查和维护。AI工具会成为工作流促进者,加速事件响应,减少解决时间,并基于可靠数据做出运营决策。
好文章,需要你的鼓励
当前软件工程团队正在试验基于AI代理的编码工具和大语言模型,以提高开发速度和质量。然而,AI编码工具的效果很大程度上取决于使用方式。开发者需要提供结构化的问题描述、明确的执行要求和相关上下文,同时建立适当的防护机制。AI不仅能处理重复性任务,还能识别和评估替代方案,从被动助手演进为工作流程推进器。成功的关键在于将AI视为合作伙伴而非快捷工具,并将其整合到软件交付的全生命周期中。
NVIDIA研究团队开发出名为Lyra的AI系统,能够仅凭单张照片生成完整3D场景,用户可自由切换观察角度。该技术采用创新的"自蒸馏"学习方法,让视频生成模型指导3D重建模块工作。系统还支持动态4D场景生成,在多项测试中表现优异。这项技术将大大降低3D内容创作门槛,为游戏开发、电影制作、VR/AR应用等领域带来重大突破。
Salesforce发布企业级AI智能体平台Agentforce 360,将AI智能体融入几乎所有应用中。该平台采用混合推理引擎Atlas,结合大语言模型的概率思维和业务规则的精确性,支持语音交互和深度集成。以Slack为主要界面,提供Agentforce Builder开发环境,能将非结构化文档转换为可查询记录。Salesforce内部已部署该系统,每周处理180万次对话,主动服务活动增长40%。
谷歌DeepMind团队创新性地让Gemini 2.5模型在无需训练的情况下学会理解卫星多光谱图像。他们将复杂的12波段卫星数据转换为6张可理解的伪彩色图像,配以详细文字说明,使通用AI模型能够准确分析遥感数据。在多个基准测试中超越现有模型,为遥感领域AI应用开辟了全新道路。