AI・機械学習
上級

TAP(Tree of Attacks with Pruning)(タップ)

Mehrotra et al.(2023)が提案したPAIRの改良版jailbreak手法。木構造の探索とPruning(枝刈り)を組み合わせ、有望でないプロンプト候補を早期に除去しながら効率的にjailbreak promptを探索する。PAIRより少ないクエリ数で高い成功率を達成する。

0 回閲覧
0 いいね
2026/6/5 更新
関連タグ
TAP
Tree of Attacks
Pruning
Jailbreak
木構造探索

TAPとは

TAP(Tree of Attacks with Pruning)は、Mehrotra et al.(2023)が提案したPAIRを改良した効率的なjailbreak手法です。

PAIRが線形的にプロンプトを改良するのに対し、TAPは木構造の探索と枝刈り(Pruning)を組み合わせ、有望な方向を深く探索しながら不要な候補を早期に除去します。

PAIRの問題点とTAPの解決策

PAIRは一本道の線形探索のため、行き詰まりやすい問題があります。TAPは木構造で複数の候補を並行探索し、低スコアの候補を早期に枝刈りします。

TAPのアルゴリズム

def tap_attack(attacker, target, judge, harmful_goal,
               branching_factor=3, width=5, depth=5):
    nodes = [(attacker.generate_initial(harmful_goal), 0)]
    for d in range(depth):
        new_nodes = []
        for prompt, score in nodes:
            # 複数候補を生成(木の枝を広げる)
            candidates = attacker.generate_variants(prompt, branching_factor)
            for candidate in candidates:
                response = target.query(candidate)
                score = judge.evaluate(candidate, response, harmful_goal)
                if score >= 10:
                    return candidate, response  # 成功
                if score > 3:  # Pruning: 低スコアを除去
                    new_nodes.append((candidate, score))
        # width制限: 上位widthノードのみ次の深さへ
        nodes = sorted(new_nodes, key=lambda x: -x[1])[:width]
    return None

PAIRとTAPの性能比較

指標PAIRTAP
平均クエリ数~20回~15回
GPT-4成功率~20%~30%+
探索戦略線形木構造

スケーリング特性

攻撃者LLMとして強力なモデル(GPT-4等)を使うほど成功率が向上するスケーリング特性が確認されました。「AI能力の向上がリスクも高める」というAI安全性のジレンマを示しています。

まとめ

TAPはPAIRの木構造探索への拡張として、より効率的なjailbreak攻撃を実現しました。防御側の研究を促進する役割も果たしており、AI安全性研究の重要な貢献の一つです。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/5