0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【革命】MITが「失敗しないAIエージェント」を開発!EnCompassで精度40%向上の衝撃

0
Last updated at Posted at 2026-02-18

「AIエージェントがミスしたら、自動で巻き戻して別のルートを探す」

そんな夢のような技術が、MITから発表されました。

結論から言うと

MITの研究チームが開発したEnCompassというフレームワークを使うと、AIエージェントの精度が15〜40%向上します。しかも、実装に必要なコードは82%削減

これ、AIエージェント開発のゲームチェンジャーです。

なぜAIエージェントは「使えない」と言われるのか?

正直に言います。

2026年になっても、AIエージェントはまだ信頼できません

タスク成功率の現実:
- 単純なタスク: 80-90%
- 複雑なタスク: 40-60%
- 本番環境での長時間タスク: 30%以下

理由は単純です。LLMは確率的に間違えるから。

従来のプログラムは「1+1=2」を100回やっても100回正解します。でもLLMは違う。「東京の首都は?」という質問でも、たまに「京都」と答えることがある。

これがエージェントの複数ステップになると、エラーが雪だるま式に増えていく。

# 従来のエージェントの問題
step1: 成功確率 95%
step2: 成功確率 95%
step3: 成功確率 95%
step4: 成功確率 95%
step5: 成功確率 95%

# 全体の成功確率
0.95^5 = 77%  # すでに23%失敗!

# 10ステップなら?
0.95^10 = 60%  # 40%が失敗

これが「AIエージェントは使えない」と言われる根本原因です。

EnCompassの革命的アプローチ

MITの天才たちが考えたのは、「間違えたら巻き戻す」というシンプルな発想。

ゲームのセーブポイントを思い出してください。

ボス戦で死んだら、セーブポイントからやり直しますよね?EnCompassはAIエージェントに同じことをさせます。

具体的な仕組み

# EnCompassの疑似コード
@branchpoint  # ← ここがセーブポイント
def analyze_code(repo):
    result = llm.analyze(repo)

    # 品質スコアを記録
    score = evaluate_quality(result)
    record_score(score)

    return result

# EnCompassが自動でやってくれること:
# 1. 複数の実行パスを並列で試す
# 2. 各ステップの品質を評価
# 3. 悪いパスは自動で破棄
# 4. 最良のパスだけを採用

3つの核心技術

1. 確率的天使的非決定性(PAN)

難しい名前ですが、要するに「複数の未来を同時に探索する」ということ。

従来のエージェント:

A → B → C → 失敗 😭

EnCompass:

A → B1 → C1 → 成功 ✅
  ↘ B2 → 失敗 ❌ (破棄)
  ↘ B3 → C3 → 成功 ✅

2. 自動バックトラック

LLMがミスしても、自動で前のステップに戻って別のアプローチを試す。

3. ビームサーチ戦略

「どのパスを優先的に探索するか」を賢く判断。リソースを最も有望なパスに集中させる。

実際の性能向上

論文の数字を見てください:

リポジトリ 従来手法 EnCompass 向上率
リポジトリA 52% 67% +29%
リポジトリB 45% 63% +40%
リポジトリC 58% 73% +26%
リポジトリD 41% 56% +37%
リポジトリE 55% 70% +27%

平均15〜40%の精度向上。これは尋常じゃない数字です。

コード量82%削減の秘密

「すごい技術なのはわかった。でも実装大変でしょ?」

逆です。

従来、探索機能付きエージェントを作るには424行のコードが必要でした。EnCompassなら76行で済む。

# 従来の実装(概念図)
class AgentWithSearch:
    def __init__(self):
        self.state_history = []
        self.branch_manager = BranchManager()
        self.score_tracker = ScoreTracker()
        # ... 400行以上のボイラープレート

    def execute(self, task):
        # 複雑な状態管理
        # 手動でのバックトラック実装
        # スコア追跡ロジック
        # 並列実行の管理
        # ... 地獄のようなコード

# EnCompassでの実装
@encompass_agent
def my_agent(task):
    @branchpoint
    def step1():
        return llm.process(task)

    @branchpoint
    def step2(input):
        return llm.analyze(input)

    return step2(step1())

アノテーションを2つ付けるだけ

これがEnCompassの威力です。

Claude Code / Codexユーザーへの影響

ここからが本題。

Claude CodeやCodexを使っている人なら、こんな経験ありませんか?

  • 「途中まで良かったのに、最後でおかしくなった」
  • 「同じプロンプトなのに結果がバラバラ」
  • 「長いタスクほど失敗しやすい」

これ、全部EnCompassが解決できる問題です。

将来の統合予測

私の予想では、2026年中にClaude CodeとCodexにEnCompass的な機能が標準搭載される可能性が高い。

なぜなら:

  1. AnthropicもOpenAIも「エージェントの信頼性」を最重要課題として挙げている
  2. EnCompassはオープンソースで公開されている
  3. 実装コストが低い(82%削減)
  4. 効果が劇的(15-40%向上)

採用しない理由がありません。

今すぐできること

EnCompassを待たなくても、同じ発想でエージェントを改善できます。

1. 自己検証ループを追加

def agent_with_verification(task, max_retries=3):
    for attempt in range(max_retries):
        result = llm.execute(task)

        # 自己検証
        verification = llm.verify(
            f"以下の結果は正しいですか?\n{result}"
        )

        if verification.is_valid:
            return result

        # 失敗したら別のアプローチで再試行
        task = f"{task}\n\n前回の問題点: {verification.issues}"

    return None

2. 複数パスの並列実行

import asyncio

async def multi_path_agent(task):
    # 3つの異なるアプローチを並列実行
    paths = await asyncio.gather(
        llm.execute(task, style="conservative"),
        llm.execute(task, style="creative"),
        llm.execute(task, style="detailed"),
    )

    # 最良の結果を選択
    scores = [evaluate(p) for p in paths]
    return paths[scores.index(max(scores))]

3. チェックポイント付き実行

def checkpointed_agent(task, steps):
    checkpoint = None

    for step in steps:
        try:
            result = step.execute(checkpoint)
            checkpoint = result  # セーブ
        except:
            # 失敗したら前のチェックポイントから別ルート
            result = step.execute_alternative(checkpoint)
            checkpoint = result

    return checkpoint

まとめ

EnCompassが示したのは、AIエージェントの信頼性問題には解決策があるということ。

今日の要点

  • AIエージェントの失敗は「LLMの確率的エラー」が原因
  • EnCompassは「巻き戻し+複数パス探索」で精度15-40%向上
  • 実装コードは82%削減(424行→76行)
  • Claude Code / Codexへの統合は時間の問題

参考リンク

Helping AI agents search to get the best results out of large language models | MIT News

EnCompass: Enhancing Agent Programming with Search Over Program Execution Paths | arXiv

New MIT Framework Uses Search to Handle LLM Errors in AI Agents - AIwire


この記事が参考になったら、いいねとストックをお願いします!

質問があればコメントで聞いてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?