资讯动态

多模态大模型驱动:AI Agent与具身智能的全自动研发落地实践

发布时间:2026/10/18 19:06:17 来源:尧图企业网站定制
这几年一直在研发效率工具这条线上折腾的人应该都会有一种很微妙的体感各种自动化工具堆了一堆AI 编码助手也换了好几轮可整个研发链路依然要靠大量人工去粘合。最近“社区说”里反复冒出来一个组合词AI Agent、具身智能、Gemini很多人当成三个独立话题看其实它们正在汇成同一个方向——由多模态大模型驱动的全自动化研发新范式。我过去十年的工作基本都扑在 CI/CD、自动化测试、研发平台这类事上最近一年带着团队把 Gemini 接进 Agent 编排层又顺手做了几个具身场景的验证。这篇不打算复述概念而是把我们在拆解问题、选型、落地和踩坑过程中的完整思考盘一遍。适合两类人看一类是想搞清楚 Agent 到底怎么真正“干活”、而非只会聊天的研发负责人另一类是已经在用 AI 写代码、但总觉得产出不稳定、距离“可信可用”差一口气的技术同学。下面所有结论都来自模拟项目 X 和几个内部场景的真实数据不一定适配所有团队但至少能帮你少走一轮弯路。1. 全自动化研发为什么值得重做一遍1.1 研发自动化经历的三次范式转换很多人一听到“全自动化研发”第一反应是“不就是把现有 CI/CD 再加强一点”。这个理解差了整整一个层级。我把过去十几年研发自动化的演进拆成三个阶段这样更容易看清现在的变化。第一个阶段是工具自动化。典型形态是脚本、批处理、单点命令行比如自动打包、自动部署、定时跑测试。这个阶段的特征是“人定义规则机器执行动作”效率提升有限而且规则永远赶不上变化。第二个阶段是流程自动化。典型形态是可视化流水线、低代码平台、持续集成持续部署系统。这个阶段把多个工具串成一条固定管道减少了大量重复操作但本质上仍然是“静态流程”一旦需求发生变化整套流水线要人工重新调整。第三个阶段就是我们现在正在经历的决策自动化。AI Agent 不只是执行命令而是能理解目标、拆解任务、选择工具、执行操作、观察结果、自我修正。这个阶段的关键词不是“执行”而是“决策”。Gemini 这类多模态大模型在这里承担的角色相当于一个能同时看文字、读代码、理解图表和屏幕截图的“研发实习生”问题在于这个实习生学得快、跑得快但也容易跑偏。这三个阶段的差异可以用一张表说清楚维度工具自动化流程自动化Agent 决策自动化自动化对象单点命令静态流程目标与决策感知能力无结构化规则文本、代码、视觉等多模态反馈回路无有限的状态判断闭环观察与自我修正扩展性差中高可动态规划对人的依赖极高较高显著降低但仍需监督1.2 具身智能不是机器人噱头再谈具身智能。很多人一听到这个词就想到人形机器人觉得离研发自动化太远。我一开始也这么想直到我们把 Agent 接进一个带机械臂的测试环境才发现具身智能对研发链路的真正意义在于它补上了“最后一公里”的执行盲区。普通的 AI Agent 只能操作数字世界哪怕代码写得再对它也没法替你把手机拿起来做真机点击测试没法拧开设备外壳检查接线状态也没法在机房把松动的网线重新插紧。这些物理操作在传统自动化里要么靠定制夹具要么靠人肉值守成本极高。具身智能把大模型的“感知—决策—执行”闭环延展到了真实物理空间让 Agent 不仅能看屏幕上的报错还能通过摄像头看设备的指示灯、通过传感器感知温度、通过机械臂按动按钮。所以严格来说具身智能是研发自动化链条里最晚被补齐的一环而不是一个孤立的前沿话题。想理解全自动化研发就必须把这条物理执行通道也纳入视野。1.3 为什么拿 Gemini 做驱动核心市面上有很多大模型可以做 Agent 的“大脑”我们最终把主控制模型选为 Gemini不是因为它所有指标都第一而是基于实际落地时最在意的三个维度。第一是多模态统一能力。研发场景里的信息形态极其复杂需求是文档代码是文本界面是截图日志是时间序列设备状态是传感器数据。Gemini 在同一个模型里处理文本、图像、代码甚至音视频的能力比较自然这让 Agent 不需要频繁切换模型就能完成跨模态理解。举例来说一个前端页面渲染异常Agent 可以直接读截图判断布局问题而不必把截图转成描述文字再交给另一个模型。第二是长上下文和规划能力。一条完整研发任务往往包含需求文档、代码库结构、当前变更、测试输出等多段信息Gemini 的长上下文窗口让我们能把核心背景和当前状态同时放进模型减少因“忘事”导致的任务漂移。第三是工具调用稳定性。Agent 驱动的研发系统本质依赖模型与外部环境的交互。Gemini 在结构化工具调用上的表现比较稳定返回的调用参数格式清晰适合我们做权限控制和执行审计。当然选型不等于绑定。我们实际做的时候是“主模型用 Gemini局部任务根据成本和质量切换更轻量的专用模型”。这是工程上很关键的一个决定后面会细说。2. 全自动研发系统的主干设计2.1 从需求到交付的主链路全自动研发不是让 AI 直接写一堆代码就完事它是一条从需求到交付的闭环链路。我们目前跑通的主链路分为七个环节需求接入、目标解析、任务拆解、子任务执行、验证反馈、失败修复、资产归档。需求接入阶段系统接收的是自然语言描述很可能是一段会议纪要也可能是一张白板照片。Gemini 在这里先把非结构化信息转成结构化任务说明包括目标、验收条件、范围边界、已知约束。目标解析阶段最重要的一件事是“消歧”把“让登录更快”这种模糊表达变成“将接口 P95 响应时间从 800ms 降到 200ms”这种可测量描述。接下来是任务拆解。这一步很多人低估了难度。一个需求如果直接丢给 Agent 去写代码很容易遗漏模块依赖或表结构变更。我们把任务拆成带依赖关系的小步骤每个步骤有独立的输入输出和验收标准。子任务执行时Gemini 调用代码编辑、命令行、测试工具等完成具体变更。每次变更后立即触发验证验证结果回传模型如果失败则进入修复循环。整个链路里最容易被忽视的是“资产归档”。每次任务执行完系统要把决策记录、变更内容、验证结果写回知识库这些历史资产是后续一切改进的基础。没有归档Agent 就是一把没有记忆的锤子每次敲钉子都用同样的力度敲弯了也不知道换方向。2.2 上下文窗口、记忆与工具调用的三层机制Agent 能不能稳定干活关键不在模型参数多强而在“现场信息”组织得够不够好。我们做了三层机制来管理这个过程。第一层是上下文窗口的分配策略。Gemini 窗口再长也有限不能把整个代码仓库都塞进去。我们用固定分段结构来组织每次调用的输入最前面是系统提示和任务定义这是常驻锚点永远不被截断中间是背景资料和工具说明允许被压缩最后是当前操作历史滚动保存最近若干轮结果。这个结构看起来简单但对稳定性的提升尤其明显。第二层是外部记忆。模型本身没有长期记忆每次对话结束就清空。我们用一个状态数据库保存任务的中间状态关键信息包括已完成子任务、未完成子任务、已知失败原因、当前文件改动列表。每次 Agent 开始新步骤前先把状态摘要注入上下文。这相当于给模型配了一本随时可以翻的工作笔记。第三层是工具调用的白名单机制。Gemini 生成的不只是文本回复而是结构化的工具调用请求比如“执行命令 A”“修改文件 B”。所有工具调用必须经过权限层校验分为只读操作、受控写操作、高危操作三类。高危操作必须由人工确认后才能执行这一步在无人干预的全自动模式下也必须保留是安全和信任的底线。2.3 人工监督位与审计日志说句掏心窝的话全自动化研发的“全自动”不是指完全无人参与而是把人的参与点从“执行每一步”收缩到“监督关键节点”。我们专门设置了人工监督位通常有三个介入点需求评审、高危变更确认、修复次数上限溢出。以修复次数为例我们会为每个子任务设定修复上限默认三轮。Agent 每轮修复都会得到测试失败信息三轮之后如果还没有收敛系统主动拉起人工会话。这个设计的好处是避免 AI 在一个错误方向上反复折腾浪费算力不说还可能改出一堆副作用。审计日志是另一个必须从第一天就做好的东西。我们记录的不只是“执行了什么命令”还包括“模型当时认为为什么要执行这个命令”。每次 Gemini 生成决策时我们要求它附带一句简短的理由说明哪怕是“我判断这个接口参数类型不匹配需要查看定义文件”这种一句话。这些理由写进日志后排查任务漂移和模型幻觉时价值极大。3. 把一条全自动研发流水线真正落地的五个步骤3.1 第一步把需求说明书改造成 Agent 可读的任务模板很多团队一开始就翻车原因是把原始需求文档直接丢给 Agent。自然语言需求存在大量隐形假设Agent 不会主动追问它只会按照自己的理解闷头开干结果自然千奇百怪。我们的做法是引入“任务模板”这个中间层。每个需求在进入 Agent 系统前必须先填一张结构化的表单。表单包含六个字段任务背景、可量化的目标、验收标准、排除边界、涉及模块、前置依赖。不用写多复杂但必须能回答“怎么样算做完”这个问题。举一个模拟项目 X 的实际例子。团队接到一个需求“给后台管理系统的列表页增加搜索功能”。这句话直接给 Agent 肯定翻车因为遗漏了搜索范围、是否支持模糊匹配、是否需要防抖、接口是否已存在等大量信息。我们把需求转成任务模板后Agent 用 Gemini 解析并生成了清晰的实施计划原本预估两个小时的工作第一次跑通只用了四十分钟。这不是什么新技术本质上是给模型补齐了“约束条件”。约束条件越清晰Agent 的发挥空间越可控模型也就越少出现自由发挥。3.2 第二步给 Agent 配一套足够可靠的工具集模型只能做决策真正接触代码仓库、执行命令、运行测试的是工具。我们对工具集做了四个分类每个分类都有明确的权限等级。一是感知类工具包括文件读取、代码搜索、日志查看、图片识别等这些是只读的Agent 可以自由使用。二是变更类工具包括写文件、修改代码、创建分支等这些受控操作会留下记录并自动生成 diff 供后续审查。三是执行类工具包括跑测试、启动构建、执行静态分析执行类工具通常运行在隔离环境里避免污染主环境。四是高危类工具包括直接部署生产、修改数据库、释放物理操作指令这类工具默认锁定必须人工二次确认。权限设计的原则是最小够用Agent 能完成的任何操作都优先走只读通道。宁可让 Agent 多读几次文件也不要给它一句“可以执行任意命令”的权限。我们曾发生过一次事故Agent 为了排查测试环境问题尝试执行清理命令幸好被权限层挡住否则整个测试数据库都会被清掉。3.3 第三步构建验证闭环而不是“生成一个结果就结束”AI 写代码最恶劣的问题不只是写得不对而是写完后没人知道不对。很多工具做的是“生成代码并展示给用户”用户一看好像没什么问题就合入了主分支然后线上出事。全自动化系统必须内置验证闭环让 Agent 对自己的产出负责。我们的验证闭环有四个阶梯第一阶梯是静态扫描检查语法、格式、明显的安全风险第二阶梯是单元测试验证每个函数的行为第三阶梯是集成测试验证模块间协作第四阶梯是界面或者接口冒烟测试验证整体流程能否跑通。任何一阶梯失败失败输出都会被送回到 Gemini 的上下文里Agent 需要根据报错信息推断原因并实施修复。这里要强调一个关键点修复不是无限重试而是每次重试都要更换策略。我们在系统里加了一个策略计数器如果 Agent 连续两次采用完全相同的手段修复同一个问题说明它在原地打转系统会直接打断并转人工处理。3.4 第四步调好模型参数但别把宝都押在参数上模型参数对 Agent 稳定性的影响确实存在但远没有很多人想的那么大。我们目前的经验值和常见配置差不多代码生成类的子任务温度设置比较低这样输出更确定任务规划类的子任务可以适当提高一点随机性让模型探索更多方案。更关键的其实是上下文长度管理。我们的原则是“能不放则不放能压缩则压缩”。每次调用 Gemini 之前Agent 编排层会先做一次信息裁剪只保留与当前子任务直接相关的文件片段、日志和状态摘要。上下文越干净模型越不容易被无关信息带偏。温度、top_p、max_tokens 这类参数在每个子任务类型上会有微调但真正的稳定来源是外部系统的约束权限控制、验证闭环、状态记忆、修复终止条件。模型参数只是系统里很小的一块旋钮。3.5 第五步设计人机协同的三种运行模式全自动不等于全程无人工。我们把系统运行模式分成三档团队可以根据项目重要程度切换。第一档是“自由运行”适用于低风险内部工具、样例代码、原型验证Agent 可以连续执行多个子任务只保留关键节点人工确认。第二档是“半监督”适用于核心业务模块Agent 完成代码生成和本地验证但每次变更合入前必须有人工 Review测试结果也必须由人点确认。第三档是“人工先行”适用于高风险重构或对稳定性要求极高的核心链路Agent 只负责提供方案建议和代码草稿人工全流程把控。实测下来大多数团队长期停留在第二档。这不是保守而是对技术边界保持清醒。让 Agent 承担越多责任对系统自身的可信度要求就越高而这需要时间积累。3.6 模拟项目 X 的配置示例拿我们内部跑过的一个模拟项目 X 举例目标是给一个内部工具开发一套报表导出功能共拆成 20 个子任务。系统运行配置大致是——主模型用 Gemini 多模态版本子任务温度 0.2上下文窗口上限控制在容量的 85%工具权限按只读优先配置验证闭环开满四阶梯修复上限三轮人工监督位放在分支合并前。最终结果是20 个子任务里15 个一次性自动通过4 个经过一到两轮修复后通过1 个因为需求模板里遗漏了权限模型导致设计错误三轮修复未收敛后转人工处理。全过程人工介入两次总耗时比纯人工预估缩短约 60%。这个数据不算惊艳但胜在稳定而且每一次失败的案例都被记录到知识库后续跑类似任务时没有再犯同样的错。4. 从虚拟 Agent 走到具身智能能落地的三个场景4.1 设备调试与自动化巡检具身智能在研发场景里最容易落地的方向是设备调试和巡检。传统方式是工程师到现场看设备状态或者依赖一堆传感器把数据传回来人工分析。两种方式效率都不高。我们把 Gemini 接到一个带摄像头的移动巡检设备上设备按照规划路径在实验室内移动摄像头实时捕捉设备屏幕、指示灯、接线状态。多模态模型直接对这些图像做判断比如某个设备的电源指示灯偏红、某块屏幕显示异常、某条网线接口松动判断结果会触发对应操作指令。如果是简单的重启、插拔机械臂可以自动操作如果判断比较复杂则生成带标注的告警工单转给人工处理。这个场景目前已经在内部验证环境跑通最大的收获不是省了多少人力而是把物理设备的“状态”第一次变成了 Agent 可以直接读取的输入。设备不再是一个黑盒而是研发数据链路的一部分。4.2 无人值守的移动端真机回归测试移动端真机测试是研发链条里公认的“体力活”。传统自动化能覆盖一部分脚本但遇到需要物理点击、滑动、观察渲染效果的场景最终还是得靠人。我们做了一个具身智能测试工位机械臂夹持测试手机摄像头负责观察屏幕Gemini 负责理解屏幕内容和判断操作结果。Agent 先根据测试用例生成操作步骤然后交给机械臂执行点击、滑动等动作执行完毕后摄像头截屏反馈给模型判断是否符合预期。整个过程无需人工干预。这个方案上线后一个原本需要通宵值守的回归测试任务现在可以在两小时内完成而且错误判断的准确率比脚本断言更高因为模型真正“看到”了屏幕内容而不是只比对几个预设坐标。4.3 虚拟 Agent 与物理执行的反馈闭环具身智能真正有意思的地方是把物理世界的反馈重新注入研发流程。一旦设备上的 Agent 发现指示灯异常这条信息可以直接回到研发 Agent 的上下文里触发代码层或配置层的自动修复。比如我们发现某款嵌入式设备在高温环境下网络模块不稳定具身巡检设备报告了设备表面温度、日志报错和指示灯状态。研发 Agent 拿到这些信息后自动去代码仓库里检索相关配置定位到是温度阈值设置过高生成修复补丁再通过远程更新下发到设备。整个过程里物理感知、逻辑推理、代码修改、远程执行形成了闭环这是纯虚拟 Agent 永远做不到的。当然这个方向还很早期物理动作的精度和稳定性都有很多问题要解决。机械臂的重复定位误差、摄像头在不同光线下的识别稳定性、设备接口的兼容性都会成为瓶颈。但方向已经清晰具身智能不是把 Agent 装进一个机器人外壳而是让研发系统拥有真实世界的数据入口和操作出口。5. 反复踩过的坑全自动研发的常见故障与排查方法5.1 任务漂移做得越多离需求越远这是 Agent 研发系统里最经典也最难排查的故障。现象是任务刚开始还挺正常越到后面越偏最后生成的东西跟原始需求几乎无关。原因通常是上下文窗口管理出了问题。Agent 在执行过程中不断接收中间输出和修复信息早期需求定义被逐步挤出了有效上下文。模型不是忘了而是优先级被冲淡了。解法有两招。第一招是在每次调用前强制注入“任务原始定义”并把这段设置为系统级锚点不参与信息裁剪。第二招是加校验点每个子任务完成后让 Agent 用一句话回答“当前结果离最终目标还有多远”写入状态数据库。一旦偏差超过预设阈值系统自动回退到最近一个正确检查点。5.2 修复死循环同一个问题反复撞墙Agent 陷入死循环的表现是反复调用同一个工具执行几乎相同的操作输出几乎相同的错误。这不是模型笨而是它缺少“变化强制”机制。我们后来在编排层加了策略计数器每个问题同一策略最多使用两次第二次没生效就必须换思路。同时为每个修复动作生成行为指纹如果检测到相同指纹出现三次直接熔断并转人工。这套机制上线后死循环问题基本绝迹。5.3 上下文污染历史垃圾信号淹没有效信息还有一个常见坑是上下文污染。测试失败日志往往又长又重复Agent 在修复过程中会不断读取这些堆积信息有用的错误信息反而找不到了。我们的处理方式是设置“信号抽取器”。测试日志和工具输出不直接塞给模型而是先经过一个轻量的解析模块抽取关键报错行、堆栈头部、断言失败位置再汇总成两百字以内的结构化信号送进上下文。这个简单的后处理步骤让修复成功率提升了不止一点。5.4 工具调用失控AI 也会做出危险动作工具调用失控是最让人后怕的问题。Agent 生成一个大意是“清理临时文件”的指令结果命令里的路径写错了差点把整个测试目录清理掉。万幸有权限白名单和隔离环境挡着。从此我们对所有可执行命令做了两层保护。第一是预执行 dry-run任何删除、清理、批量操作的命令都先模拟执行一次展示影响范围后再决定是否放行。第二是环境隔离Agent 的工具调用全部跑在容器化沙箱里和主研发环境物理隔离。这两件事不能有任何侥幸心理。5.5 环境不一致本地成功但流水线上失败这个坑不是 AI Agent 独有的传统研发管线也经常遇到但在 Agent 系统里会被放大。因为 Agent 会在实践中学习如果它从一次本地测试中得到“通过”的错误印象后续决策可能被这个错误信号带偏。我们要求所有测试验证发生在统一镜像的隔离环境里代码、依赖、系统版本全部锁定每次构建后记录环境指纹。只要环境指纹不一致测试结果一律视为无效。这是笨办法但最可靠。故障现象可能原因排查方向我的处理建议任务漂移原始需求被挤出上下文查看状态数据库里的中间摘要设置系统级锚点不允许裁剪修复死循环缺乏变化强制检查策略计数器和行为指纹同一策略最多两次超限转人工上下文污染无效日志过多检查信号抽取器的输出先解析再注入不直接塞原始日志工具调用失控权限过宽查看审计日志中的命令影响面白名单沙箱dry-run环境不一致依赖或配置漂移对比环境指纹哈希统一镜像指纹不一致则结果无效6. 怎么评估这套范式值不值得上6.1 用对的指标衡量 Agent 研发系统评估一个 AI 驱动的研发系统如果只看“代码生成速度”很容易得出错误结论。我们内部使用一套更全面的指标包含五个维度。任务完成率指所有子任务中最终被验证通过的比例。这是最基础的指标我们目前能做到 90% 以上。人工介入频率指每完成一个完整需求需要人工介入几次。这个数字越低越好但不是追求零而是追求“介入在关键点”。缺陷逃逸率指 Agent 交付内容进入集成环境后发现的缺陷数量它比任务完成率更能反映质量。单任务成本把大模型调用费用、算力成本、人工监督成本合计对比纯人工方案。修复收敛率指首次修复失败后Agent 能用最少轮次完成收敛的比例这个指标直接反映模型的排错能力。这套指标跑下来你会很清楚地知道自己团队适合在哪个环节引入 Agent而不是拍脑袋上项目。6.2 演进路线从辅助编码到全链路 Agent如果想稳妥落地我建议按照四步演进。第一步先把 Gemini 用在代码解释、测试生成、文档撰写这些辅助场景团队只把它当高级工具不改变现有流程。第二步针对单一模块做 Agent 自动化比如某几个服务的单元测试自动生成和自动修复让团队建立信任感。第三步打通全链路需求接入、任务拆解、代码生成、验证修复都交给 Agent 编排系统但保留人工监督位。第四步引入具身智能把物理设备的感知和操作也纳入自动化链路。大多数团队在第二步和第三步之间会遇到明显的阻力主要来自工程师的不信任。解决方式只有一种展示数据和审计日志让团队亲眼看到 Agent 的可观测性和失败保护机制。6.3 研发团队组织形态的变化这套范式落地后团队角色会慢慢发生变化。最明显的是出现一个新的岗位内部暂时叫“Agent 编排工程师”。这个岗位不写业务代码而是负责定义任务模板、维护工具白名单、设计验证闭环、分析审计日志、优化上下文组织方式。相当于“带实习生”的导师角色只不过带的实习生是 AI。我们团队里这个岗位一开始由技术负责人兼任后来发现工作量太大才单独设人。另一个变化是测试工程师的职能从“执行测试”转向“定义验收标准”。在 Agent 系统里测试用例不再只是验证质量的工具更是指引 Agent 正确方向的“路标”。验收标准写得越清楚Agent 跑偏的概率就越低。我在实际项目中体会最深的一件事是永远要把“让 AI 可被理解”摆在“让 AI 更强大”前面。一开始我们总是追求让 Gemini 干更多事后来发现真正让系统变稳的是把每个决策过程透明化、每段操作痕迹归档化。哪怕只是一句“我为什么改这个文件”的说明积累起来也比任何炫酷的提示词更有价值。另一个小技巧是给工具调用加一条“先说明、后执行”的规约Agent 必须先输出此次操作的目的和预期影响再实际调用工具。这多花不了几秒却能让整个系统的可观测性提升一个量级排查问题时看一眼日志就知道当时发生了什么。这套范式还在快速变化中但方法论已经足够清晰剩下的无非是耐心和迭代。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑