软件代码具有自我复制的自主效率流。对我们大多数人来说,最容易识别的是计算机病毒,它们可以根据最初的构造方式和部署位置复制其功能、力量和足迹。更有用的是软件开发者使用的智能体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工具会成为工作流促进者,加速事件响应,减少解决时间,并基于可靠数据做出运营决策。
好文章,需要你的鼓励
亚马逊股价在盘后交易中暴涨超12%,业绩轻松超越分析师预期。公司每股收益1.95美元,大幅超出1.57美元预期;营收1801.7亿美元,同比增长13%。AWS云业务表现亮眼,季度营收330亿美元,同比增长20%,创近年来最强增长。CEO贾西表示AWS增长速度达到2022年以来最快水平,主要得益于AI资源需求激增。公司将2025年资本支出预期从1180亿美元上调至1250亿美元,用于AI数据中心建设。
印度理工学院研究团队从大脑神经科学的戴尔定律出发,开发了基于几何布朗运动的全新AI图像生成技术。该方法使用乘性更新规则替代传统加性方法,使AI训练过程更符合生物学习原理,权重分布呈现对数正态特征。研究团队创建了乘性分数匹配理论框架,在标准数据集上验证了方法的有效性,为生物学启发的AI技术发展开辟了新方向。
微软正将Copilot AI功能集成到Microsoft 365伴侣应用中,包括人员、文件和日历三个任务栏工具。这些轻量级应用仅面向企业和商业客户,将于10月底开始自动安装。Copilot将基于组织数据提供上下文感知的提示和摘要功能。人员应用可显示近期沟通记录,文件应用支持文档摘要和数据分析,日历应用将提供会议摘要。目前人员和文件功能已上线,日历功能即将推出。
Sony AI开发出SoundReactor框架,首次实现逐帧在线视频转音频生成,无需预知未来画面即可实时生成高质量立体声音效。该技术采用因果解码器和扩散头设计,在游戏视频测试中表现出色,延迟仅26.3毫秒,为实时内容创作、游戏世界生成和互动应用开辟新可能。