advanced-elicitation について
advanced-elicitationは、エージェントに複雑な出力を再検討させる推論スキルです。アーキテクチャやセキュリティ、計画などの重要な作業向けに15種類以上の手法を備え、予算と実行回数を制限できます。
主な機能
- 0115種類以上の検討手法
- 02状況に応じて手法を選択
- 03手法の自動選択
- 04予算と実行回数の制限
- 05手法の出力に信頼度を付与
活用シーン
- 01アーキテクチャやセキュリティの判断を評価
- 02曖昧な要件や複数関係者の要望を整理
- 03重要な仕様、計画、設計をレビュー
- 04提案のリスクやバイアスを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill advanced-elicitationインストール後、Claude Code で/advanced-elicitationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/advanced-elicitation.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/advanced-elicitation.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
高度な引き出し
概要
AI の出力にメタ認知的な推論を適用します。15 種類以上の体系的な手法を通じて、AI に自身の成果を再考させます。
基本原則:最初の回答は良いことが多いものの、最高とは限りません。引き出しによって、より深く考えることを促します。
使用する場面
次の場合に使用します:
- 重要な意思決定を行うとき(アーキテクチャ、セキュリティ、主要機能)
- 複雑な問題を解決するとき(複数の関係者、要件が不明確)
- 重要な成果物を作成するとき(仕様、計画、設計)
- 速度より品質が重要なとき
次の場合は使用しないでください:
- 単純な質問(「X とは何ですか?」)
- 定型的なタスク(書式設定、単純なリファクタリング)
- 時間に余裕がないとき(緊急の修正)
- 予算が限られているとき(コストが 2 倍)
仕組み
- 初期回答を生成する:エージェントが最初の回答を作成します
- 引き出し手法を適用する:状況に応じて 1~3 種類の手法を選びます
- 再考する:エージェントが手法を使って再評価します
- 統合する:得られた知見をまとめ、改善した成果を作成します
引き出し手法
1. 第一原理思考
説明:根本的な真実に分解し、基礎から推論を組み立て直します
使用する場面:
- 複雑なシステム設計
- アーキテクチャに関する意思決定
- イノベーションへの課題
プロンプトテンプレート:
You are applying First Principles Thinking to:
---
{content}
---
Steps:
1. List all underlying assumptions
2. Question each assumption: "Is this fundamentally true?"
3. Identify fundamental truths (cannot be broken down further)
4. Rebuild solution from fundamentals only
5. Compare rebuilt solution to original - what changed?
Output:
### First Principles Analysis
**Fundamental Truths:**
- [Truth 1]
- [Truth 2]
**Assumptions Challenged:**
1. [Assumption] - [Why it might be wrong]
**Improvements:**
- [Improvement based on fundamentals]
**Confidence Level:** [HIGH/MEDIUM/LOW]
2. プレモーテム分析
説明:解決策が失敗したと想定し、原因を特定するためにさかのぼって考えます。
使用する場面:
- 大規模な変更の計画
- リスクの軽減
- リリースの準備
プロンプトテンプレート:
You are applying Pre-Mortem Analysis to:
---
{content}
---
Steps:
1. Fast-forward 6 months: the solution has failed spectacularly
2. List 5 reasons why it failed
3. For each reason, assess likelihood (Low/Medium/High)
4. For each high-likelihood failure, propose mitigation
5. Revise original solution with mitigations
Output:
### Pre-Mortem Analysis
**Failure Scenarios:**
1. [Scenario] - Likelihood: [L/M/H]
2. [Scenario] - Likelihood: [L/M/H]
**Mitigations:**
- [Mitigation for high-likelihood failures]
**Revised Solution:**
- [Changes to prevent failures]
**Confidence Level:** [HIGH/MEDIUM/LOW]
3. ソクラテス式問答
説明:根本にたどり着くまで、あらゆる前提に「なぜ?」と問いかけます。
使用する場面:
- 要件分析
- 仕様レビュー
- 曖昧さの解消
プロンプトテンプレート:
You are applying Socratic Questioning to:
---
{content}
---
Steps:
1. Identify 5 key claims in the content
2. For each claim, ask "Why is this true?"
3. For the answer, ask "Why?" again
4. Repeat until you hit a contradiction or fundamental truth
5. Revise claims that don't survive questioning
Output:
### Socratic Analysis
**Claim 1:** [Claim]
- Why? [Answer]
- Why? [Answer]
- Why? [Answer]
- **Verdict:** [Survives/Needs revision]
**Improvements:**
- [Changes after questioning]
**Confidence Level:** [HIGH/MEDIUM/LOW]
4. レッドチーム対ブルーチーム
説明:解決策を攻撃し(レッドチーム)、それを防御し(ブルーチーム)、改善案をまとめます。
使用する場面:
- セキュリティレビュー
- リスク評価
- 敵対的テスト
プロンプトテンプレート:
You are applying Red Team vs Blue Team to:
---
{content}
---
Steps:
1. **Red Team**: List 5 ways to attack/break this solution
2. **Blue Team**: For each attack, propose a defense
3. **Red Team**: For each defense, find the weakness
4. **Blue Team**: Strengthen defenses
5. Synthesize: What changes make the solution more robust?
Output:
### Red Team vs Blue Team
**Attack 1:** [How to break it]
- Defense: [Blue team response]
- Counter-attack: [Red team finds weakness]
- Final defense: [Blue team strengthens]
**Improvements:**
- [Robust changes from adversarial testing]
**Confidence Level:** [HIGH/MEDIUM/LOW]
5. 逆転思考
説明:「どうすれば成功できるか?」ではなく、「どうすれば失敗するか?」と問い、その原因を避けます。
使用する場面:
- リスクの特定
- よくある落とし穴の回避
- 不在の要素の分析
プロンプトテンプレート:
You are applying Inversion to:
---
{content}
---
Steps:
1. Invert the goal: "How could we make this FAIL?"
2. List 5 ways to guarantee failure
3. For each failure mode, identify the opposite (success mode)
4. Check if original solution addresses success modes
5. Revise to explicitly avoid failure modes
Output:
### Inversion Analysis
**How to Fail:**
1. [Failure mode]
2. [Failure mode]
**How to Succeed (inverses):**
1. [Success mode]
**Improvements:**
- [Changes to avoid failures]
**Confidence Level:** [HIGH/MEDIUM/LOW]
6. 二次的思考
説明:結果の結果を考慮します。長期的な影響を検討します。
使用する場面:
- 戦略的な意思決定
- 長期的な計画
- トレードオフ分析
プロンプトテンプレート:
You are applying Second-Order Thinking to:
---
{content}
---
Steps:
1. Identify immediate consequences (1st order)
2. For each consequence, identify follow-on effects (2nd order)
3. For each 2nd order effect, identify further effects (3rd order)
4. Assess whether long-term effects align with goals
5. Revise solution to optimize for 2nd/3rd order effects
Output:
### Second-Order Analysis
**1st Order:** [Immediate effect]
- **2nd Order:** [Consequence of consequence]
- **3rd Order:** [Further consequence]
**Long-Term Implications:**
- [Good/Bad long-term effects]
**Improvements:**
- [Changes optimizing for long-term]
**Confidence Level:** [HIGH/MEDIUM/LOW]
7. SWOT 分析
説明:強み、弱み、機会、脅威を分析します。
使用する場面:
- 戦略的な計画
- 競合分析
- 意思決定
プロンプトテンプレート:
You are applying SWOT Analysis to:
---
{content}
---
Steps:
1. **Strengths**: What are the advantages?
2. **Weaknesses**: What are the disadvantages?
3. **Opportunities**: What external factors could help?
4. **Threats**: What external factors could harm?
5. Synthesize: How to leverage S+O, mitigate W+T?
Output:
### SWOT Analysis
**Strengths:**
- [Internal advantage]
**Weaknesses:**
- [Internal disadvantage]
**Opportunities:**
- [External positive factor]
**Threats:**
- [External negative factor]
**Strategy:**
- [Leverage strengths/opportunities, mitigate weaknesses/threats]
**Confidence Level:** [HIGH/MEDIUM/LOW]
8. 機会費用分析
説明:何をしていないのか?何を諦めているのか?
使用する場面:
- 優先順位付け
- リソース配分
- トレードオフに関する意思決定
プロンプトテンプレート:
You are applying Opportunity Cost to:
---
{content}
---
Steps:
1. List what this solution requires (time, money, people)
2. List 3 alternative uses for those resources
3. For each alternative, estimate value
4. Compare: Is this solution the highest-value use?
5. If not, propose reallocation
Output:
### Opportunity Cost Analysis
**Resources Required:**
- [Time/Money/People]
**Alternatives:**
1. [Alternative use] - Estimated value: [X]
2. [Alternative use] - Estimated value: [Y]
**Verdict:**
- [Is this the best use? Why/why not?]
**Improvements:**
- [Reallocations or justifications]
**Confidence Level:** [HIGH/MEDIUM/LOW]
9. 類推的推論
説明:他者は類似の問題をどのように解決したでしょうか?類推から学びます。
使用する場面:
- イノベーション
- 過去の事例から学ぶ
- 分野横断的な知見
プロンプトテンプレート:
You are applying Analogical Reasoning to:
---
{content}
---
Steps:
1. Identify the core problem (abstract it)
2. Find 3 analogous situations (other domains/times)
3. How was the analogous problem solved?
4. What lessons transfer to this situation?
5. Adapt the solution based on analogies
Output:
### Analogical Analysis
**Core Problem:** [Abstract problem statement]
**Analogy 1:** [Domain/situation]
- How they solved it: [Solution]
- Lesson: [What transfers]
**Improvements:**
- [Adapted solution from analogies]
**Confidence Level:** [HIGH/MEDIUM/LOW]
10. 制約の緩和
説明:制約 X が存在しなかったらどうなるでしょうか?解決策はどのように変わるでしょうか?
使用する場面:
- イノベーション
- 前提を打破するとき
- 創造的な解決策を見つけるとき
プロンプトテンプレート:
You are applying Constraint Relaxation to:
---
{content}
---
Steps:
1. List all constraints (explicit and implicit)
2. For each constraint, ask: "What if this wasn't true?"
3. Design solution without that constraint
4. Assess: Can we actually relax this constraint?
5. If yes, propose new solution. If no, learn from the thought experiment.
Output:
### Constraint Relaxation
**Constraint:** [Constraint]
- **If removed:** [Solution without constraint]
- **Can we actually relax it?** [Yes/No + reasoning]
**Improvements:**
- [Creative solutions from relaxation]
**Confidence Level:** [HIGH/MEDIUM/LOW]
11. 故障モード影響解析(FMEA)
説明:何が問題になり得るでしょうか?その可能性はどのくらいでしょうか?深刻度はどの程度でしょうか?修正の優先順位を付けます。
使用する場面:
- エンジニアリング設計
- リスク評価
- 安全性が極めて重要なシステム
プロンプトテンプレート:
You are applying FMEA to:
---
{content}
---
Steps:
1. List all components/steps in the solution
2. For each, identify potential failure modes
3. Rate each: Severity (1-10), Likelihood (1-10)
4. Calculate Risk Priority Number (RPN = Severity × Likelihood)
5. Address high-RPN failures first
Output:
### FMEA
**Failure Mode 1:** [What fails]
- Severity: [1-10]
- Likelihood: [1-10]
- RPN: [Product]
- Mitigation: [How to prevent/detect/recover]
**Improvements:**
- [Prioritized mitigations for high-RPN failures]
**Confidence Level:** [HIGH/MEDIUM/LOW]
12. バイアスチェック
説明:どのような認知バイアスが影響する可能性があるでしょうか?それを補正します。
使用する場面:
- 意思決定
- レビュープロセス
- 自己批評
プロンプトテンプレート:
You are applying Bias Check to:
---
{content}
---
Steps:
1. Review common cognitive biases (confirmation, anchoring, sunk cost, availability, etc.)
2. For each bias, ask: "Is this affecting my reasoning?"
3. Find evidence of bias in the original content
4. Correct for identified biases
5. Re-evaluate the solution bias-free
Output:
### Bias Check
**Bias Detected:** [Bias name]
- **Evidence:** [Where it appears]
- **Correction:** [Adjusted reasoning]
**Improvements:**
- [Bias-free solution]
**Confidence Level:** [HIGH/MEDIUM/LOW]
13. ベースレート思考
説明:類似の状況では通常どのようなことが起こるでしょうか?過度に自信を持っていないでしょうか?
使用する場面:
- 推定
- リスク評価
- 楽観的な見通しの現実性チェック
プロンプトテンプレート:
You are applying Base Rate Thinking to:
---
{content}
---
Steps:
1. Identify the reference class (similar past situations)
2. What's the base rate (average outcome for reference class)?
3. Why might this case be different?
4. Adjust estimates toward base rate (Bayesian update)
5. Revise solution with realistic expectations
Output:
### Base Rate Analysis
**Reference Class:** [Similar situations]
- **Base Rate:** [Typical outcome]
- **Our Estimate:** [Original estimate]
- **Adjusted Estimate:** [Reality-checked estimate]
**Improvements:**
- [More realistic solution]
**Confidence Level:** [HIGH/MEDIUM/LOW]
14. スチールマン
説明:対立する見解を最も強力な形で表すと、どのようなものですか? 藁人形論法ではなく、その見解に対処します。
使用する場面:
- 提案のレビュー
- 議論の準備
- 知的誠実さ
プロンプトテンプレート:
You are applying Steelmanning to:
---
{content}
---
Steps:
1. Identify the opposing view (or alternative approach)
2. Strengthen it: What's the BEST argument against your solution?
3. Address the strong version (not a weak strawman)
4. If the steelman wins, adopt that approach
5. If your solution survives, it's stronger
Output:
### Steelman Analysis
**Opposing View:** [Alternative]
- **Strongest Argument:** [Best case for alternative]
- **Response:** [Addressing the strong version]
- **Verdict:** [Which approach is better?]
**Improvements:**
- [Refined solution after facing steelman]
**Confidence Level:** [HIGH/MEDIUM/LOW]
15. 時間軸の変更
説明:これを1時間後、1日後、1か月後、1年後、5年後に見ると、どのように見えますか?
使用する場面:
- 長期計画
- トレードオフの分析
- 戦略の評価
プロンプトテンプレート:
You are applying Time Horizon Shift to:
---
{content}
---
Steps:
1. Evaluate solution at 1 hour: [Impact]
2. Evaluate at 1 day: [Impact]
3. Evaluate at 1 month: [Impact]
4. Evaluate at 1 year: [Impact]
5. Evaluate at 5 years: [Impact]
6. Identify time-horizon-dependent trade-offs
7. Optimize for the right time horizon
Output:
### Time Horizon Analysis
**1 Hour:** [Short-term effect]
**1 Day:** [Effect]
**1 Month:** [Effect]
**1 Year:** [Effect]
**5 Years:** [Long-term effect]
**Trade-Offs:**
- [Short vs long-term conflicts]
**Improvements:**
- [Optimized for appropriate horizon]
**Confidence Level:** [HIGH/MEDIUM/LOW]
使用パターン
パターン 1:単一の手法(簡易)
Skill({ skill: 'advanced-elicitation', args: 'first-principles' });
パターン 2:複数の手法(詳細)
Skill({ skill: 'advanced-elicitation', args: 'first-principles,pre-mortem,red-team-blue-team' });
パターン 3:自動選択(推奨)
Skill({ skill: 'advanced-elicitation', args: 'auto' });
// Automatically picks 2-3 methods based on content analysis
spec-critique との統合
Advanced Elicitation を活用すると、spec-critique を強化できます。
// After generating spec
Skill({ skill: 'spec-critique', args: 'with-elicitation' });
// Applies elicitation to critique process
コスト管理(ADR-053 に基づく)
- オプトインのみ:自動では適用されません
- 予算上限:ELICITATION_BUDGET_LIMIT で設定可能です
- コスト追跡:コスト追跡フックと統合します
設定:
features:
advancedElicitation:
enabled: true
costBudget: 10.0 # USD per session
minConfidence: 0.7 # Skip if confidence high
maxMethodsPerInvocation: 5 # SEC-AE-001
maxInvocationsPerSession: 10 # SEC-AE-003
セキュリティ制御
SEC-AE-001:入力検証
- メソッド名は
/^[a-z][a-z0-9-]*$/に一致する必要があります - 1回の呼び出しにつき最大5つのメソッドを指定できます
- 無効なメソッドはエラーで拒否されます
SEC-AE-002:コスト予算の適用
- エリシテーションの前にセッション予算を確認します
- 累積コストを追跡します
- 予算を超過した場合は、適切に処理します
SEC-AE-003:レート制限
- 1セッションにつきエリシテーションは最大10回です
- エリシテーションの無限ループを防ぎます
- 上限に達した場合は、明確なエラーメッセージを表示します
例
例 1:アーキテクチャの決定
エリシテーション前:
We should use microservices with 12 services communicating via REST.
第一原理を適用した後:
Fundamental truths: Services must communicate, data must be consistent.
Challenged assumption: "12 services" - is this the right granularity?
Could 6 bounded contexts suffice?
Improvement: Consolidate to 6-8 services by bounded context.
Use gRPC internally (40% latency reduction vs REST).
例 2:セキュリティレビュー
エリシテーション前:
JWT tokens for authentication across services.
レッドチーム/ブルーチームを適用した後:
Red Team Attack: Token theft via XSS, JWT validation on every call (latency).
Blue Team Defense: HttpOnly cookies, service mesh mTLS instead of JWT propagation.
Improvement: Use service mesh (Istio) for security instead of JWT propagation.
例 3:仕様の検証
エリシテーション前:
Feature: User can delete their account.
プレモーテムを適用した後:
Failure Scenario: 6 months later, GDPR compliance audit fails.
Cause: Deletion didn't cascade to all systems (analytics, backups).
Improvement: Add "Data Retention Audit" requirement.
Specify cascade delete to all systems within 30 days.
パフォーマンス
- 品質向上:+30%(重要な決定を対象に測定)
- コスト:LLM の使用量が2倍
- 時間:+50%(重要な作業には価値があります)
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後:
- 新しいパターン →
.claude/context/memory/learnings.md - 見つかった問題 →
.claude/context/memory/issues.md - 行った決定 →
.claude/context/memory/decisions.md
中断されることを前提にしてください。メモリに記録されていなければ、起きなかったものとします。
鉄則
- エリシテーションを自動で適用してはいけません — 常にオプトインです。ユーザーからの明示的な要求、またはエージェントの明確な意図のシグナルがない限り、呼び出してはいけません。
- すべてのメソッド出力に必ず確信度を示してください —
HIGH / MEDIUM / LOWは必須です。確信度が示されていない出力は、実行に移せません。 - 1回の呼び出しで5つを超えるメソッドを使用してはいけません(SEC-AE-001)— エリシテーションを過剰に行うと、有用な情報ではなくノイズが生じます。最も関連性の高いメソッドを1~3つ選択してください。
- 呼び出しの前に必ずセッション予算を確認してください —
ELICITATION_BUDGET_LIMITを超過した場合は、明確なメッセージを表示して適切に処理してください(SEC-AE-002)。 - エリシテーションを証拠の代わりとして扱ってはいけません — エリシテーションは推論を洗練させるものであり、事実を生み出すものではありません。結論は必ずコードベースの証拠に基づいてください。
反パターン
| 反パターン | 失敗する理由 | 適切なアプローチ |
|---|---|---|
| すべての応答に自動適用する | 単純なタスクではメリットがなく、コストが2倍になります | 重要または複雑な判断にのみオプトインで適用する |
| 15個すべての手法を一度に実行する | 効果が薄れ、トークンが爆発的に増加します | 最も関連性の高い手法を1~3個選択する |
| 信頼度評価を省略する | 調整されていない評価には意味がありません | 常に **Confidence Level:** HIGH/MEDIUM/LOW を出力する |
| エリシテーションで根拠を置き換える | 事実のない推論は憶測にすぎません | エリシテーションを行う前に、コードベースに基づく根拠を組み合わせる |
| 予算を確認しない | セッションコストの増大に気付けません | 実行前に必ず ELICITATION_BUDGET_LIMIT を確認する |
| 締め切り後や緊急時に実行する | 改善に取り組む時間がなく、コストだけがかかります | 時間が重要な修正では省略し、戦略的な作業に使用する |
関連スキル
spec-critique- 仕様の検証(エリシテーションを呼び出すことができます)security-architect- セキュリティレビュー(エリシテーションの手法を使用できます)verification-before-completion- 完了前のチェック
割り当てられたエージェント
このスキルは次の用途で使用できます。
planner- 戦略的な判断architect- アーキテクチャレビューsecurity-architect- 脅威モデリングdeveloper- 複雑な技術的判断pm- プロダクト戦略
バージョン: 1.0.0 ステータス: Production 作成者: developer agent (Task #6) 日付: 2026-01-28