ADR(Architecture Decision Record)作成を支援するテンプレートスキル。 docs/adr/ へのADR作成時に自動適用され、 06_DECISION_MAKING.md の3 Agents Modelに準拠した構造を提案する。 アーキテクチャ決定、技術選定、設計方針の記録時に活用される。
中文简介正在准备中。当前显示原文说明。
MAGI System v2 — AoT 分解 + MELCHIOR/BALTHASAR/CASPAR 合議 + gabriel adversarial probe による 構造化意思決定フレームワーク。判断ポイント 2+ / 影響レイヤー 3+ / 選択肢 3+ で使用。
Use when facing complex decisions with multiple trade-offs or architectural choices.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
名前の由来: エヴァンゲリオンの MAGI システム(3 つの独立した思考体による合議意思決定)+ gabriel adversarial verifier(4 番目の独立検証者)。
SSOT: docs/internal/06_DECISION_MAKING.md を精読すること。
Wave C 統合仕様: docs/specs/magi-v2-gabriel/{requirements,design}.md v0.4.0。
| MAGI | ペルソナ | フォーカス |
|---|---|---|
| MELCHIOR | 科学者(推進者)[旧: Affirmative] | Value, Speed, Innovation |
| BALTHASAR | 母(批判者)[旧: Critical] | Risk, Security, Debt |
| CASPAR | 女(調停者)[旧: Mediator] | Synthesis, Balance, Decision(純調停者化: Step 3 で完結) |
| gabriel | 独立検証者(4 番目) | Adversarial probe / 外部視点からの Convergence 検証 / AoT 適用時のみ起動 |
以下のいずれかに該当する場合に発動する:
ユーザーが明示的に /magi を呼び出した場合は、条件に合致しなくても必ず実行する。
条件に合致しないかつ明示呼出しでない場合は「従来手法で十分です」と案内する。
MAGI は 2 つのモードを持つ:
MAGI ログ冒頭で必ずモード(AoT または 軽量)を宣言する。
議題を Atom(判断単位)に分解し、各 Atom が読む状態と書く状態を宣言する(依存 DAG はそこから導出する)。
分解の前に docs/adr/ の既存 ADR 一覧を走査し、同じ判断が既に決定済みでないか(または前提が失効していないか)を確認する。
Atom の 3 条件:
### AoT Decomposition
| Atom | 判断内容 | 読む状態 | 書く状態 |
|:-----|:---------|:---------|:---------|
| A1 | [判断1] | [参照する事実・ファイル・前段の結論] | [この Atom が変える対象] |
| A2 | [判断2] | [同上。A1 の結論を読むならそう書く] | [同上] |
「依存」「並列可否」「独立」を列に持たないこと。それらは結論であって事実ではなく、 宣言すると証明されないまま真として扱われる(要素 n 個で n(n−1)/2 本の暗黙の主張が立つ)。 読む状態・書く状態を書けば、依存は「A の書く状態を B が読む」として、 並列可否は「書込集合が交わらない」として導出できる。根拠: HGA #32(2026-09-05)。
MELCHIOR と BALTHASAR がそれぞれの立場から意見を出し尽くす。
対立するポイントについて、具体的な解決策や緩和策を検討する。
CASPAR が議論を整理し、結論を下す。CASPAR は Step 3 で完結し、gabriel の結果を受けて再処理を行わない(純調停者化 / gabriel 統合後の設計原則)。
### Atom A1: [判断内容]
**[MELCHIOR]**: ...
**[BALTHASAR]**: ...
**[CASPAR]**: 結論: ...
旧 Step 4 Reflection は廃止(gabriel probe に統合)。 B-4 監査(2026-06-19)実機計測: Reflection の初回変更率 0%(全 7 件「致命的な見落とし: なし → 結論確定」)で「無効な安全網」であったため、Wave C(骨子 ②)で構造的解決として gabriel に置換した(ADR-0007 Accepted)。
CASPAR の Convergence 結論に対し、独立コンテキストで動作する gabriel subagent が adversarial verification を実施する。
起動条件:
gabriel の役割: CASPAR の統合結論を そのまま正としてではなく、結論に至った前提・根拠・棄却された代替案を独立に再検証する(design.md §4 / FR-W-C-1)。
プローブ観点(rubric 5 観点):
docs/specs/ / docs/internal/)と矛盾しないかseverity=critical とする。列がある場合は、宣言された状態を
基質(実ファイル・コード・設定)と照合し、宣言が実際より小さくないかを検査する
(書かれていない書込 —— とくに hook 副作用 —— を探す)呼び出し方法: Task ツール経由で subagent_type=gabriel を起動する。gabriel は独立コンテキストで動作し、Read/Glob/Grep のみ利用可(Write/Edit/Bash・Agent ツール禁止 / NFR-W-C-3 暴走リスク抑制)。memory: project は Write/Edit を自動付与するため、disallowedTools: Write, Edit で打ち消している(2026-08-26 canary で実測 / docs/artifacts/2026-08-22-enumeration-drift-sweep.md §1)。
タイムアウト: 360 秒(NFR-W-C-1 / SHOULD / 2026-07-26 改訂)。呼び出し元で経過時間を計測し、超過時は verdict=inconclusive + timeout 注記 として扱う。
gabriel 出力: 6 フィールド JSON(design.md §3 参照):
verdict: confirmed / refuted / inconclusiveseverity: critical / warning / infoaffected_atoms: Atom 識別子リスト(verdict=refuted 時は非空必須)reasoning: 判定理由(200-1000 字)recommended_action: proceed / re-magi / abortconfidence: 0.0-1.0(0.3 未満は verdict=inconclusive 強制)分岐する前に、probe 1 回につき 1 行を
.claude/gabriel-metrics.logに追記すること(MUST)。 追記してから分岐する —— 分岐の後に回すと、エスカレーションや再 MAGI に注意が移って必ず落ちる。実測(2026-09-05): この工程が本 SKILL.md のどこにも書かれていなかったため、ログは 4 行 / 最終更新 2026-07-18 で止まり、以後 5 回走った probe が 1 行も記録されなかった。 それでも
verify_reference_resolution.pyの検査は緑を返し続けた(古い 4 行が enum 準拠のため)。 空集合は常にスキーマに適合する。 同じ位置づけのhga-summon-log.mdが #33 まで生きているのは、hga-summoning.mdが「全召喚を追記すること(MUST)」を明記し、召喚手順から参照しているためである。 本注記はその書き方を写したものである。書式は 12 フィールドの JSONL(
docs/artifacts/gabriel-metrics-environment-2026-07-05.mdが正本)。anchorには MAGI 記録ファイルのパスを入れる —— これが記録とログを突き合わせる鍵になる (検査:verify_reference_resolution.pyのgabriel-metrics-anchor-coverage)。gabriel_outputの 6 フィールドはmagi_dispatch.validate_gabriel_output()の契約に従う。
gabriel の返り値に応じて以下のいずれかの経路を辿る。優先順位は recommended_action=abort > severity=critical > warning > info > confirmed > inconclusive。
| gabriel 出力 | 挙動 | 参照 |
|---|---|---|
recommended_action=abort(verdict / severity 問わず) | 即時人間エスカレーション(再 MAGI なし / MAGI 結論を「保留」記録) | AC-W-C-5 補完 |
verdict=refuted & severity=critical(初回) | 再 MAGI 1 ラウンド(gabriel.reasoning を Divergence 入力に追加)→ Step 1 に戻る | AC-W-C-5 |
verdict=refuted & severity=critical(2 回目) | 人間エスカレーション(再 MAGI 上限到達 / MAGI 結論を「保留」記録) | AC-W-C-7 |
verdict=refuted & severity=warning | MAGI 結論に gabriel 指摘を併記 + 警告ラベル | AC-W-C-6 |
verdict=refuted & severity=info | 記録のみ / MAGI 結論不変 | — |
verdict=confirmed | MAGI 結論を確定(gabriel 補強として記録) | — |
verdict=inconclusive | MAGI 結論を確定(inconclusive 注記を添付) | — |
| timeout(> 360 秒 / NFR-W-C-1) | verdict=inconclusive として扱う / 再 MAGI なし | NFR-W-C-1 |
| format_error(JSON 欠損 / 型不一致 / NFR-W-C-2) | verdict=inconclusive として扱う / 再 MAGI なし | NFR-W-C-2 |
再 MAGI カウンター: 1 ラウンド上限(AC-W-C-7)。2 回目の critical refute で自動的に人間エスカレーション。カウンターは MAGI ログセッション単位で管理する。
実装参照: verdict 別分岐の Python 実装 SSOT は .claude/scripts/magi_dispatch.py (resolve_action() + render_log_entry()) を参照。テストは .claude/tests/wave_c/test_wave_c_magi_integration.py で全 9 パターンを網羅(resolve_action() の action 値は 9 種 / handle_format_error のみ 2 経路 = format_error と defensive fallback)。
以下 2 条件を すべて 満たす場合のみ gabriel probe をスキップできる:
AUTONOMOUS フェーズでの自律ループ実行者の opt-out 宣言は却下される(ADR-0005 FR-9.1 統治への自己書込禁止の趣旨に従う / design.md §6.1)。試行された場合は MAGI ログに「opt-out 試行 / 却下」を記録し、通常通り gabriel probe を実施する。
opt-out 記録形式:
### gabriel opt-out
- 理由: [opt-out の理由を 1 文以上記述]
- opt-out 宣言者: [ユーザー / L1 統括]
- 記録日時: YYYY-MM-DD
正当理由の例:
各 Atom の結論 + gabriel probe 結果を統合し、最終決定と Action Items を導出する。
### AoT Synthesis
**統合結論**: [CASPAR の Convergence 結論を記述]
**gabriel probe 結果**:
- verdict: [confirmed / refuted / inconclusive]
- severity: [critical / warning / info]
- confidence: [0.0-1.0]
- affected_atoms: [Atom 識別子リスト]
- reasoning: [gabriel の判定理由]
- recommended_action: [proceed / re-magi / abort]
**最終結論**:
[gabriel 結果を反映した後の最終結論。warning/info の場合は CASPAR 結論に指摘を併記]
**Action Items**:
1. ...
2. ...
AoT 適用条件を満たさない軽量 MAGI では以下のステップ体系となる:
MAGI ログ記録時は「MAGI 軽量モード」と明示し、Step 番号体系の混乱を避ける。
共通注記: JSON 出力時は §Step 4 の required フィールド 6 件(verdict / severity / affected_atoms / reasoning / recommended_action / confidence)を必ず出力する。以下のログ表示形式は代表フィールドのみを示している。
confirmed:
### gabriel probe
- verdict: confirmed
- confidence: X.XX
- reasoning: [gabriel の判定理由]
- 処理: MAGI 結論を確定(gabriel 補強として記録)
refuted + severity=critical:
### gabriel probe
- verdict: refuted
- severity: critical
- affected_atoms: [A1, A2]
- reasoning: [gabriel の判定理由]
- 処理: MAGI 結論を破棄し、再 MAGI 1 ラウンドを指示する(初回のみ / 上限 1 回)
> [CRITICAL by gabriel]: [reasoning の要約]
> MAGI 結論を破棄します。gabriel.reasoning を新入力として再 MAGI を実施してください。
refuted + severity=warning:
### gabriel probe
- verdict: refuted
- severity: warning
- affected_atoms: [A1, A2]
- reasoning: [gabriel の判定理由]
- 処理: 以下の指摘を MAGI 結論に併記して進む
> [WARNING by gabriel]: [reasoning の要約]
> 最終判断はユーザー(L1 統括)に委ねます。
refuted + severity=info:
### gabriel probe
- verdict: refuted
- severity: info
- affected_atoms: [A1]
- reasoning: [gabriel の判定理由]
- 処理: 以下の指摘を記録するのみ。MAGI 結論は変更しない
> [INFO by gabriel]: [reasoning の要約]
> 指摘を記録するのみ、結論は変更されない。
inconclusive:
### gabriel probe
- verdict: inconclusive
- confidence: X.XX
- reasoning: [gabriel の判定理由]
- 処理: MAGI 結論を確定(inconclusive 注記を添付)
> [NOTE]: gabriel は確信をもって判定できませんでした(confidence=X.XX)。
> 結論は CASPAR の判断を維持します。
abort(verdict / severity 問わず):
### gabriel probe
- verdict: [任意]
- severity: [任意]
- recommended_action: abort
- reasoning: [abort 判定理由 / なぜ直ちに人間判断が必須か]
- 処理: MAGI 結論を保留し、人間エスカレーションを直ちに行う(再 MAGI なし)
> [ABORT by gabriel]: 即時人間判断必須。
> MAGI 結論を「保留」として記録し、人間(L1 統括)の対応を待ちます。
timeout(> 360 秒 / NFR-W-C-1):
### gabriel probe
- verdict: inconclusive
- (timeout 注記)
- 処理: タイムアウトにより inconclusive として扱う。MAGI 結論を確定。
> [NOTE]: gabriel がタイムアウト(> 360 秒)しました。inconclusive として処理します。
> 結論は CASPAR の判断を維持します。再 MAGI は実施しません。
format_error(JSON 必須フィールド欠損 / 型不一致 / NFR-W-C-2):
### gabriel probe
- verdict: inconclusive
- (format_error 注記)
- 処理: フォーマット不備により inconclusive として扱う。MAGI 結論を確定。
> [NOTE]: gabriel の出力にフォーマット不備(必須フィールド欠損 / 型不一致)が検出されました。
> inconclusive として処理します。結論は CASPAR の判断を維持します。再 MAGI は実施しません。
思考過程を必ず docs/artifacts/YYYY-MM-DD-magi-{用途}.md に書き出す。
フォーマットは references/anchor-format.md を参照。
docs/internal/06_DECISION_MAKING.md(§6「gabriel Adversarial Probe(AoT 適用時のみ / 旧 Reflection)」に置換済 / 2026-08-20 確認)docs/specs/magi-v2-gabriel/{requirements,design}.md v0.4.0docs/adr/0007-magi-v2-gabriel-integration.md(gabriel 統合根拠 / Accepted 2026-07-02)docs/adr/0005-thin-harness-autonomous-governance.md(Reflection 追補 / FR-9.1 opt-out 権限境界の根拠).claude/agents/gabriel.md(Wave C Stage 2 実装済 / 2026-07-04 commit 6880421).claude/scripts/magi_dispatch.py (Wave C Stage 3 T6 / 2026-07-05 実装).claude/tests/wave_c/test_wave_c_magi_integration.py (T6 / 全 9 verdict パターン).claude/skills/magi/references/anchor-format.md.claude/rules/decision-making.md(Step 4 は「gabriel Adversarial Probe(AoT 適用時のみ)」に置換済 / 2026-08-20 確認)还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
ADR(Architecture Decision Record)作成を支援するテンプレートスキル。 docs/adr/ へのADR作成時に自動適用され、 06_DECISION_MAKING.md の3 Agents Modelに準拠した構造を提案する。 アーキテクチャ決定、技術選定、設計方針の記録時に活用される。
中文简介正在准备中。当前显示原文说明。
AUTONOMOUSフェーズを開始 - 対象 spec を Green State(G1) まで自律実装(MVP/Wave 1)
中文简介正在准备中。当前显示原文说明。
LAM ダッシュボード HTML を生成し、出力パスを表示する
中文简介正在准备中。当前显示原文说明。
BUILDINGフェーズを開始 - TDD実装サイクル
中文简介正在准备中。当前显示原文说明。
新規条項の誕生ゲート(5 宛先の routing 判定 → 常駐集合の予算処理 → 台帳記録)。規範文書に条項を追加・移動・削除するときに実行する
中文简介正在准备中。当前显示原文说明。
並列監査 + 全修正 + 検証の一気通貫レビュー。--rubric-path=<rubric.md> でゴール条件を注入可能。--auto-approve でサブエージェント向け対話スキップ + 構造化 JSON 出力モード
中文简介正在准备中。当前显示原文说明。