0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

新モデル登場時に Skill がデグレしていないかを判定する skill-regression を作った

0
Last updated at Posted at 2026-10-10

はじめに

このところ新モデルが毎週のように出ている。

新モデルにより、Skill が気づかないうちにデグレしていることがある。そこで、2 つのモデル間で同じ Skill のテストを回し、テストケース単位で結果を比べる CLI ツール skill-regression (MIT) を作った。

新モデルで Skill の品質は下がることがある

Anthropic の文書には、旧モデル向けに書いた Skill は新モデルで品質を下げうると明記されている (Prompting Claude Fable 5)。実際、集計スコアが +7.3 pp 改善したモデル更新でも、個別項目の 8.3% は悪化したという報告がある (Xu & Wu 2026)。

skill-regression は旧 / 新モデルをケース単位で比べる

評価するのは次の 2 点である。

  • Skill が正しく発火するか (trigger / no-trigger ケースから precision / recall を算出)
  • 発火した後の出力品質 (assertion の合否)

旧 / 新モデルで同じケースを既定で 3 回ずつ回し、合格回数から Beta 事後分布を作り、新モデルの方が悪い確率 P(新 < 旧) を計算する。0.95 以上なら REGRESSED と判定する。0.80〜0.95 の曖昧なケースだけ、最大 10 回まで追加で反復する。

発火の指標では precision の低下、つまり過剰発火を最優先で扱う。新モデルはシステムプロンプトへの反応が強く、Skill が過剰に発火しやすいため (Anthropic: Prompting best practices)。

使い方

pnpx skill-regression compare --old <model> --new <model> --skill <name>

サマリーはターミナルに、詳細は JSON / Markdown でローカルに保存する。テストケースは skill-creator 形式の evals/evals.json があればそれを使い、無ければ LLM が SKILL.md から自動生成する。

使用例

1) 同じ系列のモデル更新 (Haiku 4.5 -> Haiku 5.5) で Skill が壊れていないかチェック

本来の使い方の例となる。対象は Markdown 記法に変換する Skill である。description には「Use this skill whenever」「Trigger even if」という、旧モデル向けの強い発火指示がある。

| Skill              | Verdict   | Old  | New  | Flags |
| ------------------ | --------- | ---- | ---- | ----- |
| markdown-converter | UNCHANGED | 100% | 100% |       |

判定は UNCHANGED だった。全 10 ケースが新旧とも 3/3 で、紛らわしい依頼でも Haiku 5.5 は発火しなかった。懸念した過剰発火は起きず、更新のたびに 1 回回して確かめる運用がこの形で成り立つ。

2) わざと Skill を壊して REGRESSED として検出できるかチェック

Mermaid 図を描く Skill の原本と壊したコピーを Sonnet 5.5 同士で比較した。

実験 変更内容 判定 合格率 (原本 → 比較対象)
パレット破壊 標準パレットの hex 値を差し替え REGRESSED 100% → 63%
発火変更 description を「配色レビュー専用」にする REGRESSED 100% → 25%
A/A テスト SKILL.md は変えない UNCHANGED 100% → 100%

壊した箇所だけを REGRESSED と判定し、変更がなければ UNCHANGED になった。

むすび

対応は今のところ Claude Code のみで、Codex 対応もじきに行っていきたい。新モデルが出たら compare --new を 1 回実行してデグレに気付けるようにする、という運用を目指していく。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?