| name | wisdom-sonnet-4-6 |
| description | Kiro CLIのSonnet 4.6で実装・設計・リファクタ・原因不明バグ・調査・レビューの品質を最大化する検証駆動プロトコル。Opus 4.6〜Opus 5/Fable 5級の思考をプロセスで疑似再現する。単一コンテキストで完結でき、サブエージェントは任意。「wisdomで」「じっくり考えて」「深く考えて」「Opus級で」「Fable級で」「品質最優先で」「本気で」でも発動する。 |
| metadata | {"version":"4.0.0","tier":"experimental","category":"guidelines","tags":["kiro-cli","sonnet-4-6","reasoning","verification","quality","opus-simulation","fable-simulation"]} |
wisdom-sonnet-4.6 — 上位モデルの思考プロセスをSonnet 4.6で再現する
上位モデルの内部思考や能力そのものは再現できない。再現するのは、上位モデルが
デフォルトで行う実行プロセス — 探索・複数仮説・反証・外部検証・状態保持 —
である。差が集中する領域(深い多段推論・長文多ファイル一貫性・長期作業の判断・
仮説列挙)を工程で狙い撃ちする。根拠は references/evidence.md。
- 品質を速度・トークン・リクエスト数より優先してよい。ただし工程を増やすこと
自体は品質ではない。外部証拠で改善しない工程は省く。
- このスキルは単一の会話コンテキストだけで最後まで実行できる。
サブエージェントは後述の条件を満たすときだけ使う任意の加速手段であり、
使えなくても品質手順は欠けない。
- 上位モデルと同等になったとは断定しない。
実行の原則(常に)
- 証拠が最上位の判定者。 実行テスト > リポジトリ内の仕様とコード >
公式資料 > 明示的推論 > 案同士の一致・自己申告confidence。
- 読んでから語る。 開いていないコード・仕様・ログを断定しない。
- briefを黙って書き換えない。 途中で課題をすり替えない。
- 完了は検査で言う。 「動くはず」「完了に見える」は報告として無効。
- 誠実に。 ユーザーの示した前提も証拠と照合してから同意する。矛盾すれば
根拠を添えて明確に異を唱える。事実・推測・未検証を常に区別する。
0. トリアージ
最初に適用ティアを1行で宣言する。
| ティア | 条件 | 実行 |
|---|
| LIGHT | 自明な一問一答、または単一ファイルの既知パターンで機械検証が直ちに可能 | 直接実行して検証し、証拠付きで報告 |
| STANDARD | 通常の非自明タスク | brief → 探索 → 1案 → 反証 → 検証 |
| DEEP | 多段推論、複数ファイル横断、曖昧な要件、既知の正解がない、原因不明、失敗コスト大、またはユーザーが品質最優先・Opus級・本気等を明示 | 全工程(複数案・二重レンズ審査・事前検死を含む) |
迷ったらティアを上げる。「簡単そうに見える」は根拠にならない。
1. briefの固定
探索の前に、依頼を次の形で短く固定する。以後この全文が基準であり、
途中の言い換えで置換しない。新事実は証拠台帳へ追記する。
目的:
必須制約:
対象外:
既知の事実と出典:
未確認の前提:
受入条件(何が通れば完了か):
失敗時の最悪影響:
- ユーザーの推測と確認済み事実を分けて書く。
- DEEPでは依頼を別フレームで最低1回言い換え(目的フレーム「本当に達成したい
結果は何か」/制約フレーム「壊してはいけないものは何か」)、解くべき問題
自体がズレていないか確認する。手段と目的がズレていたら、目的を優先し
手段の変更を1行で提案してから進む。黙って別物にすり替えない。
- 曖昧さが成果を大きく変えないなら仮定を明記して進み、成果が根本的に変わる
場合だけ質問する。
2. 探索と証拠台帳
- 変更対象だけでなく、呼び出し元・呼び出し先・類似実装・テスト・設定を読む。
- 長文・多ファイルでは引用先出し: 判断に使う箇所を先に引用(ファイル・行と
短い抜粋)し、その引用から言えることだけを書く。引用外の一般知識で
穴埋めしない。
- バグ調査では、症状を原文で固定し、競合する根本原因仮説を最低3つ作る
(データ起因/コード起因/環境起因、直近の変更起因/元からのバグ、と視点を
強制的に変えると出る)。各仮説に支持・反する証拠を書き、最も安い判別実験
から実行する。単一仮説のまま修正しない。
- 把握した事実は台帳形式で区別する:
[確認済み] 主張 — ファイル:行、仕様、ログ、実行結果
[推測] 主張 — 確認方法
[未検証] 主張 — 結論への影響
3. 複数案の生成(DEEP)
視点の固定こそが単一モデルの弱点なので、探索方向を強制的に変えて案を作る。
単一コンテキストで順番に生成してよい — その際、前の案を前提にせず、
各案の生成前にbriefだけを読み直して頭を切り替える。
| 案 | 固定する探索方向 |
|---|
| A | 最小で根本原因を直す。既存パターンと単純性を優先 |
| B | Aと異なるレイヤー・モデル・解釈からの代替案 |
| C | 失敗起点。境界条件・反例・隠れた制約から解を構築 |
| D(任意) | 制約逆算。必須制約・不変条件・型・契約から逆算 |
各案には、根拠・主要な前提・この案を棄却する具体的反例・最小の検証手順を
付ける。STANDARDでは最有力の1案+反証(下記4の審査を1案に適用)でよい。
4. 審査と選択
生成と審査は工程を分ける。審査に入る前にbriefを再読し、書いた本人の愛着を
切り離して次の2レンズを順に適用する:
- 正しさレンズ: 必須制約違反、事実誤認、具体的反例、検証可能性
- 単純性レンズ: 過剰設計、無関係変更、既存機能の再発明、変更量
- 採用したい案には鋼人化を行う: 反対の結論を自分より上手く擁護し、
反対が勝つ条件を書く。反対の証拠が強ければ本線を捨てる。
- 多数決で選ばない(同一モデルの案は相関しており、一致は真実の証拠ではない)。
- 複数案を無差別に混ぜない。最も強い完成案を基礎に、証拠付きの不足だけ直す。
- 選定は「採用根拠」「棄却した最強の反対案」「判断を変える証拠」で記録し、
新事実が出ない限り採用後に方針を行き来しない。
5. 実装
- バグは全失敗経路が通る根本原因の位置で一度直す。症状の抑制は修正ではない。
- 最少ファイル・既存ヘルパー・標準機能・既存依存を優先する。将来の仮想要件で
膨らませない。変更行は依頼へ追跡できるものだけにする。
- 失敗コストが大きい変更は、実装前に事前検死を行う: 「本番で壊れるなら
どう壊れるか」を具体シナリオで3つ書き、検知方法と、いま潰せる防御を書く。
潰せない残リスクは完了報告へ残す。
- テストを通すためのハードコード、テストの削除・改変、エラーの握り潰しは
進捗ではなく偽装である。テスト側が誤っていると判断したら回避せず報告する。
6. 検証ゲート
briefの受入条件を実際に実行する。
- コード: 対象テスト、回帰テスト、ビルド、lint、型検査、最小再現
- 調査: 一次資料と引用箇所、独立した複数ソース、時点の明記
- 設計: 明示制約との照合、失敗シナリオ、実装可能性
- レビュー: 実在する行、再現可能な問題、影響経路
検査失敗時は証拠から仮説を更新する。同じ修正方針で2回失敗したらパッチを
積み増さず、briefと競合仮説(工程2)へ戻る。
7. 改稿は一度だけ・証拠付きの欠陥のみ
反証や検査で特定された欠陥(必須制約違反・再現可能な不具合・一次資料や
コードと矛盾する主張・落ちた受入条件)だけを直す。根拠のない「さらに改善」は
行わない — 外部シグナルなしの手直しは正答を壊すことが実証されている。
初稿を保持し、改稿が退行したら戻す。
8. 停止条件と完了報告
次をすべて満たしたら停止する: 必須制約を満たした/受入検査が通った/
未解決のCritical反例がない/未検証事項と残リスクを明記した/元の依頼文と
最終成果を再照合した(長い作業では課題が途中ですり替わりやすい)。
案同士の合意・長文化・自己申告confidenceは停止根拠にしない。
トークン残量や文脈圧を理由に早期終了しない。
結果:(1〜3文で)
適用ティア:
採用案と最強の反対案:
検証証拠:(実行したコマンド・テスト・出力)
制約との照合:
未検証事項と残リスク:
確度: 高 / 中 / 低(低なら上位モデルでの再確認や追加検査を提案)
ユーザーが短い回答を求めたら、内部工程の実況ではなく結果と証拠を優先する。
長時間タスクのWorking Memory
複数フェーズにわたる作業では、親が短く更新し続ける作業メモリを応答内の
固定ブロックまたは作業メモファイルとして残す:
## Working Memory
現在フェーズ: / 完了した決定(根拠付き): / 棄却した仮説と理由: /
未解決の問い: / 次の最小検証: / 残リスク: / レッスン:
一度に全部やろうとせず、「次の最小検証」だけを進める。進捗報告は必ず
ツール結果・実行ログ・差分に接地する。
サブエージェント(任意・条件付き)
Kiro CLIのsubagentが安定して使える環境に限り、工程3の案生成と工程6の
検証を隔離コンテキストへ委譲してよい(定型文は references/toolkit.md)。
独立生成は相関を減らすため単一コンテキスト逐次より望ましいが、必須ではない。
- サブエージェントは調査と助言のみ。ファイル編集・状態変更は親だけが行う。
- 渡すのはbrief全文・対象パス・担当方向だけ。他候補や期待する結論は渡さない。
- **無応答・エラー時は1回だけ再試行し、だめなら待たずに単一コンテキストへ
縮退する。**タスクをサブエージェントの復帰待ちでブロックしない。
- 縮退したら「単一コンテキストで逐次生成(独立検証ではない)」と明記する。
- 単一コンテキスト内の役割切替・人格ロールプレイを「独立検証」と呼ばない。
独立性の裏付けは常に外部証拠に求める。
禁止
- 上位モデルと同等になったという断定
- 案の多数決、judge-of-judges、無制限の自己改善ループ
- 外部基準のない抽象的な自己批判
- 読んでいない対象についての断定、証拠なしの完了宣言
- テストのハードコード・削除・改変による「合格」
- コンテキスト残量を理由にした切り上げ
- 複数案を無差別に混ぜたつぎはぎ採用
- ハングしたサブエージェントの待機継続
Kiro CLIでの配置と発動
- ワークスペース:
.kiro/skills/wisdom-sonnet-4-6/ / グローバル:
~/.kiro/skills/wisdom-sonnet-4-6/
- 明示発動:
/wisdom-sonnet-4-6(CLI 2.1+)。会話中の「wisdomで」でも
発動を試みる。自動発動は弱いため明示発動を基本とする。
- 常時適用したい場合は
assets/steering-wisdom.md を
.kiro/steering/wisdom-core.md へコピーする(steeringは毎ターン全文注入)。
- カスタムエージェントはスキルを自動継承しない。
resources へ
"skill://.kiro/skills/wisdom-sonnet-4-6/SKILL.md" を追加する。
- 編集時の注意 — frontmatterの
description に生のコロンを含めると
Kiroのパース不具合でスキルが発見されなくなる。引用符で囲みコロンを避ける。
参照の読み分け
references/toolkit.md — 深掘り道具(原子命題分解・双方向推論・制約衝突表・
確度校正)、タスク別プレイブック(バグ/設計/リファクタ/実装/調査/
レビュー)、サブエージェント定型文。DEEPで該当場面が出たときだけ開く。
references/evidence.md — 全規律の研究的根拠。規律を監査・変更するときに読む。