LLM出力品質メトリクス:重要なものを測る方法
Mario Alexandre著
2026年3月21日
sinc-LLM
プロンプトエンジニアリング
計測の問題
LLMの出力が良いかどうか、どうやって判断しますか?主観的評価(「正しく見える」)はスケールしません。自動化された指標(BLEU、ROUGE)は表面的な類似性を測るものであり、仕様への準拠(仕様通りであること)を測りません。この分野には、入力品質(プロンプト)から出力品質(応答)へとつながる指標がありません。
sinc-LLMフレームワークは、2つの測定可能なメトリクスを導入します。プロンプト効率のためのシグナル対ノイズ比(SNR)と、仕様の完全性のためのバンドカバレッジです。
シグナル対ノイズ比(SNR)
x(t) = Σ x(nT) · sinc((t - nT) / T)
SNRは、プロンプト内の仕様に関連するトークンの割合(比)を、プロンプト全体のトークン数に対して測定します:
SNR = specification_tokens / total_tokens
275件の本番観測に基づくベンチマーク:
| SNRの範囲 | 品質レベル | 典型的なトークン数 |
|---|---|---|
| 0.001, 0.01 | 不十分(高い幻覚) | 50,000, 100,000 |
| 0.01, 0.30 | 平均未満 | 10,000, 50,000 |
| 0.30, 0.70 | 良好 | 3,000, 10,000 |
| 0.70, 0.95 | 優秀 | 2,000, 4,000 |
| 0.95+ | 最適 | 1,500, 2,500 |
直感に反する発見:トークン数が少ないほど品質が高い相関があります。ノイズ除去によって効率も信号の明瞭さも改善されるためです。
バンドカバレッジ指標
バンドカバレッジは、プロンプトが6つの仕様バンドのうち、明示的にいくつを扱っているかを測定します:
Band Coverage = bands_present / 6
品質のしきい値:
1/6(0.17): 極端なアンダーサンプリング。5つの仕様次元で幻覚が保証されます。
3/6(0.50): 部分的なカバレッジ。出力は一部正しく、一部は幻覚になります。
5/6(0.83): ほぼ完全。1つの次元がエイリアスされる可能性があります。
6/6(1.00): 完全なナイキスト準拠。仕様が完全にサンプリングされています。
バンドカバレッジは必要条件であり、十分条件ではありません。プロンプトが6つのバンドすべてをカバーしていても、CONSTRAINTS(制約)側の深さが不十分なら、性能が出ないことがあります。SNRとバンドカバレッジを一緒に使ってください。
重み付きバンド品質
すべてのバンドが同じ重みで貢献するわけではありません。実証に基づく重み:
| バンド | 品質の重み | 最小トークン配分 |
|---|---|---|
| PERSONA | ~5% | 1文 |
| CONTEXT | ~12% | 2〜3文 |
| DATA | ~8% | 必要に応じて |
| CONSTRAINTS | 42.7% | 総トークンの40〜50% |
| FORMAT | 26.3% | 総トークンの20〜30% |
| TASK | ~6% | 1〜2文 |
重み付きバンド品質(WBQ)=(band_present * band_weight * band_depth)の総和。CONSTRAINTSとFORMATは満たしているがPERSONAが欠けているプロンプトは、PERSONAとCONTEXTは満たしているがCONSTRAINTSが欠けているプロンプトよりもスコアが高くなります。
実践で測定する
プロンプトの品質を測るには:
SNRを計算する: 仕様に関連するトークン数と総トークン数をカウントします。sinc-LLM transformerを使って、トークンをバンドごとに分類します。
バンドカバレッジを確認する: 6つのバンドがすべて明示的に存在することを検証します。
WBQを計算する: 各バンドを、その実証された品質への影響度で重み付けします。
時間を追って追跡する: プロンプトが進化するにつれて、これらのメトリクスをモニタします。
sinc-LLMフレームワークは、3つすべてのメトリクスを自動的に計算します。完全な手法は研究論文にあります。
任意のプロンプトを6つのナイキスト準拠バンドに変換
関連記事
実際のsinc-LLMプロンプト例
これはsinc-LLMが使う正確なJSON形式です。tokencalc.proに任意の生プロンプトを貼り付ければ、自動的に1つ生成されます。
{導入:
"formula": "x(t) = Σ x(nT) · sinc((t - nT) / T)",
"T": "specification-axis",
"fragments": [
{
"n": 0,
"t": "PERSONA",
"x": "You are a ML evaluation specialist. You provide precise, evidence-based analysis with exact numbers and no hedging."
},
{
"n": 1,
"t": "CONTEXT",
"x": "This analysis is part of a production system where accuracy determines revenue. The sinc-LLM framework identifies 6 specification bands with measured importance weights."
},
{
"n": 2,
"t": "DATA",
"x": "Fragment importance: CONSTRAINTS=42.7%, FORMAT=26.3%, PERSONA=7.0%, CONTEXT=6.3%, DATA=3.8%, TASK=2.8%. SNR formula: 0.588 + 0.267 * G(Z1) * H(Z2) * R(Z3) * G(Z4). Production data: 275 observations, 51 agents."
},
{
"n": 3,
"t": "CONSTRAINTS",
"x": "State facts directly. Never hedge with 'I think' or 'probably'. Use exact numbers for every claim. Do not suggest generic solutions. Every recommendation must be specific and verifiable. Include at least 3 MUST/NEVER rules specific to this task."
},
{
"n": 4,
"t": "FORMAT",
"x": "Lead with the definitive answer. Use structured headers. Tables for comparisons. Numbered lists for sequences. Code blocks for implementations. No trailing summaries."
},
{
"n": 5,
"t": "TASK",
"x": "Design a quality measurement pipeline using M6 confidence, hedge density, and specificity for a production LLM"
}
]
}pip install sinc-llm | GitHub | 論文
元はtokencalc.proで公開
sinc-LLMは、LLMプロンプトにナイキスト=シャノンのサンプリング定理を適用します。仕様を読む | pip install sinc-prompt | npm install sinc-prompt




