作者:Andrew Hoblitzell
在Infoq开发峰会在波士顿,,,,PhilCalã§ado,创始人兼首席执行官秘密,交付基调直接瞄准的是软件领导者,努力应对生产中建造和扩展生成AI产品的现实。加上三年的动手经验和30年的软件体系结构职业生涯,Calã§Ado阐述了具体的课程,当面对AI系统的随机,状态需求时,传统的工程模式会在这些课程上延长。
他通过承认房间的各种背景以及生成AI的不断发展的本质开放。Calã§Ado与个人工程师可用的丰富的IDE自动化相比,几乎缺乏管理人员和可靠性工程师的工具。他回忆说,我在2021年最初的想法就像,好吧,我们可以自动化这个吗?我可以为经理所做的一切或工程师所做的一切创建与代码吗?
尽管在基准测试中取得了早期成功,但坦率地承认,该产品失败了。他将核心问题定位为对激励措施的失误:用户对逆转工程助理的内部设计比依靠它更感兴趣,而不是依靠它来依靠日常的生产力提高。他解释说,这种见解揭示了展示技术新颖性的工具与实际持续用户价值的工具之间的区别。
从这些经验中,他蒸发了他在AI开发中观察到的三种主要思维方式。首先,团队追逐最新的模型发布和资金周期,而无需解决当前的局限性,等待明年的AGI,而不是迭代今天的限制。在第二个中,数据科学实验室进行了为期一年的项目,可以通过很少的产品思考来提高渐进式准确性,从而生产出仅优于先前版本的分类器。在第三个团队中,团队采用以软件工程为中心的工作流程,强调了可以在生产中测试和完善的轻质,可插入的组件上快速,迭代的开发。
为了构建这些系统,Calã§Ado引入了两个核心抽象:工作流程和代理。工作流是静态的,预定义的管道,可以执行一系列转换,例如摄取消息,重复数据解复对话和生成摘要。相比之下,代理是具有内存,目标取向以及动态调用工具或其他服务的能力的半自主组件。他说:“代理人有记忆,他们以目标为导向,动态,他们喜欢合作,”他说,将它们比作传统面向对象的设计中的状态对象。
他警告不要将特工视为细粒度的微服务。LLM驱动的代理人固有的状态,非确定的行为破坏了常规的服务边界,并导致脆弱的耦合和操作脆弱性。取而代之的是,他倡导语义事件总线,其中结构化的,意图驱动的事件而不是原始数据库更改流的组件,并在整个系统中启用可发现的可插入行为。
在组装AI管道方面,Calã§Ado强调将整体项目分解为具有清晰语义接口的小型,定义明确的切片的重要性。例如,在Autopi的日常训练功能中,单独的组件处理松弛摄入,重复转换检测,语义摘要和日历上下文富集。
Calã§ado还挑战了十二个因素应用AI系统的模型。他指出,配置不再是静态的,过程不能保持无状态,而LLM调用引入了固有的延迟瓶颈。为了应对这些挑战,他敦促团队探索耐用的工作流框架,例如颞,将编排与副作用进行干净的编排,透明地处理和超时,并为长期运行的状态过程提供检查点。
在闭幕式中,Calã§Ado强调,尽管AI引入了新的建筑需求,但核心解决方案并不在于重新发明轮子,而是在扩展了可靠的软件工程原则以适应随机性和状态。他认为,我们不需要重建所有内容。我们需要更好的平台来整合这些模式,以便团队可以迅速迭代而不重新发明管道。”
希望了解更多的开发人员可以观看infoq.com在接下来的几周内,该活动的视频。