> ## Documentation Index
> Fetch the complete documentation index at: https://factory-docs-cli-sandbox-mcp-whole-process.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy Bench

> レガシーソフトウェアに取り組む AI エージェント向けの Legacy-Bench の結果と方法論。

export const BarChart = ({data, valueKey, labelKey = "name", valueLabel = "Score", maxValue}) => {
  const values = data.map(d => d[valueKey]);
  const topValue = values[0];
  const minValue = Math.min(...values);
  const baselineOffset = topValue - (topValue - minValue) / 0.8 * 1;
  return <div className="space-y-3 my-6 not-prose">
      {data.map((item, idx) => {
    const value = item[valueKey];
    const percentage = (value - baselineOffset) / (topValue - baselineOffset) * 80;
    const isDroid = item[labelKey].toLowerCase().includes('droid') || item[labelKey].toLowerCase().includes('factory');
    return <div key={idx}>
            <div className="flex items-center gap-2 mb-1.5">
              <span className="w-6 text-sm font-mono text-zinc-400 dark:text-zinc-500 text-right">
                {idx + 1}
              </span>
              <span className="text-sm font-medium text-zinc-900 dark:text-zinc-100">
                {item[labelKey]}
              </span>
            </div>
            <div className="flex items-center gap-3">
              <div className="w-6" />
              <div className="flex-1 h-7 relative flex items-center">
                <div className="h-full rounded-sm transition-all duration-500" style={{
      width: `${percentage}%`,
      background: isDroid ? 'linear-gradient(to right, #f97316, #fb923c)' : 'linear-gradient(to right, #a1a1aa, #d4d4d8)'
    }} />
                <span className="ml-2 text-xs font-mono text-zinc-600 dark:text-zinc-400">
                  {typeof value === 'number' && value % 1 !== 0 ? value.toFixed(1) : value}{valueLabel.includes('%') ? '%' : ''}
                </span>
              </div>
            </div>
          </div>;
  })}
    </div>;
};

export const legacyBenchData = [{
  name: "Factory Droid (GPT-5.3 Codex)",
  accuracy: 42.5
}, {
  name: "Factory Droid (GPT-5.4)",
  accuracy: 40.7
}, {
  name: "Codex CLI (GPT-5.4)",
  accuracy: 40.1
}, {
  name: "Codex CLI (GPT-5.3 Codex)",
  accuracy: 39.4
}, {
  name: "Factory Droid (Gemini 3.1 Pro)",
  accuracy: 38.7
}, {
  name: "Gemini CLI (Gemini 3.1 Pro)",
  accuracy: 36.0
}, {
  name: "Factory Droid (Claude Opus 4.6)",
  accuracy: 34.6
}, {
  name: "Claude Code (Claude Opus 4.6)",
  accuracy: 33.0
}, {
  name: "Factory Droid (GLM-5)",
  accuracy: 32.2
}, {
  name: "Cursor (Composer 2)",
  accuracy: 31.0
}, {
  name: "Factory Droid (Gemini 3 Flash)",
  accuracy: 27.2
}, {
  name: "Factory Droid (Kimi K2.5)",
  accuracy: 16.9
}];

[Factory](https://www.factory.ai/news/legacy-bench) が提供する、COBOL、Java 7、BASIC、C89、Fortran、Assembly にまたがるレガシーエンジニアリングタスクでの AI エージェント性能を測定するベンチマークです。

### 結果 — 総合合格率

<BarChart data={legacyBenchData} valueKey="accuracy" valueLabel="%" maxValue={100} />

*最終更新: 2026年4月*

### 方法論

| 項目         | 説明                                            |
| ---------- | --------------------------------------------- |
| **タスクセット** | 6 つのレガシー言語ファミリーにまたがる数百件のタスクと、代表的な 10 件の公開サンプル |
| **タスク形式**  | 自然言語の指示、コンテナ化されたソース環境、参照実装、非公開の検証テスト          |
| **タスク種別**  | バグ修正、実装、移行、その他のレガシーエンジニアリング作業                 |
| **評価**     | 仕様理解、動作するコードの生成、検証通過をエージェントに求める Harbor 互換タスク  |
| **スコアリング** | 12 のモデル・エージェント組み合わせにおける非公開テストの合格率             |

### ベンチマーク構成

| 言語           | 割合  | 代表的な分野                                     |
| ------------ | --- | ------------------------------------------ |
| **COBOL**    | 46% | 金融決済、給与処理、保険請求、通信課金、VSAM ファイル処理            |
| **Java 7**   | 32% | エンタープライズミドルウェア、CDR 処理、倉庫物流、バイナリ解析、EJB パターン |
| **BASIC**    | 6%  | 業務アプリケーション、会計、データ処理                        |
| **C89**      | 5%  | システムプログラミング、低レベルデバッグ、プロトコル実装               |
| **Fortran**  | 5%  | 科学技術計算、数値計算、物理シミュレーション                     |
| **Assembly** | 5%  | x86 ファームウェア解析、プロトコルデコード、ハードウェアシミュレーション     |

Java 7 のバグ修正では、コンパイラとランタイムのフィードバックによってエラーが表面化しやすいため、エージェントは最も高いスコアを記録しています。一方で最も難しいのは COBOL で、どのモデルも解けなかった 44 件のタスクのうち 31 件を COBOL が占めています。

<Card title="Legacy-Bench" icon="server" href="https://github.com/factory-ai/legacy-bench">
  GitHub でサンプルタスクと評価ハーネスを見る
</Card>

<Card title="解説を読む" icon="newspaper" href="https://www.factory.ai/news/legacy-bench">
  Legacy-Bench: AI エージェントは世界で最も重要なソフトウェアを保守できるのか？
</Card>
