AI
企业正在以前所未有的速度使用AI编写代码,占比在25%到75%之间,具体数字因来源不同而有所差异。这意味着开发者正在将更多精力转移到开发流程的其他环节,而这些环节也带来了全新的挑战。
IBM今年早些时候推出了IBM Bob智能体软件开发平台,旨在帮助开发者覆盖完整的软件开发生命周期(SDLC),而不仅仅局限于单一界面或孤立任务。
为进一步完善该平台,IBM于周四宣布了一系列更新,包括全新的多智能体功能、并行工具调用以及内置的成本与使用分析能力。与此同时,IBM还发布了三项专项工作流,分别针对Java现代化、IBM i操作系统以及大型机架构IBM Z。
"IBM Bob的与众不同之处在于,IBM并没有将其设计成另一个单点代码助手,"IBM Bob副总裁Michael Kwok表示,"市场上的讨论已经从'哪个模型写代码最快'转变为'哪个平台能帮助企业在整个生命周期内安全、重复且经济地交付软件'。"
Bob正是为解决这一更宏观的问题而设计的,他说:理解复杂系统、规划变更、执行任务、验证结果,并为管理层提供对使用情况、治理和成本的可见性。"IBM Bob对代码周边工作的支持,与对代码本身的支持同等重要,"他说。
Bob于今年4月正式面向全球开放,在整个开发流程中嵌入智能体AI,涵盖发现、规划、设计、编码、测试、部署和运营等环节。它提供基于不同角色的模式("智能体"、"计划"、"询问"),支持可复用的工作手册,并强制执行统一标准。
Bob可以调用工具完成不同任务,并根据成本、性能和准确性需求,在IBM Granite或Anthropic Claude等不同模型之间进行任务路由。它还支持多任务并行运行,每个任务在独立线程中执行。在安全方面,Bob能够扫描敏感数据、实时执行策略,并将红队测试直接融入开发工作流。
"企业软件工作很少只是一个提示词或一个文件,"Kwok指出,通常需要仓库发现、依赖分析、测试、安全审查、文档编写以及人工审批等多个环节,"Bob负责协调这些工作,而不是让开发者自己手动将它们拼凑在一起,"他说。
现在,Bob无需逐一运行各项任务,而是能够并行调用原生模型工具并同步执行。IBM表示,这意味着原本需要30秒完成的任务现在可以在10秒以内完成,同时降低了每个任务的Token消耗。其上下文窗口也相较第一版扩大(从20万Token提升至27万Token)。
此外,Bob还可以调用子智能体来执行探索性步骤。当主智能体需要完成一项独立任务时,例如"弄清楚这个代码库中的身份验证是如何工作的",它会启动一个子智能体来读取文件、执行分析并梳理规律。主智能体随后接收摘要信息,中间步骤则被丢弃,IBM表示这有助于防止上下文窗口膨胀。
Kwok解释说,并行工具调用减少了跨搜索、文件读取和验证步骤时的等待时间,而子智能体则通过隔离探索性工作并返回简洁摘要,使主上下文保持更加清晰。
"重点不在于Bob能同时做更多事情,而在于Bob能以一种可理解、可重复、可审计的方式协调这些事情,"他说。
此外,Bob现已配备"Bobalytics"——一款面向团队的可视化与成本优化工具,帮助团队保持监管、监控使用情况并合理分配资源。
"目标是帮助企业不仅了解AI的使用量,更要判断AI是否创造了实质性价值,"Kwok说。
他介绍,Bobalytics围绕多视角设计:管理员需要查看席位使用情况、消耗量、治理控制和活动可见性;而管理者则需要洞察"团队层面的规律",例如哪些人在使用Bob、哪些工作流正在创造价值,以及哪些团队可能需要支持。
这有助于支撑重要决策,Kwok说:如果某个团队使用率高但价值低,可能需要优化工作流或加强培训;如果某团队出现成本峰值,管理层需要了解原因并采取相应行动。
IBM数十年来一直为企业提供大型机、Java代码库和操作系统的现代化迁移支持。如今,IBM正将这一丰富的行业积累融入三个预置的、可定制的工作流,分别面向Java现代化、IBM i和IBM Z。IBM表示,这些工作流"结构化、可重复、可审计且专为特定场景构建"。
Bob for Java现代化帮助团队将Java 8或更早版本迁移至Java 11、17、21或25,识别兼容性问题、分析依赖关系、协调代码与配置更新,并执行其他关键任务。
例如,开发者可以要求Bob评估某个应用的Java版本升级情况。Bob可能需要检查构建系统、分析依赖关系、审查框架用法、识别兼容性问题、读取日志、了解测试覆盖范围,并提出升级方案。现在,这些任务可以并行执行,而子智能体可以处理重点调查,"而不会污染主对话上下文,"Kwok说。
Bob for IBM i具备专为IBM i操作系统优化的精选技能和智能体工作流,包括将"单体"应用重构为更模块化的现代结构、创建文档、生成单元测试,以及为开发者生成多种类型的代码(COBOL、DDS、CL、RPG)。此外,"IBM i数据库模式"允许Bob模拟经验丰富的数据库工程师。
大型机环境历来是AI集成的难点,IBM表示将首次为IBM Z带来AI原生应用现代化能力,涵盖COBOL和PL/I的现代化改造以及作业控制语言(JCL)分析。
Bob for IBM Z提供可复用技能;专用模式使其能够适应代码重构或架构影响分析等不同任务,并具备编写代码、读取文件和执行命令的能力。
例如,开发者可以询问:"这个字段变更会产生什么影响?"Bob可以利用Z专属分析和元数据,跨程序、复制本、JCL、数据流和子系统交互进行推理,Kwok指出。子智能体可以探索系统的某一部分,汇总相关发现,并只将主智能体继续规划或执行变更所需的内容返回。
他表示,Java、Z和i各自具有不同的运行时假设、语言、集成模式、治理需求和操作限制,IBM的领域专业知识是"重要的差异化优势"。
IBM最终将向其他特定工作流能力拓展,他指出,重点是那些"专项工作流能够切实改善软件交付效果"的领域。
Info-Tech Research Group首席研究总监Shashi Bellamkonda表示,IBM Bob并非又一个嫁接在集成开发环境上的副驾驶助手,而是"将安全、测试和治理内嵌入生成步骤,使代码在生成时即已完成检查,而不是落到原本已成为瓶颈的审查者手中"。
他指出,提示词规范化在编写阶段就能拦截不安全指令,敏感数据的扫描和密钥检测实时进行,策略执行在整个代码生命周期中持续运行。Bob负责选择模型,内置及自定义模型让开发者无需切换工具即可在规划、编码和审查之间自由切换。此外,模型上下文协议(MCP)集成将Bob与现有工具链连接起来。
Bellamkonda指出,大多数AI编码工具的工作方式通常如出一辙:在编码工具中生成代码,粘贴到集成开发环境中,再花时间修复出现的问题。
开发者最终写了大量代码,却要耗费数小时追查漏洞。代码进入生产环境后,每一行仍需通过安全审查、测试和合规检查。例如,AWS Claude要求在代码存在之前先提供规范,再据此测试代码;而AWS Transform则从另一端入手,在持续循环中对旧代码进行现代化改造并清理技术债务。
"IBM Bob作用于相同阶段,但将检查内嵌入生成过程,"Bellamkonda指出。
"整个行业在今年得出了同一个结论:在未变的流程上嫁接一个加速器,只会将瓶颈转移到下游,"他说,"各工具的区别只在于它们在哪个节点介入。"
Q&A
Q1:IBM Bob和普通AI代码助手有什么区别?
A:IBM Bob不是单纯的代码生成工具,而是覆盖完整软件开发生命周期的智能体平台,涵盖发现、规划、设计、编码、测试、部署和运营各个环节。它将安全、测试和治理内嵌入代码生成步骤,支持多智能体协作和并行任务执行,并可在不同AI模型之间智能路由,而非让开发者在多个工具之间手动切换。
Q2:IBM Bob的并行工具调用功能有什么实际效果?
A:并行工具调用让Bob能够同时执行多个任务,例如在进行Java版本升级评估时,同步完成构建系统检查、依赖分析、兼容性识别等工作。IBM表示,原本需要30秒的任务现在可在10秒内完成,同时降低Token消耗。此外,上下文窗口也从第一版的20万Token扩展至27万Token,处理大型项目的能力更强。
Q3:IBM Bob针对大型机IBM Z具体能做什么?
A:Bob for IBM Z专为大型机环境设计,支持COBOL和PL/I代码的现代化改造,以及作业控制语言(JCL)分析。开发者可以询问字段变更的影响,Bob会利用Z专属分析和元数据,跨程序、复制本、JCL、数据流和子系统交互进行推理。子智能体负责探索系统局部细节并返回摘要,主智能体则据此完成规划和变更执行。
