人工智能代理能生成微服务吗?我们离多远了?

背景。 大语言模型(LLMs)已推动代码生成技术的进步,但将其用于生成具有显式依赖关系和 API 契约的微服务,这一领域仍研究不足。

目标。 我们旨在探究 AI 智能体能否生成功能正常的微服务,以及不同形式的上下文信息如何影响其性能表现。

方法。 我们评估了由 3 种智能体、4 个项目、2 种提示策略和 2 种场景生成的 144 个微服务。增量生成在现有系统内进行,并通过单元测试进行评估。干净状态生成仅从需求出发,并通过集成测试进行评估。我们从功能正确性、代码质量和效率三个维度进行分析。

结果。 在增量生成中,简洁提示优于详细提示,实现了 50-76% 的单元测试通过率。干净状态生成的集成测试通过率更高(81-98%),表明其对 API 契约的遵循度很高。生成代码的复杂度低于人工编写的基准代码。不同智能体的生成时间差异很大,每个服务平均耗时 6-16 分钟。

结论。 AI 智能体能够生成包含可维护代码的微服务,但其正确性不一致且仍需人工监督,这表明完全自主的微服务生成尚无法实现。

I. 引言

长期以来,从架构描述自动生成可执行系统一直是软件架构(SA)领域的核心目标之一,其优势包括增强一致性和改善可追溯性[1]。软件架构社区通过架构描述语言(ADL)和领域特定语言(DSL)探索了这一愿景[2],但由于学习曲线陡峭和工具支持不足,其应用仍然有限[3]。

人工智能的最新进展提供了新的方向。大语言模型(LLMs)目前可以执行广泛的软件工程(SE)任务[4],包括代码补全、函数生成和程序修复[5, 6, 7, 8]。关于生成式人工智能(GenAI)在软件架构中的应用研究,已开始探索从需求到架构以及从架构到代码的转换,但尝试完整走通"需求-架构-代码"全流程的研究很少,且大多数研究缺乏对AI生成制品的稳健验证策略[9]。关于生成更大架构单元(如微服务)的工作仍然稀缺,仅在特定情境(如无服务器函数)中出现了早期尝试[10]。

当前正发生一个更广泛的转变:从独立的 LLMs 转向 AI 智能体。这些智能体通过工具使用、记忆和迭代优化工作流增强了基础模型的能力[11, 12]。与单次生成的 LLMs 不同,智能体能够运行测试、分析编译错误、利用代码库上下文,并迭代优化其输出,这使得它们更适用于自动代码生成[13, 14, 15]。Codex [5] 和 Cursor [16] 等工具已被集成到实际开发环境中。然而,实际部署的速度已经超过了经验理解的速度:像 Replit 的智能体删除生产数据库这样的偶发事件¹ 突显了自主系统在关键工作流中的风险。

尽管智能体在错误修复和代码库级任务方面显示出巨大潜力,但将其用于微服务生成在很大程度上仍是未解之地。微服务涉及众多细粒度服务之间的相互通信[17],且支持微服务的开发工具十分有限[18, 19]。微服务为 AI 智能体提供了一个高要求的试验平台,因为每个服务不仅要满足自身逻辑,还必须通过严格的 API 契约和交互模式进行集成。即使是微小的错误也可能破坏跨服务通信,而现有工具仍难以应对这些复杂性[17]。因此,生成微服务要求同时保证每个服务内部的局部正确性和跨服务契约的全局正确性,这使得该架构风格成为评估现代 AI 智能体能力的一个现实且具有挑战性的基准。

本研究的目标是评估 AI 智能体生成的微服务的功能正确性和代码质量。我们的研究采用了 2 种提示类型、4 个项目、3 种 AI 智能体,每种生成在两个场景下进行,每个项目生成 3 个不同的微服务,共产生 144 个实现。我们从功能、代码质量和效率三个维度对不同生成场景下的实现进行了评估²。我们提供以下主要贡献:

  • 首个针对 AI 智能体在不同上下文场景下生成微服务的实证研究,评估了功能正确性和代码质量;

  • 对智能体效率的比较分析,涵盖生成时间、成本和 token 消耗。

论文结构: 第二部分提供关于 AI 智能体和相关工作的背景信息。第三部分描述我们的研究问题、研究中的不同上下文场景以及研究设计。第四部分展示结果,并在第五部分结合研究的有效性威胁进行讨论。最后,第六部分给出结论和未来工作方向。

相关推荐
用户4815930195912 小时前
文件即真理:深度解析 OpenClaw 的 Markdown 记忆系统
人工智能
liliangcsdn2 小时前
Mac环境OpenClaw龙虾的初步测试和验证
人工智能·macos
一起来学吧2 小时前
【OpenClaw系列教程】第三篇:OpenClaw能做什么? AI能力全解与实战案例
人工智能·openclaw
陈皮糖..2 小时前
Docker Compose 学习之多容器应用编排与运维实践 —— 基于 Nginx+MySQL+Redis 服务栈的部署与管理
运维·redis·学习·mysql·nginx·docker
bryant_meng2 小时前
【AIGC】《A Quick 80-Minute Guide to Large Language Models》
人工智能·计算机视觉·语言模型·llm·aigc
Sarvartha2 小时前
AI 软件开发之编排与评估优化
数据库·人工智能
LS_learner2 小时前
OpenCode的Skill完整安装和使用流程
人工智能
Heo2 小时前
这才称得上是提示词工程!
java·架构·代码规范
跨境卫士苏苏2 小时前
通过配件标准化降低售后复杂度
大数据·人工智能·跨境电商·亚马逊·营销策略