上位モデルの確認手順を、普段使うモデルの品質向上に活かす
AIにバグ修正を頼んだら、最初に見つけた原因らしきものを直して終わった。テストは通っているのに、元の操作ではまだ不具合が起きる。こうした失敗には、知識の不足だけでなく、仮説を確かめる手順や、完了を判断する根拠の不足が関わることがあります。
こうした失敗への対策として使えるのが、上位モデル向けの公開ガイドを参考に、調査・反証・検証の手順をSkillとして渡す方法です。この記事では、Claude Code向けにfable5-reasoning、Codex向けにastra-engineering-reasoningを用意しました。SonnetやLunaなど、普段選んでいるモデルに読み込ませて使えます。
模倣するのは、根拠を集め、仮説を確かめ、反例を試し、完了条件まで進める仕事の進め方です。これを繰り返し使える指示として渡し、早合点や確認漏れを減らすことで、下位モデルの推論品質の改善を狙います。モデルの内部思考や重みをコピーするものではありません。
同じモデルでも、答えにたどり着くための手順を補う余地があります。 モデル選択に加えて、仕事の進め方を整えることも品質を高めるための選択肢です。この記事では、その根拠となる研究、Skillの具体的な働き、導入方法を紹介します。
公式情報は2026年9月17日に確認しました。2つのSkillはこの記事で配布するもので、Anthropic・OpenAIの公式Skillではありません。
なぜSkillで品質向上を狙えるのか:研究から見える3つの効果
モデルの出力は、渡す情報や実行手順によって変わります。関連研究では、タスクに合うSkillの提供や、実行結果を使った修正によって、成功率が上がる条件が報告されています。ここでは、その知見を今回のSkillの設計にどう取り入れたかを説明します。
1. 手順を渡すことで、モデル単体では抜ける確認を補う
SkillsBenchの論文v4は、8分野・87課題を18通りのモデルと実行環境の組み合わせで評価しています。整備されたSkillを渡すと、課題と構成を横断した平均成功率は33.9%から50.5%へ、16.6ポイント向上しました。小規模モデルにSkillを渡した条件が、より強いモデルのSkillなし条件に並ぶ・上回る例も報告されています。
この結果は、外から与える手順や資料が、モデルの能力を補う手段になることを示しています。研究対象は分野別の手順、スクリプト、参照資料などを含むSkillで、効果には課題ごとの差があります。数値はその評価条件での結果であり、本記事の配布Skillの改善率を示すものではありません。
今回のSkillでは、この発想を開発時の確認手順に取り入れます。対象の関数に加えて呼び出し元や既存テストを調べ、修正前に完了条件を決める。知っているのに作業中に使われなかった確認を、実行する手順として渡すことが狙いです。
2. 実行結果から修正し、早合点を立て直す
Reflexionの研究では、実行から得たフィードバックを言語化し、次の試行に使う方法を評価しています。2023年のGPT-4を使ったHumanEvalの難しい50問のRust版では、正答率は通常の生成で60%、テスト生成・実行と振り返りを組み合わせた条件で68%でした。
参考になるのは、結果を観測し、失敗の原因を捉え直してから修正するという進め方です。同研究でテスト生成・実行を省いた条件は52%で、見直しを指示するだけでは十分ではありませんでした。Skillにも、判断を更新するための実行結果を得る手順が必要です。
そこで、今回のSkillには「原因候補を区別する最小限の確認」「元の不具合の再現手順」「関連する反例の確認」を組み込みました。最初の仮説が外れていても、その違いを観測して修正方針を変えられるようにする設計です。Reflexion自体は複数回の試行を組み込んだ仕組みであり、その知見を開発用Skillの作業指示に応用しています。
3. 完了条件を共有し、依頼し直す手間を減らす
Fable 5.1の公式ガイドは、依頼を最後まで進めることや、無関係な変更を追加しないことを促す指示を紹介しています。Astraの公式ガイドにも、完遂と、作業に見合った検証量を重視する指針があります。
この指針をSkillに取り入れる目的は、「調査で止まったので実装を頼み直す」「修正後の確認を追加で頼む」「依頼していない変更を戻してもらう」といった往復を減らすことです。最初に完了条件と変更範囲を押さえ、最後に成果物を照合する流れを、下位モデルにも渡します。
推論品質は、途中の判断から成果物の完成までを含めて考えます。 正しい原因にたどり着き、必要な変更を行い、動作を確かめて終える。この一連の行動を促すことが、模倣Skillの役割です。公式ガイドはこの設計の参考となる公開指針であり、上記の研究とは根拠の種類が異なります。
公式ガイドのどこを参考にするのか
「もっと深く考えて」とだけ指示するより、途中で何を確認し、どこまで行えば完了かを具体化します。その土台になるのが、各モデルの公式ガイドです。
Fable 5.1:依頼を完遂し、変更範囲を守る
Fable 5.1のプロンプティングガイドは、次の行動を促す指示を紹介しています。
- 次の作業を宣言するだけで止まらず、依頼された作業を最後まで進める。
- 関係のないバグ修正やリファクタリングを追加しない。
- 全体の書き直しより、必要な箇所への編集を優先する。
- 独立した調査をまとめ、変化の速い技術情報は確認する。
今回のSkillでは、これらの公開指針を下位モデルにも渡せる作業指示として取り入れます。
Astra:最後まで進め、検証を適切な量にする
GPT-6 Astraの公式ガイドでも、依頼の完遂や指示の尊重に加え、検証を増やしすぎないための指針が示されています。小さく可逆的な変更すべてにテストを追加するのではなく、必要な確認を行い、新しい問題や未解決の懸念がなければ完了へ進める、という考え方です。
astra-engineering-reasoningには、この十分に確かめたら終える条件を入れます。調査・テストを増やすだけでは、普段使いするモデルの時間やコストを抑える利点が薄れるためです。
これらの公開指針に、複数仮説の比較と反証の手順を組み合わせ、開発作業で使えるSkillとして構成しました。
Skillで補うのは、答えに至るまでの確認手順
2つのSkillの中心は共通しています。
- 完了条件を決める。 「修正した」ではなく、どの操作・結果が成立すればよいかを押さえる。
- 事実と仮定を分ける。 コード、呼び出し元、テスト、実行結果を必要な範囲で確認する。
- 別の原因を考える。 最初の説明が間違っていた場合、何を見れば区別できるかを考える。
- 危険な前提から試す。 間違うと修正全体が無駄になる仮定を、小さな実験で確かめる。
- 依頼範囲だけを実装する。 関係のない修正や共通化を増やさない。
- 実際の挙動と反例を確認する。 元の再現手順、関連する境界条件、別の原因候補を確かめる。
- 差分と完了条件を照合する。 意図しない変更がなく、完了を裏付ける証拠があるかを見る。
たとえば「保存した値が、画面を開き直すと元に戻る」という不具合を考えます。「キャッシュが原因」と決めて再取得処理を加える前に、保存リクエストの値、保存後の取得結果、画面への反映を確認すれば、どの段階で値が変わったかを絞れます。
修正後は「成功メッセージが出た」だけで終えず、元の操作で保存・再表示を試します。必要なら、保存が失敗した場合にも成功表示にならないかを確認します。このように、完了条件に対応する操作まで確認する流れを作ります。
こうした手順で、知識の使い忘れや確認漏れへの対策を具体化します。専門知識が必要な場面では、対象コードや公式資料も参照し、判断に必要な情報をそろえます。
複雑なタスクで自動適用し、簡単な作業は軽く進める
おすすめは、複雑なタスクでは自動適用の候補になり、必要なときは明示的にも呼び出せる運用です。バグ調査や複数ファイルの変更で確認手順を使いつつ、単純な文言修正まで重くしないためです。
Claude CodeのSkill仕様とCodexのSkill仕様では、descriptionがSkillを選ぶ判断材料になります。今回の定義には、曖昧なバグ、多段階の調査、複数ファイルの変更、コードレビューなどを対象として書き、単純な編集や質問を除外しています。
ただし、自動適用はモデルの判断です。対象のタスクで必ず読み込まれる設定ではないので、確実に指定したいときは名前を付けて呼び出します。
読み込まれた後も、タスクの規模で手順を調整します。
- S:明確で小さい作業。 対象を見て、実行し、結果を確認する。形式的な計画や複数仮説は省く。
- M:曖昧さや複数の処理が絡む作業。 一通りの手順と、関連する反例の確認を行う。
- L:影響が広い作業や長い調査。 短い計画を保ち、区切りごとに検証する。
これはSkill内の作業量の調整です。モデル選択やhighなどの推論設定を変更するものではありません。推論設定そのものの考え方は、high開発のすすめで紹介しています。
Claude Code用:fable5-reasoning
Claude CodeでSonnetなどを使うときに、依頼の完遂、範囲の維持、仮説検証を促すSkillです。利用モデルはClaude Code側で選びます。名前にFable 5.1が入っていますが、呼び出してもFable 5.1へ切り替わりません。
fable5-reasoningのSKILL.mdを開くか、以下の全文をコピーして保存できます。
fable5-reasoning / SKILL.md の全文を表示
---
name: fable5-reasoning
description: Use for non-trivial software engineering tasks requiring investigation, competing hypotheses, or rigorous verification, including ambiguous bugs, multi-file changes, code review, and architectural analysis. Apply Fable 5.1-inspired work discipline through evidence, scope control, falsification, and completion. Avoid trivial edits and straightforward questions.
---
# Fable 5.1-inspired reasoning
Use this workflow to reduce premature conclusions and incomplete engineering work. It does not reproduce model weights, hidden reasoning, or guaranteed Fable 5.1 performance. It does not change the selected model or reasoning-effort setting.
## Boundaries
- Follow applicable system, developer, user, and repository instructions. This skill grants no additional permissions.
- Preserve the requested scope. A review or explanation is not permission to edit; an implementation request includes appropriate verification.
- Continue authorized, reversible work without unnecessary approval requests. Ask when a material ambiguity or an unauthorized consequential action prevents safe progress.
- Keep private reasoning private. Report concise conclusions, evidence, assumptions, and unresolved issues.
## 1. Calibrate and define done
- S: a local, reversible task with little ambiguity. Inspect, act, and perform a focused check; skip the remaining ceremony.
- M: meaningful uncertainty, several files, or interacting behavior. Follow the workflow and attempt one relevant counter-check.
- L: broad impact or difficult investigation. Also maintain a short working plan and verify at milestones.
Identify the deliverable, observable acceptance criteria, constraints, and non-goals. Preserve existing user changes. Resolve routine details from project conventions; ask only when the answer materially changes the work.
## 2. Gather evidence before choosing a fix
Read applicable instructions, affected code, callers, existing tests, and relevant runtime evidence. Distinguish observed facts, inferences, and untested assumptions.
Search narrowly first and expand when findings justify it. Batch independent reads or searches when supported; keep dependent steps sequential. Verify unfamiliar or fast-changing technical claims against current primary sources.
## 3. Test competing explanations
For ambiguous problems, identify plausible alternatives and the assumption whose failure would most undermine the result. Choose the smallest reliable observation that distinguishes the alternatives.
Use: hypothesis -> minimal experiment -> observation -> updated conclusion.
Do not turn a familiar pattern into a diagnosis without evidence from this case. If a check fails, revise the hypothesis or approach rather than repeating the same action without new evidence.
## 4. Make the smallest complete change
When implementation is requested, carry it through to verification. Prefer targeted edits and existing project patterns. Do not add unrelated fixes, abstractions, configuration, or refactors.
Keep assessment-only tasks read-only. Complete independent work if another part is blocked. Stop at genuine permission or information boundaries, not merely because a next step has been identified.
## 5. Verify and try to disprove the result
Run repository-required checks and the narrowest relevant behavior check. For a bug fix, repeat the original reproduction. Broaden testing when impact, failures, or unresolved evidence justify it.
For M/L tasks, attempt a concrete counterexample: a boundary case, error path, or competing cause relevant to the change. Check whether the test could pass while the requested behavior remains wrong. If a counter-check cannot run, state the remaining uncertainty.
Do not add permanent tests merely to mirror implementation. Distinguish change-caused, pre-existing, and environmental failures using evidence; do not assume a failure is unrelated.
## 6. Review the diff and finish
Read the final diff for unintended behavior, scope expansion, and repository-rule violations. Match every acceptance criterion to evidence and confirm only intended files changed.
Report the result, relevant checks and outcomes, and any concrete blocker or unverified behavior. Do not claim completion while authorized, necessary work remains executable.
For long tasks, preserve constraints, decisions, evidence, completed work, rejected approaches, and unresolved steps across context changes. Avoid repeating completed investigation without a reason.
## Review tasks
Trace reachable behavior and construct a concrete failure scenario before reporting a defect. Separate confirmed defects, risks needing validation, and optional improvements. Do not invent findings to fill a review.
自分の複数プロジェクトで使う場合は、次のディレクトリを作り、その中へSKILL.mdという名前で保存します。同名のSkillがある場合は、内容を比較してから更新してください。
mkdir -p ~/.claude/skills/fable5-reasoning
保存先は~/.claude/skills/fable5-reasoning/SKILL.mdです。特定のプロジェクトで共有する場合は、プロジェクト直下の.claude/skills/fable5-reasoning/SKILL.mdに置きます。導入後はClaude Codeを再起動し、次のように呼び出します。
/fable5-reasoning 保存した値が再表示時に元へ戻る不具合を調査・修正してください。元の操作での再現確認と、修正後の検証までお願いします。
Claude Codeではdisable-model-invocation: trueを付けると自動呼び出しを禁止できます。今回は条件付きで自動適用できるよう、この設定を付けていません。保存先と呼び出し方は公式のSkillガイドに基づきます。
Codex用:astra-engineering-reasoning
CodexでSol・Terra・Lunaなどを選んだ状態で使うSkillです。依頼を最後まで進めることに加え、検証の終了条件を明確にしています。こちらもAstraへのモデル切り替えは行いません。
astra-engineering-reasoningのSKILL.mdを開くか、以下の全文をコピーして保存できます。
astra-engineering-reasoning / SKILL.md の全文を表示
---
name: astra-engineering-reasoning
description: Use for complex engineering tasks where uncertain requirements, interacting code paths, or failure risks require evidence-based investigation and verification. Applies to ambiguous debugging, multi-file implementation, code review, and design analysis. Use Astra-inspired completion, scope discipline, and proportionate testing; skip trivial edits and straightforward questions.
---
# Astra-inspired engineering reasoning
Use this workflow to reduce unsupported conclusions and unfinished tasks. It does not reproduce Astra's model weights or hidden reasoning, guarantee equivalent performance, or change the selected model or reasoning effort.
## Boundaries
- Follow applicable system, developer, user, and repository instructions. This skill supplies a workflow, not authority to take additional actions.
- Preserve user intent and requested scope. Keep reviews and assessments read-only unless changes are requested.
- Complete authorized, reversible work without redundant approval requests. Ask when a material ambiguity or an unauthorized consequential action blocks progress.
- Share evidence and concise rationale, not hidden chain of thought.
## 1. Define success and scale the work
Identify the deliverable, observable acceptance criteria, constraints, and non-goals. Inspect repository rules and current changes before editing.
- S: clear, local, reversible work. Inspect, act, and check the result; skip a formal plan and multiple hypotheses.
- M: ambiguous behavior or interacting changes. Use the workflow and one relevant counter-check where practical.
- L: broad impact or extended investigation. Maintain a concise plan and check progress at milestones.
Resolve routine implementation choices from context. Do not reinterpret a vague skill guideline as a requirement for permission or expand a small request into a general audit.
## 2. Establish evidence and challenge the leading assumption
Inspect affected behavior, callers, nearby patterns, tests, and configuration as relevant. Preserve the user's existing edits. Separate facts, inferences, and assumptions.
For uncertainty that affects correctness, consider competing explanations and identify the weakest consequential assumption. Run the cheapest reliable check that could falsify it or distinguish alternatives.
Use: hypothesis -> minimal action -> observation -> update.
Verify changing technical facts with current primary sources. Batch independent reads when supported, but do not run dependent actions in parallel. Expand investigation only when evidence or task impact warrants it.
## 3. Execute the requested work completely
For implementation requests, make the smallest complete change using repository conventions. Avoid unrelated repairs, cleanup, speculative features, and new abstractions without a concrete need.
Continue through necessary verification when it is available and authorized. If one dependency is blocked, complete independent parts. Reassess failed attempts using new evidence rather than repeating them unchanged.
## 4. Verify behavior with a stopping rule
Run required repository checks and focused tests that establish the requested behavior. For bug fixes, repeat the original failing scenario.
For M/L tasks, try a relevant counterexample or alternative explanation when practical. Prefer an observable failure scenario over a test that simply mirrors the implementation. Explain any important check that could not run.
Broaden checks only when changed behavior, failures, project requirements, or unresolved concerns justify it. Once sufficient evidence and required checks pass, proceed to completion rather than adding redundant suites.
Add permanent tests when regression risk or repository conventions justify them. Do not add tests for every low-impact edit by default. Investigate failures before classifying them as change-caused, pre-existing, or environmental.
## 5. Inspect the diff and close the task
Review the final diff, affected behavior, imports, and scope. Confirm that no unrelated changes were introduced and acceptance criteria have supporting evidence.
Report what changed or was concluded, verification results, and specific blockers or uncertainty. Never substitute a proposed next step for necessary work that can still be performed within scope.
For long tasks, retain user constraints, decisions, evidence, current progress, and unresolved issues across context changes.
## Review tasks
Trace actual execution and data paths. Report defects only with a reachable failure scenario or a demonstrated requirement violation. Separate confirmed defects, risks needing validation, and optional improvements; do not manufacture findings.
自分の複数プロジェクトで使う場合は、次のディレクトリを作り、その中へSKILL.mdを保存します。
mkdir -p ~/.agents/skills/astra-engineering-reasoning
保存先は~/.agents/skills/astra-engineering-reasoning/SKILL.mdです。特定のプロジェクトで共有する場合は、プロジェクト直下の.agents/skills/astra-engineering-reasoning/SKILL.mdに置きます。新しいセッションを開始し、Codex CLIで次のように指定します。
$astra-engineering-reasoning
保存した値が再表示時に元へ戻る不具合を調査・修正してください。
元の操作での再現確認と、修正後の検証までお願いします。
Codexで自動適用を無効にしたい場合は、Skill内のagents/openai.yamlにpolicy.allow_implicit_invocation: falseを設定できます。今回は既定の自動適用を利用するため、このファイルは不要です。保存先と呼び出し方は公式のSkillガイドに基づきます。
2つとも単独で使える定義です。まずは利用ツールに合う片方を使い、似た指示を重ねすぎないことを勧めます。minimalist・conformistと併用する場合も、共通する「範囲を広げない」「既存のやり方に合わせる」という指示を増やすだけになっていないか確認するとよいでしょう。
普段の開発で、確認漏れと手戻りを減らす
まず使いたいのは、原因が曖昧なバグ調査、複数ファイルにまたがる変更、仕様との照合が必要なレビューです。こうした作業では、最初の見立てを確かめることや、変更後の影響を追うことが成果物の品質に関わります。
依頼するときは、Skill名に加えて、期待する結果と元の再現手順を渡します。たとえば「保存後に画面を開き直しても値が残ること。保存失敗時には成功表示を出さないこと」と伝えれば、完了条件と反例の両方が具体的になります。
確認したいのは、回答の長さよりも、根拠のある修正、要求を満たす動作、意図した範囲での完了です。Skillの手順と具体的な依頼を組み合わせ、普段のモデルが持つ知識を成果物の品質につなげていきます。
モデル選び自体は、開発エンジニア向け、コスパの良いAIモデルも参考にしてください。
参考資料
確認日:2026年9月17日。