随着人工智能技术的飞速发展,大模型正在成为推动软件行业进步的重要力量。
大模型驱动的软件工程将经历三个阶段的发展:
第一阶段,大模型作为助手辅助人完成任务;
第二阶段,将某些任务拆分出来由大模型独立完成,大模型以单Agent的方式与人配合;
第三阶段,大模型以Multi-Agents的方式进行协同,与人协同共生,人的作用更多是提出需求、验证结果,大量的开发、验证、测试、与业务系统的交流等工作由Agent深度参与。
当前,大模型驱动的软件工程正处于第一阶段(即Copilot阶段),开发人员正在使用编码助手、测试助手等工具作为Copilot辅助执行开发测试任务。
市场上已经出现了一些AI Agent产品,国外包括Cognition Labs的Devin、普林斯顿NLP实验室推出的开源SWE-Agent等,国内阿里巴巴通义灵码也正在打造单库问答 Agent(基于单库RAG技术,以及固定步骤实现对单库范围内的简单编码任务)。但这些AI Agent产品仍存在技术上的局限性,且尚未在应用中得到验证。
随着AI Agent能力的不断提高,预计在不久之后,开发人员将能够把更多简单重复的任务交由AI Agent自主完成。
01
AI Agent可以增强开发人员的体验
开发者体验对于开发人员来说至关重要,直接影响开发人员的满意度和忠诚度,从而影响软件工程的效率和质量。AI Agent可以通过改善开发人员旅程和优化创造性工作来增强开发者体验。
一方面,AI Agent可以改善开发人员旅程:
· 简化新员工入职体验:以自动化文档为例,技术写作Agent可以自动创建和更新全面的技术文档,包括API参考资料、系统架构和使用示例。这些技术文档对于帮助新入职的开发人员快速了解项目至关重要。
· 自助式DevOps工作流:以自动化部署和监控为例,AI Agent可以管理部署管道,自动处理故障回滚并持续监控应用性能,这将减少开发人员和DevOps工程师的人工工作量。
· 加速反馈回路:以CI/CD为例,AI Agent可识别CI/CD流程中的低效环节,如冗长的构建时间或不稳定的测试,并提出改进建议,快速提供代码变更反馈,从而加快迭代速度。
另一方面,AI Agent可以优化创造性工作:
· 有时间专注于深度工作:以任务自动化为例,AI Agent可以执行格式化代码、合并拉取请求和运行常规测试等重复性任务,从而让开发人员能够专注于项目中更具挑战性和创造性的工作。
· 协作式工作环境:以知识共享为例,AI Agent可以从一个集中的资源库中整理和共享相关的代码片段、文档和最佳实践,使团队成员更轻松地获取所需的信息并不断学习。
· 自动完成重复性任务:以自动化测试为例,从单元测试到集成测试,AI Agent可以自动化运行各种测试,并就发现的问题提供详细报告,不仅能节省测试人员的时间,还能提高软件的可靠性和质量。
02
AI Agent可提升业务价值
AI Agent的影响将超越开发人员,使企业能够以同样的人力和资源提供更多的业务价值。将AI Agent集成到软件工程工作流可以产生的业务价值包括:
· 提高效率。随着开发人员将繁琐的任务交由AI Agent独立完成,人类员工可以更快地交付创新的软件产品,缩短产品上市时间可为企业带来竞争优势;
· 提高质量。随着AI Agent自主优化代码、检测错误和自动测试,开发人员可以交付更可靠、更安全的软件,这种可靠性对于保持客户信任和满意度至关重要;
· 为数据驱动型决策提供信息。AI Agent可以提供有助于优化资源分配的预测分析和洞察力,使企业更加灵活,进一步增强竞争力。
以上这些价值都可以直接转化为企业的成本节约或更高的盈利能力。
当在工作流中使用multi-agent时,业务价值将进一步提升。在multi-agent工作流中,每个AI Agent都参与特定的任务,如系统设计、代码开发、代码审查、代码验证或测试工程。以自动化生成代码的理想multi-agent工作流为例:
Agent 1由大模型驱动,主要负责代码生成和代码优化两种任务:
· 在代码生成阶段,人类开发人员会要求Agent 1生成代码片段,完成特定任务;
· Agent 1采用思维链方式模拟典型的编码过程,将任务分解为更小、更易于管理的步骤。思维链过程包含四个步骤,第一,问题理解和澄清;第二,算法和方法选择;第三,创建伪代码;第四,代码生成;
· Agent 1生成的代码片段可能不正确,包含各种类型的错误(如语法和运行错误),导致负责测试设计的Agent提供的测试用例失败。在这种情况下,Agent 1会根据其他Agent的反馈意见,优化代码片段;
· 优化过程会持续进行,Agent 1会根据其他Agent的反馈不断优化代码,直到代码成功通过所有测试用例。
Agent 2也由大模型驱动,目标是测试代码,并向Agent 1提供可靠的反馈,以支持优化代码。Agent 2主要的任务包括生成基本测试用例、覆盖边缘测试用例、覆盖大规模输入。
Agent3 通过代码脚本与本地环境和其他两个Agent交互实现。Agent 3在代码生成过程的最后阶段发挥着关键作用:
· 在收到Agent 1生成的代码片段和Agent 2生成的测试用例后,Agent 3在本地环境中验证这些代码片段和测试用例;
· Agent 3密切监控来自执行环境(即终端)的返回信息,包括分析输出并确定代码片段是否成功通过所有测试用例。如果所有测试用例都通过了,Agent 3就会将代码返回给人类开发人员。
虽然AI Agent可以提高软件交付和开发质量,但这些Agent通常只能执行简单的逻辑,它们提供的信息可能并不详细或全面。如果没有明确、详细的要求,Agent很难自主设计任务的执行思路。目前,AI Agent更适合原型系统,而非复杂的现实世界应用。
03
AI Agent将带来新的挑战和风险
随着越来越多的企业采用AI Agent,将面临两大挑战:
· 开发新的技能:培养开发人员的AI原生思维,包括使用AI工具和技术来提高生产率、自动化日常任务,以及专注于战略性、高层次问题的解决和创新;
· 降低安全风险:采取行动以应对AI Agent带来的安全威胁。
(1)开发人员需要学习新的技能
随着AI技术的发展,AI Agent将能够自动执行越来越多的常规软件工程任务,比如编码、测试等。如果开发人员继续依赖手动编码和传统的测试方法,他们可能会发现自己的专业技能变得不再适用,因为这些工作可以被AI Agent更高效地完成。
AI Agent不会取代人类开发人员,但学会如何与AI Agent协作的开发人员将取代不会协作的开发人员。为了避免因为技术进步而失去工作并保持在就业市场的竞争力,开发人员必须通过学习新技能和适应新技术来更新自己的技能集。
(2)开发人员需要缓解新的安全威胁
AI Agent发起和参与的所有事件和交互构成了一个威胁面,这个威胁面可能对人类或系统操作者来说是不可见的。威胁面的扩大使得监控和保护AI Agent变得更加困难,增加了意外漏洞和安全漏洞的潜在风险。开发人员需要缓解AI Agent带来的新的安全威胁,包括:
· 数据泄露:AI Agent参与的所有环节都可能暴露或泄露数据;
· 系统资源过度消耗:Agent执行和交互可能导致系统资源的过度消耗,从而引发服务拒绝或经济损失;
· 未经授权或恶意的活动:由故意或错误引导的AI Agent执行的未经授权或恶意的活动;
· 安全漏洞:AI Agent未经授权、无意或恶意的编码逻辑错误导致的安全漏洞;
· 供应链风险:使用从第三方网站下载的库或代码用于Agent的供应链风险。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。