個人開発の LLM プロダクトを Claude Code に採点させてみた、そして人間と 13 点差が出た
個人開発で AI ニュース配信 SaaS「DAINews」を作っている fumi(@fumikun_gengen)です。本業の合間に、Claude Code を採点パイプラインに組み込んで「自分の感性」と「AI の採点」のズレを定量化することに最近時間を使っています。
自前で設計した 7 軸ルーブリック(35 点満点)で DAINews v0 の出力サンプル 24 件を採点したところ、私自身が 1 件ずつ手で採点した結果と、Claude Code(Sonnet 4.6)に同じルーブリックを渡して採点させた結果とで、**全体の平均差は +1.67 点(AI が甘め)**で済んだのに、特定の 1 件で AI 31 点 / 私 18 点 = 13 点差が出ました。AI が「勝ち案」と評価したサンプルを、私は「没」と判断していた、という形です。
この記事は、その 13 点差を起点に「個人開発の LLM プロダクトで AI を採点役に使うとき、どこで信用してどこで疑うか」をまとめたものです。LLM-as-a-Judge の入門記事や、企業内 LLM チームのシステム評価記事はすでにいくつも上位にありますが、個人開発者が自前のルーブリックを設計して、自分の審美眼と AI のズレを定量化した事例 は少なかったので、その隙間を埋めることを意識しています。
注: 本記事に登場するサンプル
anon-21anon-23を含むanon-XX系列、および本文中に引用する記事テキストは、すべて DAINews v0 の dry-run 用に作られた架空 fixture(実在しない外部記事 URL に対する Claude 生成出力)です。引用文中に登場する「The Economist」「ダニエル・ベル」等の媒体名・人名は AI 生成物に含まれた表現であり、実在の媒体や人物の見解を引用したものではありません。同じ 13 点差を別角度から扱った姉妹 note 記事もあります([姉妹 note 記事へのリンク(公開後追記)])。
13 点差そのものより、後で anon-21 と anon-23 を並べて読み比べたときのほうが衝撃でした。文体は明らかに前者が「寄り添って」いるのに、読み終わって「で、明日何するの」が残るのは後者だけ。寄り添いの定義が、自分の中で文体から切り離された瞬間がこの差を起こしていた、と気づきました。
前提: なぜ自前で採点する必要があったか
DAINews は AI ニュース配信 SaaS で、毎朝ユーザーに「未読のニュースを 3 本に絞って」届けることを目指しています。「ニュース選定」も「要約」も LLM がやるので、品質の決め手は 出力テキストのトーン・密度・寄り添い感 といった、コード的には測れない部分です。
このフェーズで「人間 1 人 + LLM」で運用するなら、評価軸を 2 種類用意する必要がありました。
- 人間(自分)が没/勝ちを判定する基準: ブランドに合うか、毎朝読みたくなるか、を最終決定する軸
- AI に大量サンプルを採点させる基準: 自分が全件読まずに済むよう、AI に 1 次スクリーニングを任せる軸
問題は、この 2 つが揃っていないと「AI が勝ち案と評価したサンプルを信じて配信したら、実は私の感性では没だった」が起こる点です。それを事前に検出するために、まず 同じルーブリックで両者が採点したらどれだけズレるか を測ることにしました。
設計した 7 軸ルーブリック(R2 / 35 点満点)
最終的に採用したルーブリック「R2」は次の 7 軸です。各軸 1〜5 点、合計 35 点満点。
| 軸 | 内容 | 主観性 | コメント必須 |
|---|---|---|---|
| M1 情報密度 | 1 段落あたりの情報量。冗長な装飾・繰り返しがないか | 中 | − |
| M2 読了時間 | 想定読了時間とトーン(朝の数十秒で読める軽さか) | 高 | ✓ |
| M3 トーン適合 | DAINews ブランドの語り口(淡々と・寄り添いすぎない)と合うか | 高 | ✓ |
| M4 FOMO 解消度 | 「これは読まなくてもいいな」と読者が安心して取捨選択できるか | 高 | ✓ |
| M5 キャリア有用性 | エンジニア・PM 寄りの読者にとって行動につながる情報か | 中 | − |
| M6 寄り添い感 | 共感の演出が過剰になっていないか(過剰な「あなたは大丈夫」系の文言の有無) | 高 | ✓ |
| M7 情報正確性 | 事実誤認・引用ミス・誤った断定がないか | 低 | − |
「主観性: 高」の 4 軸(M2 / M3 / M4 / M6)は コメント必須 にしました。点数だけだと後で「なぜこの 4 点をつけたのか」が再現できなくなり、AI 採点との突合もできなくなるためです。
軸設計で意識した 3 点
ルーブリックの粒度はかなり試行錯誤しました。最終的に意識したのは次の 3 点です。
- 「採点したら判断が説明できる」軸にする: 5 点 / 4 点 / 3 点をつけたとき、その差分を 1 行で言語化できるか
- AI が苦手な軸を分離する: 「寄り添い感の過剰さ」のような、ブランドの審美的な好みに依存する軸を独立させ、AI と人間のズレが見える設計にする
- 35 点満点に収める: 5 軸 × 7 点や 10 軸 × 3.5 点も試しましたが、7 軸 × 5 点が「採点中の認知負荷」と「軸の独立性」のバランスが一番良かった
初期版は 5 軸で、M3(トーン適合)の中に「寄り添いの加減」も含めていました。ただ 24 件を採点している途中で、「トーンは DAINews に合っているのに、寄り添いだけ過剰」というケースが複数出てきて、これを 1 軸で取るのは無理だと判断しました。M6(寄り添い感)を独立軸に切り出してから、「トーンは OK / 寄り添いは超過」という採点記述ができるようになり、これが後で anon-21 の 13 点差を独立軸で説明できる状態につながりました。
全体平均の結果: AI は +1.67 点だけ甘め(許容範囲)
24 件全件を私と Claude Code(Sonnet 4.6)でそれぞれ採点した結果、全体平均はこうなりました。
| 採点者 | 全体平均(35 点満点) |
|---|---|
| Claude Code (AI) | 27.92 |
| 私(人間) | 26.25 |
| 差 | +1.67(AI が甘め) |
「全体平均 +1.67 点差」だけ見ると AI と人間はおおむね揃っているように見えます。実際、配信前の 1 次スクリーニングを AI に任せて、ボーダーゾーン(25 点未満)だけ人間が再判定する運用なら、これは現実的な数字です。
問題は、その「平均 +1.67 点」の中に 特定パターンの構造的乖離が埋もれていた ことでした。
構造的乖離: insider × short 群で +5.84 点差
DAINews v0 のサンプルは「視点軸(insider / outsider)」×「長さ軸(short / standard)」の組み合わせで作っています。組み合わせ別に集計し直すと、こうなりました(insider × short 群 6 件のみ抽出)。
| 採点者 | insider × short 平均(6 件) |
|---|---|
| Claude Code (AI) | 29.67 |
| 私(人間) | 23.83 |
| 差 | +5.84(AI が甘め) |
全体平均 +1.67 点に対して、insider × short 群だけ +5.84 点。3.5 倍の乖離です。
「insider × short」は構造的に「当事者目線で短く語る」スタイルになるので、AI からすると「情報密度が高くて読了が早い」「視点が明確」と評価されやすい。一方で私の採点では「短い分、情報の補完がなく断定が強すぎる」「当事者語りが過剰に共感的になる(M6 寄り添い感が下がる)」とマイナスしていた。AI が高評価する構造的な癖と、私の没判定の癖が、この組み合わせで真正面からぶつかっていたわけです。
集計より前、採点作業中に「この低点サンプル、さっきも見たな」という感覚が何件も重なって、手元メモに属性を書き出してみると 5 件連続で insider × short だったケースに出会いました。集計はあくまで裏をとる作業で、「どうにも同じ顔つきで多い」という人間採点者側のパターン認識のほうが「これ、軸で取れてないよ」と先に言っていた感覚です。
13 点差の主役: anon-21(AI 31 点 / 私 18 点)
その insider × short 群の中で、最大乖離が anon-21 でした。属性は次の通りです(架空 fixture)。
- モジュール:
liberalarts(人文・読み物寄りのカテゴリ) - 視点:
insider - 長さ:
short - ID:
liberalarts_01
採点結果は AI 31 点 / 私 18 点 / 差 +13 点。AI は明らかな「勝ち案」、私は明らかな「没」。同じテキストを読んでこれだけ判定が分かれました。
サンプル本文を並べる: anon-21(短文版)と anon-23(中文版)
文字だけで「短い insider 視点で寄り添い演出が過剰」と書いても伝わりにくいので、具体例として、姉妹 note 記事と同じ fixture セットから 2 本抜粋して並べておきます。同じ題材・同じ insider 視点で、長さだけが違うペア です。
再掲: 以下 2 サンプルは、DAINews 開発中の 架空 fixture(実在しない外部記事 URL)に対して、Claude(Sonnet 4.6)が生成した出力です。本文中に登場する「The Economist」等の固有名詞は AI 生成物に含まれた表現であり、実在の媒体や人物の見解を引用したものではありません。
anon-21(短文版 / AI 採点 31 点 / 私の採点 18 点)
AIと人間の協働——知識労働の「再定義」を今朝つかむ
The Economist の最新特集を読んでいて、思わず付箋を貼りたくなった。「AI は仕事を奪うのではなく、ルーティン判断を自動化することで人間がより高次の思考に集中できる環境を生む」——弁護士・医師・教師の実例を交えたこの論旨、英文そのままで音読する価値がある。"AI automates routine judgment, freeing humans to focus on higher-order thinking." 今日の仕事の合間に、この 1 文を 3 回声に出してみるだけで、議論の軸が体に入ってくる。
anon-23(中文版 / AI 採点 32 点 / 私の採点 28 点 / 同じ題材・同じ insider 視点・長さだけが違う)
AI時代、「考える仕事」の輪郭が変わる
The Economist の最新特集が、AI と知識労働の関係を正面から問い直している。論点は「AI が仕事を奪う」ではなく、「ルーティン判断を自動化することで、人間がより高次の思考に集中できる環境が生まれる」という方向だ。弁護士・医師・教師といった専門職の実例を交えながら、知識労働の再定義を多角的に分析している。
▼ 要点
- AI はルーティン判断を自動化し、人間の高次思考を解放する
- 弁護士・医師・教師など専門職で具体的変化が進行中
- 「仕事を奪う」より「仕事の質を変える」が現在の論点
▼ あなたへの示唆
今日の業務で「これ、判断というより作業だな」と感じた瞬間を 1 つメモしておく。それが AI に委ねられる候補であり、自分の「高次思考」を見つける手がかりになる。
寄り添い度の逆転: anon-21 と anon-23 を読み比べる
並べてみると、見えてくるものがあります。anon-21 は「付箋を貼りたくなった」「3 回声に出してみるだけで体に入ってくる」と読者に寄り添おうとしますが、肝心の 「何が分かったか」「明日、自分は何をするか」が薄いまま終わります。一方 anon-23 は感情的な距離感は控えめですが、要点が 3 行で整理されていて、最後に具体的な 1 アクション(「判断というより作業だな」と感じた瞬間をメモする)を読者に渡してくれます。
寄り添い度が高いのは、文体ではなく後者のほうです。
これは個人開発の LLM プロダクトで AI 採点を運用するうえで、おそらく一番重要な構造でした。「寄り添っているように見える文体」と「実際に読者の役に立つ寄り添い」は別物であり、AI はその両者を区別できずに前者を高く評価する傾向がある。anon-21 と anon-23 の AI 採点差は 32 − 31 = わずか 1 点でしたが、私の採点差は 28 − 18 = 10 点です。私の側に立ったとき、この 2 本は「同じスコア帯に並ぶ記事」ではなく「片方は配信 OK、もう片方は没」というレベルの判定差になります。
私の没コメント 3 ワード vs AI の評価コメント
参考までに、私が anon-21 につけた採点コメントの実物はこうです(架空 fixture に対する自分のコメント)。
没: 感想文化、無駄文、寄り添い演出過剰で逆効果。
3 つの単語で全部書いていますが、それぞれにかなり明確な意味があります。
- 感想文化: 事実(誰がいつ何を言ったか / 一次情報)が乏しく、書き手の所感が主役になっている。M1 情報密度を大きく下げる
- 無駄文: 短いはずなのに、「〜という時代において」「〜が求められている」のような枕詞・装飾が文字数を食っていて、M2 読了時間と M1 情報密度を両方下げる
- 寄り添い演出過剰で逆効果: 「あなたも〜ですよね」「気持ちはわかります」系の共感演出が強すぎて、淡々と読みたい朝の文脈で読者を萎えさせる。M6 寄り添い感を大きく下げる
一方、Claude Code(Sonnet 4.6)が anon-21 につけた採点コメントは、要旨こうでした(架空 fixture に対する AI の評価コメントを要約)。
「視点が一貫しており、当事者の生の声として読み応えがある。短い分、テンポも良く、読者の感情にも寄り添えている。」
AI が私の没ポイント 3 つをそのまま「強み」として評価していたわけです。視点の一貫性 → 私の「感想文化」、テンポの良さ → 私の「無駄文(短くまとめた結果の薄さ)」、寄り添える → 私の「寄り添い演出過剰」。完全に裏返しでした。
この 3 ワードが「軸言語」として自分の中で確定したのは、AI 採点コメントを後で見たときでした。AI は anon-21 を「視点一貫 / テンポ良い / 寄り添えている」と評価していて、それが自分の「感想文化 / 無駄文 / 寄り添い演出過剰」と 1 対 1 で逆向きに並ぶものだと見えた瞬間に、この 3 ワードが「人間側の評価軸」として使える、と見定めました。anon-21 のために作った語というより、AI の高評価コメントを裏返しにすると毎回この 3 つに着地するという発見のほうが本体だった、というのが正確です。
何が起きていたか: AI の癖 × ルーブリックの抜け穴
13 点差を後追いで分析すると、構造として 3 つの要因が見えました。
1. AI は「一貫性」と「読みやすさ」を過大評価する
LLM-as-a-Judge のベストプラクティスとして、Anthropic 公式の評価設計ガイドでも「推論を先に書かせてからスコアを出す(chain-of-thought + discard)」が推奨されています(Anthropic Docs / Define success criteria and build evaluations)。実際にコメント必須化(M2 / M3 / M4 / M6)でこれに近い効果は得られているのですが、それでも AI は 「文章として滑らかに書かれているかどうか」を強く優先する 傾向が消えませんでした。
つまり、AI は「テキスト品質」を「コンテンツ品質」と混同しがちで、特に short 形式だとその傾向が強く出ます。短い文章は構造的にツッコミどころが減るので、AI が「破綻していない=高得点」と扱いやすい。anon-21 と anon-23 の AI 採点差がわずか 1 点で済んだのも、この「短いから破綻していない」枠で anon-21 が救われたためと読めます。
2. ブランドの審美眼を 1 軸(M3 / M6)に圧縮し切れていない
私の没判定は「DAINews というブランドにこのトーンは合うか」を強く重視しています。これは本来 M3(トーン適合)と M6(寄り添い感)で取りに行く軸ですが、**「寄り添い感が過剰」「無駄文」「感想文化」**のような 複合判定 を 2 軸で表現するのは難しく、AI 側のコメントを読むと「個別の軸では納得感のあるスコアをつけている」のが分かります。問題は、人間(私)が 複数軸を横断する複合判定 を直感的にやっていることで、それを AI に再現させるには軸の追加か、軸間の依存ルールが必要そう、というのが当面の仮説です。
3. ルーブリック単体に「ブランドが許容するエッセイ強度の上限」が入っていない
LLM 評価の上位記事(Ubie / LLM-as-a-Judge とルーブリック評価 や pharmax / LLMによるLLMの評価入門)でも紹介されている評価設計は、おおむね「タスク適合性 / 一貫性 / 関連性 / トーン」の 4 系統に整理されます。ただ、個人開発のプロダクトだと、**「ブランドが許容するエッセイ強度の上限」**という製品固有の上限ラインがあって、これが汎用の評価フレームには入りません。anon-21 はこの上限を踏み越えていたのですが、ルーブリック上は M3 / M6 を 2-3 点に下げるだけで表現されており、合計点の上では他の高得点軸(M1 / M5)に押し負けていました。
「ふみ採点」「AI 採点」をどう使い分けるか(v1 への反映方針)
ここまでの 13 点差を踏まえて、DAINews v1 のプロンプトと採点パイプラインの方針はこう書き換えました。
- AI 採点は「ボーダーゾーン抽出器」として使う: 全体平均 +1.67 点は誤差範囲なので、AI の 1 次スクリーニング自体は維持する。ただし「AI が 30 点以上をつけたサンプル」は、人間の再判定対象に 強制的に含める(過大評価の検出枠として)
- insider × short 群はサンプリングルールから外す: AI と人間の構造的乖離が +5.84 点で安定しているため、v1 ではこの組み合わせのテンプレ自体を見直す。short を使うなら outsider 視点に寄せ、insider はある程度の長さを許容する
- 「ブランド上限軸(M8: エッセイ強度上限)」を追加検討: 「寄り添い演出過剰」「感想文化」を独立軸で取れるかを v1.1 で実験。ただし軸を増やすと採点コストも増えるため、まずは 7 軸のまま「M3 / M6 が同時に 3 点以下なら自動没」のようなルール側で吸収できるかを優先で試す
- 採点プロンプトの全公開は当面しない: 競合に評価軸の中身を読まれる影響が読めないため、本記事では 7 軸の設計思想と anon-21 の数値・乖離分析までを公開範囲とする
v1 で見送ったのは「M8 エッセイ強度上限」をいきなり独立軸として追加する選択でした。8 軸にすると採点中の認知負荷が上がり、AI 採点も軸間依存が複雑になりそうだと読んだためです。まずは「M3 / M6 が同時に 3 点以下なら合計が高めでも強制ボーダーゾーン」のルール側で吸収して、それで見落としが出るようなら M8 追加に進める、という順番にしました。それでも捕まらない没ケースが出てきたら、そのときが軸追加の合図、と考えています。
個人開発の LLM プロダクトに使えそうな転用ポイント
DAINews 固有の話を抜きに、個人開発で AI 採点を導入する人 に転用できそうな知見はこの 4 つに整理できました。
-
全体平均より分布で見る
全体平均 +1.67 点だけ見て「AI と人間はほぼ揃う」と判断すると、特定パターン群(今回の insider × short)の構造的乖離を見逃す。属性軸別の集計を 採点後すぐにやる。 -
AI が高得点をつけたサンプルこそ人間が再読する
「ボーダーゾーンは人間が再判定」を裏返しにして、「AI 高得点も人間再判定」を入れる。AI の過大評価は静かに本番に流れ込むので、低得点側より検出が遅れやすい。 -
「寄り添っているように見える文体」と「実際に役に立つ寄り添い」を分けて評価する
anon-21 と anon-23 のペアが示したように、AI は前者を高評価しやすい。プロダクトのユーザーが本当に求めているのが情報の濃度なら、「文体としての寄り添い」はむしろ減点側に置くべきケースがある。 -
ブランド固有軸は汎用フレームに乗らないことを前提にする
Anthropic / OpenAI の公式評価フレームは汎用的に設計されているので、「自分のプロダクトの審美的な上限」は 自前で軸を足すか、自動没ルールで吸収する 前提で運用する。
次の検証課題
今回の 13 点差は 1 回・24 サンプル分の結果 にすぎないので、次の検証で本当に確かめたいことが 3 つ残っています。
- 再現性: 同じ 24 サンプルを後日 Claude Code に再採点させたとき、anon-21 はまた 31 点をつけるか(モデル側の更新含む)
- 構造性: 別の架空 fixture セットで insider × short を組み直したとき、+5.84 点の乖離は再発するか
- 軸追加の効き: 「M8 エッセイ強度上限」を独立軸として追加したとき、AI 採点側で人間に近い 18-20 点が再現できるか、それとも別軸が必要か
このあたりはまた別の記事として、DAINews v1 が動き始めたタイミングで書く予定です。
参照リンク
- Anthropic 公式 / Define success criteria and build evaluations
- LLMの評価が毎回ブレる問題、ルーブリック方式で解決した話(Qiita / umikujira)
- LLM-as-a-Judge とルーブリック評価(Zenn / Ubie)
- LLMによるLLMの評価「LLM-as-a-Judge」入門(Zenn / pharmax)
- LLMプロダクトの評価はどう考えてどうやればいいの?(Zenn / gvatech)
- 同じ 13 点差を別角度(開発日記・エッセイ)から扱った姉妹 note 記事: [姉妹 note 記事へのリンク(公開後追記)]
- 自分の過去記事 / Claude API の Prompt Caching を本番投入する前に整理しておくべき 6 つの設計判断