誤謬パターン検出(詭弁チェック)
このスキルは、テキストに誤謬のパターンが現れているかを点検してフラグするために使う。 「これは詭弁だ」と断定するためのものではない。 断定を避けること自体が、このスキルの中心的な価値である。
なぜ断定しないのかは、出典自身が警告している。 「詭弁には特徴Xがある」から「Xがあれば詭弁だ」は導けない(後件肯定)。 チェッカーが何かを詭弁と断定した瞬間、検出対象の誤謬をチェッカー自身が犯す。 さらに詭弁の定義は「欺く意図を伴う誤謬」であり、意図はテキストから復元できない。 だから出力は「誤謬パターンの検出」までに留め、verdict は出さない。
大原則(出力の前に必ず読む)
- DP-01 後件肯定の回避:verdict(詭弁か非詭弁か)を出さない。flag と signal_strength と パターンID に留める。理由は上記のとおり、断定はチェッカー自身の後件肯定になる。
- DP-02 詭弁と誤謬の区別:ラベルは「誤謬パターン検出」止まりにする。「詭弁」と断定しない。 詭弁は誤謬に欺く意図が加わったものだが、意図はテキストから判定できない。
- DP-03 文脈依存パターンの扱い:一部のパターンは文脈次第で正当な論法になる。 議論の型を先に分類してから、そのパターンを適用する(後述の Stage 1)。
- DP-04 欠落パターンの補完:ガイドライン15条には最頻出の形式的誤謬「前件否定」が無い。 補完として前件否定(S-01)と後件肯定(S-02)も点検する。
手順(多段 gate)
素朴な「signal に一致したらフラグ」を避け、段階的に絞る。 各 Stage は前の Stage の結果を受けて、誤検出を落とす gate として働く。
Stage 0 入力の正規化と種別
- mode を決める:入力が単発テキストか(
single_text)、話者と履歴のある対話ログか (dialogue_log)。dialogue_logでなければ、会話履歴を必要とするパターン (requires_history: true= 蒸し返し G-12、自分でずらして批難 G-18)は N/A として扱い、 フラグしない。単発では検出できないものを検出したことにしない。 - 発話帰属を判定する(use-mention):各 span が「著者自身が主張しているもの」か、 「引用、言及、仮想敵、steelman、批評対象として置かれているもの」かを見分ける。 著者が誤謬を引用したり解剖したりしている文は、著者の誤謬としてフラグしない。 これが最大の誤検出源である。例:「彼はいつも『お前だってやってる』と論点をずらす」は、 著者が tu quoque を批評しているのであって、著者が犯しているのではない。
Stage 1 議論の型と構造を分類(DP-03 の前提)
context_sensitive なパターンは、議論の型が分からないと正当な論法と誤謬を取り違える。 先に次の二軸を分類する。
- 主張の型:全称命題(すべてのXはY)/傾向論(Xはたいていの場合Y、統計的主張)/ 定義論争(語の定義そのものが争点)/事実命題/価値命題。
- 論証の構造:条件文(PならばQ)/因果主張/類推/連続量(境界の曖昧な量、砂山型)の有無。
この分類が Stage 2 の gate になる。
Stage 2 パターン照合(frame で gate)
references/rules.yaml を読み、各パターンの signal に照合する。
context_sensitive: true のものは Stage 1 の分類で gate する。
該当する型でなければフラグしない、または低い signal_strength に context_note を付けて残す。
特に注意する分岐:
- 反例(G-02)は双方向:全称命題への反例は正当な反証なのでフラグしない。 傾向論・統計的主張に対して単一の例外を「反証」として提示している場合は候補になる。
- 条件文の構造照合(S-01 / S-02):本文から「PならばQ」を同定し、推論の向きを見る。 「Pでない、ゆえにQでない」は前件否定(S-01)。「Qである、ゆえにP」は後件肯定(S-02)。
- 連続性の虚偽(W-04):境界が曖昧なこと「だけ」を理由に定義や合意を無効化しているかで gate する。連続性そのものの指摘(砂山のパラドックスの提示)は正当なので、それだけでは フラグしない。
- 対偶(W-01):論理的に妥当な対偶はフラグしない。誤りは無い。ミスリードのために対偶を 修辞的に使い、包含関係を因果に見せている場合のみ、「誤謬」ではなく「ミスリード表現」の カテゴリで surface する。
- 異論あり(
disputed: true):出典自身が「詭弁として成立しないという意見が多い」と記す パターン(まれな反例 G-02、ありえない解決策 G-10、連続性の虚偽 W-04 など)は、 低い signal_strength にして context_note を必須にする。
Stage 3 反証可能性チェック(後件肯定 S-02 の実効ガード)
これは語彙の掃除ではなく、推論のガードである。 各 flag について、「この span を誤謬たらしめている frame や文脈は何か」を一つ言葉にできるかを問う。 言葉にできないなら、それは flag ではない(表層が似ているだけである)。 残した flag には必ず context_note を付け、「表層形は存在するが、誤謬性や欺く意図は未確定」で あることを明示する。
Stage 4 出力
下記スキーマに従う。verdict は構造として持たない。
出力スキーマ
mode: single_text | dialogue_log
argument_frame: # Stage 1 の分類
claim_type: 全称命題 | 傾向論 | 定義論争 | 事実命題 | 価値命題 | 不明
structure: [条件文, 因果, 類推, 連続量] # 該当するものだけ
flags:
- pattern_id: G-17 # 例
span: "該当箇所の引用"
attribution: self | quoted | attributed | steelman # 著者自身か引用か
signal_strength: 0.0-1.0 # 表層シグナルの一致強度。frame で棄却されていないことを含む。
# 「詭弁である確率」ではない。
context_note: "正当な用法の可能性、または未確定である点を必ず記載"
verdict: null # 断定は出力しない(DP-01)
disclaimer: "これは誤謬パターンの検出であり、詭弁の断定ではない。意図は判定していない。"
limitations: [] # 適用できなかった観点があれば列挙(下記 Limitations 参照)
flag が一つも残らないことは正常な結果である。無理にフラグを作らない。
パターンカタログ
全パターンの定義と signal と各種フラグは references/rules.yaml にある。 詳細照合をするときにそれを読む。早見のグルーピングは次のとおり。
- 論点操作:関係ない話 G-06、蒸し返し G-12、些末なミス指摘 G-14、極論化(ストローマン)G-17、ずらして批難 G-18
- 人身攻撃・ラベリング:茶化し G-08、人格批判 G-09、レッテル貼り G-11、loaded language W-02
- 権威・多数・新しさ:資料なき多数派 G-05、新しさへの訴え G-15、権威への訴え G-19
- 仮定・将来・陰謀:事実への仮定 G-01、有利な将来像 G-03、陰謀の力説 G-07
- 二分法・境界:全か無か G-16、連続性の虚偽 W-04
- 反例・例外:まれな反例 G-02、決疑論 W-05
- 主観・願望:主観で決め付け G-04、経験則の否定 W-03
- 形式的誤謬:前件否定 S-01、後件肯定 S-02、対偶(誤りなし)W-01
- 勝利宣言・非現実的解決:勝利宣言 G-13、ありえない解決策 G-10
Examples(実例)
正しくフラグする例と、あえてフラグしない例を references/examples.md に置く。 特に context_sensitive のパターンと発話帰属の扱いは、そこの対比例で確認する。
Limitations(既知の未対応)
silent に失敗させず、適用できなかった観点は出力の limitations に明記する。
- 皮肉や反語は、表層形と主張が逆になるため取り違えやすい。
- 入れ子や多層の論証では、どの主張に対する誤謬かを一意に取れないことがある。
- 単一テキスト内で言語が混在すると、日英どちらかの signal を取りこぼすことがある。
- 虐待や災害など、正当に激しい語を要する話題では loaded language(W-02)が過剰発火しやすい。
- 欺く意図は判定できない。これは原理的な限界であり、フラグは常に意図に対して中立である。
関連skill
../argument-gap-edit/SKILL.md:論証のギャップを検出して編集で直す(本スキルは検出止まり)。../verification-discipline/SKILL.md:主張を検証してから断定する規律。../decision-record-governance/SKILL.md:決定記録どうしの矛盾検査。