|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
作者:微信文章
在软件工程领域,我们追求代码复用、流程自动化和系统智能化。AI大模型、AI工作流和AI Agent恰好映射了这一演进过程中的不同层次和范式。
可以其类比为:
一个强大的底层函数库「AI大模型」
一个精心编排的CI/CD流水线「AI工作流」
以及一个具备自主排障能力的SRE工程师「AI Agent」
1. AI大模型—强大的底层函数库与核心API
AI大模型,如GPT-5、Gemini、通义前问、DeepSeek等,在软件工程体系中扮演着核心底层库或一组功能强大的API角色。
一个数学库提供sin()、cos()函数,或一个框架提供http.request()方法一样,大模型提供了一系列强大的API。
例如:文本生成、情感分析、代码翻译、图像生成
无状态性:
在最基础的层面,对大模型API的单次调用是无状态的,你输入 prompt,它返回输出 completion。
大模型本身不维护长期的任务状态或记忆,正如调用一次 math.sqrt(4)不会影响下一次 math.sqrt(9) 的计算。
虽然可以通过上下文窗口技术模拟短期记忆,这本质上是将历史对话作为下一次调用的输入,而非模型内部的主动状态管理。
大模型不会主动执行任何操作,像一个代码库一样,静静地等待被上层应用程序调用,本身没有目标,也没有执行环境。
开发者直接调用大模型API来完成特定子任务,例如:
单元测试用例生成:`prompt = "为以下Python函数生成5个边界值测试用例:def safe_divide(a, b): ..."`
代码注释与文档生成:`prompt = "请为这段复杂的Java代码添加详细的JSDoc注释。"`
日志分析:`prompt = "分析以下服务器错误日志,总结可能的原因:[Log content]"`
AI大-模型是提供核心智能能力的“无状态、被动调用的函数库”。
2. AI工作流—精心编排的CI/CD流水线
AI工作流是将AI大模型的调用与其他API、服务和逻辑判断串联起来,以实现端到端业务流程的自动化。
与软件开发中的CI/CD流水线在概念上高度一致。一个CI/CD流水线由一系列阶段「Stages」和作业「Jobs」组成,如`Build -> Test -> Deploy`。
同样,一个AI工作流也是一个预定义的、有方向性的任务图。
CI/CD流水线由一个事件触发,AI工作流也由一个触发器启动。
只要环境不变,CI/CD流水线的每一步骤和结果都是可预测的。AI工作流同样如此,其路径和分支(if/else)都在设计时被明确定义。处理异常的方式也是预设的,比如:如果测试失败,则发送告警邮件并中止部署。
流水线编排了代码仓库、编译器、测试框架、容器仓库和云服务器等多种服务。AI工作流则编排了AI模型API、企业内部应用、外部SaaS服务等。
一个“代码审查自动化”工作流:
1. 触发器: GitHub仓库收到一个新的Pull Request。
2. 动作1: 调用静态代码分析工具,如使用SonarQube进行扫描。
3. 动作2: 调用AI大模型API,`prompt = "请审查以下代码变更,识别潜在的逻辑错误、性能问题和不符合编码规范之处:[Code diff]"`。
4. 逻辑判断: 如果静态分析或AI审查发现严重问题。
5. 动作3:在Pull Request下自动发表评论,指出问题所在,并@相关开发人员。
6. 动作4: 更新Jira任务状态为“需要修改”。
AI工作流是“有状态、事件驱动、确定性的服务编排引擎”,将AI大模型作为其流程中的一个功能节点来调用。
3. AI Agent—自主决策的SRE工程师
AI Agent则是一个更高阶的范式,不仅仅是执行预设流程,而是被赋予一个目标,并能自主地规划、行动和适应,以达成该目标,这与SRE或智能运维机器人非常相似。
你不会告诉SRE“第一步重启服务器,第二步查看日志...”,只会给他一个目标:“解决线上服务P0级故障,恢复服务” 。
同样,你给AI Agent一个高层级的目标,如“分析并修复此次性能下降的原因”。
SRE会根据故障现象自主规划排查步骤:是网络问题?数据库问题?还是应用本身的问题?
他会先`ping`一下服务器,再`top`看下进程,然后`tail -f`看日志。
AI Agent也是如此,会动态地制定一个行动计划,并根据每一步的反馈来调整下一步的行动,这个过程就是推理-行动循环。
SRE的工具箱里有kubectl、Ansible、Prometheus、grep等各种命令行和监控工具。
AI Agent也拥有一个工具集,这可以是一系列API,包括AI大模型API「用于思考和分析」、搜索引擎API「用于查询未知信息」、代码执行环境「用于验证想法」等。
Agent的核心能力之一就是自主决定在何时、使用哪个工具。
优秀SRE会记录故障处理过程,形成文档,并从中学习,下次遇到类似问题能更快解决。
AI Agent也具备记忆机制,短期记忆用于任务上下文,长期记忆用于知识沉淀,使其能够从经验中学习。
自主性能回归测试与调优 Agent:
目标: “在新版本`v2.1`部署到预发环境后,确保其性能不低于`v2.0`,如果出现性能下降,则找出原因并尝试修复。”
思考:“我需要先对`v2.0`和`v2.1`进行基准性能测试。”
工具使用:调用性能测试框架,如JMeter的API,分别对两个版本进行压测。
观察与推理: 分析测试报告,发现`v2.1`的`/api/user`接口响应时间增加了50%。
思考:“性能下降可能由代码变更或数据库查询导致。我需要查看`v2.1`中与该接口相关的代码提交。”
工具使用:调用Git API,获取相关代码`diff`。调用AI大模型API进行代码分析,`prompt="分析这段代码变更,是否可能导致性能问题?"`
观察与推理:大模型指出一段新的N+1查询是潜在原因。
思考:“我需要验证这个假设。我将编写一个脚本来修复这个问题,并在本地环境中测试。”
工具使用:调用代码生成和执行环境,生成优化后的代码,并进行单元测试。
最终行动:如果验证成功,自动创建一个新的Pull Request,并附上完整的分析报告和测试结果。
AI Agent是“目标驱动、具备自主规划和工具使用能力的智能体”,将AI大-模型作为其“大脑”来进行思考,并将AI工作流或其他工具作为其可以调度的“手臂”。
三者关系与总结
AI大模型是基础能力层,像CPU或函数库;
AI工作流是流程编排层,通过调用大模型和其他API来自动化固定任务;
AI Agent是智能决策层,利用大模型进行思考,并能自主地创建、执行或修改任务计划,甚至可能动态生成一个临时的AI工作流来达成复杂目标。
AI工作流可以包含AI大模型的调用作为一个步骤;
AI Agent的“大脑”通常是AI大模型;
AI Agent在其行动中可以调用预定义的AI工作流,或者动态地编排一系列动作,形成一个即时的工作流。
从软件工程的视角看,从编写代码「直接使用大模型」到配置流水线「构建AI工作流」,再到雇佣智能工程师「部署AI Agent」的演进。 |
|