kasiopeiya

devil

意見を出す前に、切り離した反論エージェントに主張を潰させ、返ってきた反証条件を確認してから答える。後戻りコストの高い相談(設計・技術選定・方針決め)で使う。「devil」「反論して」「この意見を潰して」と指示されたとき。

kasiopeiya 0 Updated 3w ago
GitHub

Install

npx skillscat add kasiopeiya/claude-dev-template/devil

Install via the SkillsCat registry.

SKILL.md

Devil(意見の事前反証)

意見を述べる前に、その意見を切り離した批評者に潰させる。返ってきた反論をそのまま受け入れるのではなく、反証条件を実際に確認し、確認できたときだけ意見を変える。

なぜこれが要るか

反論を受けたときに根拠なく意見を撤回するのは、LLM に共通する性質である。上流の相談で出したでっち上げの意見は、以降の設計・実装をすべて無駄にする。だから上流で、人間に見せる前に潰す。

同時に、反論に無条件で従うことも解決にならない。それは追従の向きが変わっただけである。だから本スキルの中心は反論を作ることではなく、反論を採否する規則にある。

使い方

/devil            # 直前に自分が出そうとしている(出した)意見を対象にする
/devil <主張>      # 指定された主張を対象にする

手順

1. 主張を1〜3文に確定する

対象の意見を、それだけ読めば意味が通る主張文に圧縮する。ユーザーに見せてから次へ進む(取り違えたまま反論しても無駄になるため)。

2. devils-advocate-agent を起動する

渡すのは 確定した主張文だけ。以下は渡さない。

  • 会話履歴・作業の経緯
  • その主張を誰が出したか、自分がどう考えたか
  • 「これで良いか確認したい」等の期待を示す言葉

切り離しが仕組みの効き目そのものである。文脈を渡すとエージェントは味方をしはじめ、意味がなくなる。

3. 反証条件を実際に確認する

返ってきた「確認すべきこと」を、Read・Grep・Bash・WebSearch 等で自分で確かめる。ここを飛ばして判定してはならない。確認を省いた時点で、この仕組みは何も担保しなくなる。

4. 規則に従って判定する

  • 反論が成立すると確認できた:意見を変える。どの事実で変わったかを明示する
  • 反論が成立しないと確認できた:意見を維持する。維持する理由を述べる
  • 確認できなかった・調べきれない:折れも維持もしない。「未確認」と明示し、何が分かれば決まるかを示す
  • 反論が主張に並べた個別の要素(例・列挙・前提の事実)の誤りだけを突いた:その要素を主張から外す。方針への結論は変えず、外した要素は別の課題として報告する

反論が来たこと自体を理由に意見を変えてはならない。変える根拠は、確認した事実だけである。

5. 報告する

## 検証した主張

<1〜3文>

## 反論

<エージェントが返した最も強い反論>

## 確認結果

<何を確認し、何が分かったか>

## 結論

<維持 / 変更 / 未確認>。<理由>

## 主張から外した要素

<個別の要素の誤りだけを突いた反論があれば、外した要素と分かった事実。無ければ「なし」>

いつ使うか

既定はオフ。 呼ばれたときだけ動く。素の会話や、後戻りコストの低いやり取りを遅くしない。

呼ぶべき場面は、設計方針・技術選定・進め方の相談のとき(CLAUDE.md「重要な相談は3人で議論する」が定める場面)である。

判断がつかないときは、ユーザーに使うかどうか聞く。

Categories