微信扫码
与创始人交个朋友
我要投稿
软件开发引入 AI ,未来如何高效协作与责任并重? 核心内容: 1. 软件开发引入 AI 的现状 2. 探讨 AI 在软件开发生命周期中的作用 3. 如何为 AI 驱动的劳动力设置团队和角色
软件开发长期以来依赖于手动操作和孤立的工具链来构建产品。我们逐渐引入自动化来处理持续集成 (CI) 流程中的重复任务,并使用像 ReSharper 和 CodeRush 这样的代码生成工具来加速编码中的重复任务。然而,随着 AI 的发展,我们可以获得工具来帮助从提示中创建小型 POC,现在我们可以想象一个未来,在这个未来中,“自主 AI” 系统将在我们的软件开发生命周期 (SDLC) 中发挥关键作用。这些自主系统将生成的不仅仅是简单的功能。它将能够协调任务、执行安全检查、跨职能沟通,并动态适应复杂的需求。
然而,这一转变并不会来自于单一的“银弹”提示,这种提示将创建完美的应用程序。相反,AI 将被纳入软件交付的规划和执行中。它将遵循我们结构化的流程,并在我们的软件团队中承担角色;它可以采取系统思维的心态,我们可以确保开发的人性化方面始终处于中心,同时利用自主 AI 的计算优势。接下来,我们将探讨如何为 AI 驱动的劳动力设置团队和角色,并借鉴正在进行的研究——包括 ChatDev Paper 中提出的“用于软件开发的沟通代理”模型——以展示软件架构师、开发人员、产品经理和安全专业人员如何与这些自主 AI 代理协作。
“设计系统的组织被限制为产生这些组织的沟通结构的复制品。”
— 梅尔文·康威(康威定律)
当我们考虑到代理型AI——能够进行规划、决策和自我组织的软件代理——时,我们必须考虑这些代理如何融入我们的组织结构。如果我们对康威定律的应用过于狭隘,可能会在现有团队上直接添加AI,而不调整流程或沟通路径,从而导致摩擦。相反,应用系统思维使我们能够设计一种架构,在AI自主性与人类“指挥与控制”模型之间取得平衡。
代理型人工智能可以被视为超越聊天机器人或代码补全工具的下一个进化步骤。这些人工智能系统承担角色,而不仅仅是任务,它们可以:
然而,责任必须始终放在首位。艾米·埃德蒙森关于心理安全的研究告诉我们,如果团队成员(包括人工智能“成员”)在没有问责或开放沟通的情况下运作,错误将会 spirals。确保我们拥有正确的角色和“制衡”是关键。
过去对基于 GPT 的工具的实验——如 GPT-Engineer 或代码生成方法——通常依赖于一个接收提示并输出代码的单一代理。虽然这些方法可以快速见效,但它们容易出错,并且在设计、审查和测试方面缺乏深度。
最近的研究,例如关于“软件开发的交互代理”的 ChatDev 论文,强调了一种替代方案:多代理协作,遵循经典的瀑布或迭代 SDLC 阶段——需求、设计、编码和测试——由专业代理进行管理。一个例子是 ChatDev,它使用:
通过多轮自然语言和代码级反馈的对话,这些代理可以完善并收敛到可行的解决方案,同时相互解释逻辑。至关重要的是,他们的协作必须与既定流程和工具无缝集成——如Azure DevOps 或 Jira——以记录对话、跟踪更改,并为利益相关者提供完全透明度。
一个繁荣的AI驱动软件开发环境依赖于对人类和AI代理的明确角色以及良好的协作模式。除了设计和编码专业外,确保合规性、安全要求、可验证性和以人为本的可用性至关重要。以下是一个潜在的结构:
1. 技术写作人员(文档与需求)
2. 开发人员(功能实现)
3. 安全专家(安全与合规集成)
Bruce Schneier说,“安全是一个过程,而不是一个产品。” 这个过程需要持续的人类反馈循环,以进行关键的签字。
4. 合规与审计代理(确保法规标准)
5. 软件架构师(系统与基础设施)
6. 产品经理(待办事项管理与利益相关者对齐)
7. 测试工程师(质量保证与验证)
8. 用户体验/客户体验设计师(用户与客户体验)
在设计阶段,自然语言对话占主导地位。例如,“架构师”代理询问“安全专家”有关威胁向量的问题,而“合规与审计”代理则引用特定的监管文本。使用通俗易懂的语言确保所有利益相关者(技术和非技术人员)理解设计的理由,从而减少后期的混淆。
在编码阶段,代理切换到更以代码为导向的沟通。一名“开发者”代理可能会生成一个框架,而“安全”代理或“审查者”代理可以促使他们添加更严格的验证。同时,“合规”代理可能会扫描代码,以确保在需要的地方存在适当的匿名化或加密调用。关注正确性和合规性使编码过程更加稳健。
在这些阶段中,已建立的流程和工具如Azure DevOps或Jira可以作为记录详细对话、将任务链接到合规检查的持久支撑,并确保所有利益相关者的完全透明。
在测试阶段——包括静态代码分析(代码审查)和动态测试——“测试工程师”和“安全”代理依赖于持续反馈来最终确定解决方案。每个代理都可以解析编译器错误或运行时异常,自动将其输入相关的政策检查,并确保任何不合规或安全缺陷被标记并纠正。该周期仅在满足合规阈值和安全基线时结束。
当我们说“自主”或“代理”时,并不意味着“无需负责”。就像DevSecOps将自动检查与人工监督相结合一样,代理型AI劳动力需要强有力的治理。以下是一些实用策略:
我们常常听到“ SaaS的终结”,组织正在构建模块化、驱动AI的解决方案,这些解决方案结合了内部代码、开源和专门的微服务。Agentic AI 可能不会完全取代SaaS,但可以作为一个适应性层,实时协调许多外部和内部服务。结果是一个动态的、“可组合”的架构——其中每个部分(包括AI劳动力)都可以独立演变。
“SaaS正在消亡的说法可能被夸大了。更准确地说,SaaS正在演变为更加敏捷、集成,并由智能编排驱动。”
— 改编自多篇关于SaaS终结的文章
在这个新环境中,“内部开发”和“SaaS集成”之间的界限变得模糊。AI劳动力充当持续的集成者,确保团队保持足够灵活,以根据实时性能指标或用户需求采用或停用服务。
负责任的软件开发与具有自主性的 AI 劳动力建立在几个关键支柱之上:
就像学习骑自行车一样,这个过程开始时可能笨拙,并可能在过程中遭遇挫折。每一次失败都是完善流程、角色或沟通的机会。随着时间的推移,人类的创造力与 AI 的动态能力之间的协同作用将引导我们朝着更强大、可扩展和伦理基础扎实的软件应用迈进。
“软件即服务的终结”讨论并不是完全抛弃 SaaS,而是更多地利用这些自主模型来创建灵活、可扩展的子系统,以满足不断变化的人类需求。通过平衡的角色、明确的边界和强有力的反馈循环,我们可以确保不仅仅是通过自主 AI 更快地构建——而是负责任地构建。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-09-04
2024-10-30
2024-12-25
2024-09-26
2024-10-30
2024-09-03
2024-09-06
2024-08-18
2024-11-23
2024-09-02