ハーネスプロファイルと評価システム
すべての変更に同じ深さの検証を適用するとトークンが浪費され、検証を浅く統一すると品質が漏れます。MoAI-ADK の答えは 適応型検証 — SPEC の複雑度に合わせて検証の深さを自動調整し、評価は作った側ではなく独立した評価者に任せることです。
MoAI-ADK のハーネス(Harness)は 3 階層の適応型品質検証システム です。SPEC の複雑度に応じて検証の深さを自動調整し、sync-auditor エージェントが 4 次元スコアリングで独立かつ懐疑的な品質評価を行います。「できた気がする」ではなく、スコアと根拠で完了を判定する構造です。
| レベル | 説明 | 適用タイミング | sync-auditor |
|---|---|---|---|
| minimal | 高速検証 | 単純な変更 (typo、設定修正) | 省略可能 |
| standard | 基本品質検証 | ほとんどの作業 | 選択的 |
| thorough | 全体検証 + TRUST 5 | 複雑な SPEC、大規模変更 | 必須 |
ハーネスレベルは SPEC scope に基づき 複雑度推定器 (Complexity Estimator) が自動的に決定します。typo 修正に thorough 検証を回さないこと — それ自体がトークノミクスです。
sync-auditor は 4 つの次元でスコアを付けます。
| 次元 | 説明 | デフォルト Must-Pass |
|---|---|---|
| Functionality | 機能完成度 — 意図した目的を達成したか | はい |
| Security | セキュリティ — OWASP、認証、権限、入力検証 | はい |
| Craft | コード品質 — 可読性、構造、テストカバレッジ | いいえ |
| Consistency | 一貫性 — プロジェクトルール、コードスタイル準拠 | いいえ |
各次元は 0.0 〜 1.0 のスコアを受け取ります。
スコアが評価者の気分で揺れないよう、すべての評価基準は 4 段階のルーブリックアンカーを持ちます。
| スコア | 水準 | 意味 |
|---|---|---|
| 0.25 | 未達 | 基本要求事項を未充足 |
| 0.50 | 部分 | 一部充足、改善が必要 |
| 0.75 | 充足 | 大部分を充足、小規模な改善 |
| 1.00 | 優秀 | すべての基準を完全に充足 |
.moai/config/evaluator-profiles/ に 4 つのプロファイルが提供されます。作業の性格に応じて評価基準の厳格度を変えられます。
| プロファイル | 説明 | 適した場面 |
|---|---|---|
default.md | バランスの取れた基本プロファイル | ほとんどの作業 |
strict.md | 厳格な基準 | セキュリティ重視の作業 |
lenient.md | 寛容な基準 | プロトタイピング |
frontend.md | フロントエンド特化 | UI/UX 作業 |
LLM 評価者は放置すると寛大になりがちです。これを構造的に抑制するため、5 つのメカニズムが連動して働きます。
| # | メカニズム | 説明 |
|---|---|---|
| 1 | ルーブリックアンカリング | スコアにルーブリックによる正当化が必須 |
| 2 | 回帰ベースライン | 過去プロジェクト比の過度なスコア上昇を検出 |
| 3 | Must-Pass ファイアウォール | 必須基準は他領域のスコアで補償不可 |
| 4 | 独立再評価 | 5 回ごとに独立再評価 (偏差 > 0.10 で再調整) |
| 5 | アンチパターン交差検査 | 既知のアンチパターン発見時、該当次元のスコアを 0.50 に制限 |
評価者の判断記憶は イテレーションごとに一時的 です。GAN Loop の各イテレーションで sync-auditor は新しいコンテキストで再起動され、前回イテレーションの判断根拠は新しいプロンプトに含まれません。Sprint Contract の状態だけがイテレーション間で維持されます。評価者が自分の以前の判断にアンカリングされ、惰性でスコアを付けるのを防ぐ設計です。
.moai/config/sections/harness.yaml で設定します。
harness:
level: auto # auto | minimal | standard | thorough
evaluator:
memory_scope: per_iteration # FROZEN — 変更不可
profiles:
default: .moai/config/evaluator-profiles/default.md
strict: .moai/config/evaluator-profiles/strict.md
aggregation: min # min | mean
must_pass_dimensions:
- Functionality
- Security- ハーネスエンジニアリング — ハーネス概念の概要
- TRUST 5 品質 — 5 つの品質基準
- Constitution システム — FROZEN/Evolvable ルール
- GAN Loop — デザイン品質検証イテレーション (GAN Loop は adversarial な評価者・判別者ループで、品質改善のための反復検証パターンです)