RAID-AI:面向自主智能体的多语言压力测试

发布: (2025年12月29日 GMT+8 05:44)
5 min read
原文: Dev.to

Source: Dev.to

引言

我们都见过演示:一个 LLM 在几秒钟内生成一个干净的 React 组件或 Python 脚本。但在真实世界中,工程不仅仅是生成——更是维护。它涉及深入一个已有 10 年历史的 Java 仓库,理解遗留上下文,并在不破坏整个构建的前提下修复 bug。

作为我当前 AI MOOC 的 Mastery Tier 提交的一部分,我构建了 RAID‑AI,一个多语言 bug‑fix 基准,用于评估 Java、Python 和 JavaScript 上的 “Green Agents”。

问题:基准缺口

大多数 AI 基准都是存在于真空中的 “玩具” 问题。要真正测试一个代理是否准备好进入生产环境,它必须面对:

  • 多语言性 – 它能在严格的 Java 类型和动态的 JavaScript 之间切换上下文吗?
  • 环境约束 – 它能处理真实世界的依赖吗?
  • 效率 – 代理是用最少的 token 解决问题,还是在 “暴力破解” 解决方案?

架构:RAID‑AI 的内部工作原理

RAID‑AI 作为一个编排层,管理三个独立的 “项目经理”(Java、Python 和 JavaScript),它们与本地 bug 仓库对接。

  • Java 组件 – 集成了 Defects4J,一个包含数千真实 bug 的数据库。在 WSL/Ubuntu 上搭建环境时,需要穿越一片 “依赖雷区”。

技术 “战争故事”:Perl 与环境一致性

最大的障碍是实现环境一致性。Defects4J 依赖基于 Perl 的后端,这导致了 String::Interpolate.pm 错误。我在开发过程中花了大量时间玩 “依赖打地鼠”,手动安装系统级库如 libstring-interpolate-perlliblist-moreutils-perl,以确保基准能够与 Java 项目通信。

这段经历凸显了 AI 工程中的一个关键真相:基础设施是终极瓶颈。如果你的测试环境不可复现,AI 的 “成功” 只是一场幻觉。

评分标准:为何 “Green” 重要

RAID‑AI 使用加权评分表来计算 Green Agent Score

标准权重描述
正确性50%是否通过原始测试套件?
代码质量20%修复是否可维护,还是 “意大利面条” 代码?
效率15%时间和 token 消耗(例如 10 分钟 / 50k token vs. 2 分钟 / 5k token)。
最小改动15%对于单行逻辑错误,惩罚重写整个文件的代理。

每个 bug 600 秒超时,迫使代理必须果断且计算高效。

Mastery Tier 的经验教训

在 MOOC 中进入 Mastery Tier 后,我的关注点从 “Prompt Engineering” 转向 系统设计。给同行开发者的三大收获是:

  1. 多语言代理是未来 – 下一代工程师不会是 “Python 开发者”,而是 “系统编排者”。
  2. 对抗性测试 – 你必须先尝试并破坏你的基准,才能让代理上手。
  3. 可复现性的重要性 – 自动化 bug‑fix 只有在 “检出 → 修复 → 测试” 循环是原子且不可破坏时才有效。

加入项目

RAID‑AI 目前已初始化 64 个高优先级 bug(17 个 Java,17 个 Python,30 个 JavaScript),这仅是个开始。如果你有兴趣构建真正能在真实世界中运行的自主系统,强烈建议查看指导本项目的课程。

👉 查看 MOOC: https://agenticai-learning.org/f25

Back to Blog

相关文章

阅读更多 »

为什么 Markdown 是更好 AI 的秘密

当前的网页抓取现状对 AI 已经失效。十年来,网页提取一直是一场关于 CSS selectors 和 DOM structures 的战争。我们编写了脆弱的抓取器,它们会崩溃。