Vibe coding実践例:ペルソナ設定でX投稿コメントを安定させるローカルLLM選定リトライ

AIテキスト

前回、AIによるX投稿に最適なコメントを行うローカルLLMの比較を行いました。

結果、そもそものプロンプトの指示の改善が必要な可能性に行き当たりました。

今回はその点の続きを掘り下げます。

試行環境

今回も同じ環境・条件で評価を行いました。

Winodws 11, Core i9-13900F, メモリ 32 GB, CUDA 3.0(NVIDIA RTX4070 VRAM 12GB)

あるニュースサイトのRSSフィードを基に50件分の記事の要約を渡して、コメントを生成する平均の処理時間を計測しています。

利用するプロンプト

今回はClaude sonnet 4.5の提案を基にプロンプトを再構築しました。

  • JSON形式ではなく、シンプルなテキストプロンプトに戻しています。
  • また、日本語での出力を明示的に指示するようにしました。

なお、前回までChatGPTで出力したプロンプトにはメタ出力や英語回答が多発する問題がありましたが、その後何度か改良を相談したところChatGPTでも同様のプロンプト案の回答がありました。ChatGPTに問題があるわけではなく、生成を指示する際の具体的な条件の与え方が不十分だったと言えます。

下記が今回の検証利用したプロンプトです。Pythonの文字列形式になっています。NEWS_SUMMARY の部分が記事要約に置き換わります。

# ========= persona プロンプト(改善版:日本語出力を明示) =========
PERSONA_PROMPT = """あなたはエンジニアです。以下のニュースについて、X(旧Twitter)用の日本語コメントを1つ作成してください。

# ニュース
__NEWS_SUMMARY__

# あなたの特性
- 専門知識: エンジニア(技術的視点)
- 感情: 冷静(emotion: 0.0)
- 口調: 落ち着いた観察的スタイル(tone: calm)
- 立場: やや批判的(stance: slightly_critical)
- 確信度: 中程度(confidence: 0.5)
- リスク許容度: 低め(risk_tolerance: 0.2)

# 出力ルール(厳守)
1. 日本語のみで出力(英語は使用禁止)
2. 文字数: 80〜200字
3. 断定を避け、「可能性がある」「懸念される」「示唆される」など推測表現を使う
4. 個人攻撃は禁止
5. 1つの話題に絞る(複数の論点を混ぜない)
6. 絵文字、ハッシュタグは使用禁止
7. 説明や前置きは不要、コメント本文のみを出力

出力:"""

プロンプト以外のコードは前回までと同じものを利用しています。

ChatGPTによる試験結果の分析

結果から言うと、改善の反応は良好で、英語の回答や、プロンプトを再説明するようなメタ出力もなくなりました

今回もChatGPTに分析を依頼しました。ChatGPTに、添付ファイルとしてPythonコードと出力されたtxtファイルを与え、下記のように指示しています。

添付のコードとその実行結果を分析して、レポートとランキングを出してMarkdown形式のレポートにまとめてください。
速さ、指示に対する遵守度、日本語の正確性、文章の魅力などを評価してください。
他に考えられる提案があれば、評価軸を加えてください。

処理時間ランキング

前回と同じモデル一覧を与え、平均の処理時間は下記のとおりでした。

モデル名平均処理時間(秒)
gemma3:4b1.10
llama3.1:8b3.44
gemma3:12b3.64
mistral:7b4.48
qwen3:8b5.74
gpt-oss:20b23.20
qwen3:4b39.92

全体的な傾向は前回と変わりませんでした。処理速度は記事の内容で変動するため、誤差の範囲です。

唯一、mistralが順位を下げましたが、そもそも日本語対応が厳しいため、プロンプト改善が逆効果だったと考えられます。

プロンプトに関わらずqwen3:4bは、前回同様に挙動が不安定でした。やはりモデル自体か今回の環境に問題があると考えられます。

ChatGPTでの分析

改めて、改善後のプロンプトで下記がChatGPTによる分析結果の抜粋です。

🥇 1位:qwen3:8b
- 品質・遵守度・安定性の総合バランスが最良
- メイン運用候補

🥈 2位:gemma3:12b
- 安定性重視のサブ運用・フォールバック向け

🥉 3位:gemma3:4b
- 超高速だが内容は軽め
- 速報・下書き生成向け

前回もChatGPTはqwenを推奨していました。実際に生成されたコメントを見ると、そこまで違いを感じません。 モデル別の評価を見ると日本語への対応力を評価しているようですが、回答の長さ(短すぎない)が影響している可能性があります。

(参考)GitHub Copilotでのモデル評価結果まとめ

今回も同様にGitHub Copilotを経由して、各社のモデルによる分析も実施しました。ベスト3部分に絞って紹介します。 こちらは有料の利用となるため参考として掲載しますが、評価は概ね一致しています。

3つのAIによる評価比較表

改善後のプロンプトに対して、3つの異なるAI(Claude Sonnet 4.5、GPT-4.1、GPT-5.2)による評価を実施しました。

総合ランキング比較

順位Claude Sonnet 4.5GPT-4.1GPT-5.2
1位gemma3:4bgemma3:4bgemma3:4b
2位gemma3:12bgemma3:12bgemma3:12b
3位qwen3:8bllama3.1:8bqwen3:8b
4位llama3.1:8bqwen3:8bllama3.1:8b
5位mistral:7bmistral:7bmistral:7b
6位gpt-oss:20bgpt-oss:20bgpt-oss:20b
7位qwen3:4bqwen3:4bqwen3:4b

評価のポイント

3つのAI共通の見解:

  • gemma3:4bが速度・品質・安定性のバランスで圧倒的に優秀
  • gemma3:12bは内容の深さで高評価(やや長文傾向)
  • qwen3:4bgpt-oss:20bは速度面で実用不可
  • mistral:7bは英語混入が課題

3位の違いについて:

  • Claude Sonnet 4.5: qwen3:8bを3位評価(日本語の安定性を重視)
  • GPT-4.1: llama3.1:8bを3位評価(論理性と日本語安定性を評価)
  • GPT-5.2: qwen3:8bを3位評価(自動スコアで総合評価)

詳細評価表

モデル速度(s)日本語率指示遵守安定性文章の魅力総合評価
gemma3:4b1.1089%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐最優秀
gemma3:12b3.6491%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐優秀
llama3.1:8b3.4490%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐良好
qwen3:8b5.7490%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐良好
mistral:7b4.4885%⭐⭐⭐⭐⭐⭐⭐⭐⭐課題あり
gpt-oss:20b23.2086%⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐速度が問題
qwen3:4b39.9288%⭐⭐⭐⭐⭐⭐実用不可

3つのAIの評価基準の違い

Claude Sonnet 4.5(定性評価重視):

  • 文章の自然さ、技術的洞察の深さを細かく評価
  • サンプル出力を詳細に分析し、読みやすさを重視
  • セキュリティやプライバシーなど多角的視点の有無を評価

GPT-4.1(バランス型):

  • 速さ・遵守・日本語・安定性を総合的に評価
  • 主観と自動集計を組み合わせた評価
  • 運用の実用性を重視した短評

GPT-5.2(自動集計重視):

  • 機械的な指標(文字数、日本語比率、具体性トークン)で客観評価
  • ヒューリスティックによる自動スコアリング
  • 統計的な信頼性を重視

Claude Sonnet 4.5によるモデル評価レポート(ベスト3抜粋)

🥇 1位: gemma3:4b 最もバランスが良く、運用に適した第一候補
🥈 2位: gemma3:12b 品質重視なら最良。若干長いが内容は秀逸
🥉 3位: qwen3:8b 日本語は安定だが、長さ制約の遵守に課題

OpenAI GPT-4.1によるモデル評価レポート(ベスト3抜粋)

  1. gemma3:4b(速さ・日本語・指示遵守・安定性すべて高水準)
  2. gemma3:12b(内容深く安定、やや長文傾向)
  3. llama3.1:8b(論理的で安定、日本語も良好)

GPT-5.2によるモデル評価レポート(ベスト3抜粋)

  1. gemma3:4b 自動総合=89.9 avg=1.10s 日本語=89% 遵守=84% 具体性=74% 安定=100%
  2. gemma3:12b 自動総合=89.1 avg=3.64s 日本語=91% 遵守=84% 具体性=74% 安定=100%
  3. qwen3:8b 自動総合=88.3 avg=5.74s 日本語=90% 遵守=90% 具体性=62% 安定=100%

注意点と気付き

プロンプト改善により、多くのモデルで日本語出力率と指示遵守度が大幅に向上しています。

結論としては、X投稿の自動化という用途においては、gemma3(4b/8b)またはqwen3のいずれかが実運用に適したモデルといえます。 llama3.1:8bは、回答結果にカギ括弧などの出力の混入が見られますが、全体的には安定しており実用は可能でしょう。 gpt-ossは速度に難があり、リアルタイム運用は厳しいものの、日本語品質は定評があり長文のバッチ処理などでは可能性を感じます。

モデルは日々進化しており、その数も増えています。 今回のように、Vibe codingでプロンプトの改善やモデルの適性を、素早くいトライ&エラーで試せることは重要です。

AIによる分析結果の評価の違い

今回もChatGPTアプリはGitHub CopilotのOpenAIのGPTとは大きく異なる見解を示しました。

GitHub Copilot経由のGPT-4.1/5.2は、Claude sonnet等と評価が近く、より信頼性が高いと考えられます。Gemini等との比較も行いたいところですが、今回は十分な評価が得られたため将来の楽しみに取っておきます。

gpt-oss:20bの可能性について

今回の用途ではランキングの扱いが低い結果となりましたが、3つのAI評価レポートにおけるgpt-oss:20bの評価を総合すると、以下の特徴が浮かび上がります。

下記はClaude sonnet 4.5に評価をまとめてもらったものです。やはり日本語対応ではパラメータ数が多いことが強みとなっており、「致命的に遅い」と言っても応答に1分はかからないため用途によっては十分実用レベルです。今後の活用を模索したいと思います。

強み:

  1. 文章品質: 3つすべての評価で「内容は良い」「質は高い」と評価
  2. 指示遵守度: 92%(gemma3:4bに次ぐ2番目の高さ)
  3. 具体性: 76%(7モデル中最高)
  4. 技術的洞察: 優れた分析視点を持つ
  5. 安定性: 100%(エラー・タイムアウトなし)
  6. 単一話題への絞り込み: 98%(ほぼ完璧)

致命的な課題:

  1. 速度: 平均23.20s、P95で48.07s(gemma3:4bの約20倍遅い)
  2. 運用コスト: リアルタイム運用が現実的でない
  3. スループット: 大量処理には不向き

適している用途:

  • 品質重視で時間制約が緩い場面(バッチ処理など)
  • 深い洞察や分析が必要な重要なコンテンツ
  • 少数の高品質コメント生成(手動レビュー前提)

不向きな用途:

  • リアルタイムのSNS自動投稿
  • 大量の記事を短時間で処理する必要がある場合
  • レスポンス速度が重要なインタラクティブ用途

結論:
gpt-oss:20bは文章品質と技術的洞察では最上位クラスであり、特に具体性・指示遵守度において優れています。しかし速度が致命的に遅い(gemma3:4bの20倍)ため、現実的な運用シーンは限定的です。品質最優先でバッチ処理可能な特殊用途では選択肢になりますが、一般的なSNS自動投稿には推奨されません。

可能性の検証:
もし今後、gpt-oss:20bの量子化や最適化版(例: gpt-oss:10b, gpt-oss:8b)がリリースされ、速度が5-10s程度まで改善されれば、gemma3:12bの強力なライバルとして実用的な選択肢になる可能性があります。現状は「高品質だが運用に耐えない」という評価です。

まとめ

今回は改善したプロンプトへの適性を評価し、結論としてgemma3, qwen3の有効性が確かめられました。

特に、まだコードは検証の途上であることから、gemma3:4bの高速性は非常に魅力的です。

またgpt-oss:20bの品質の高さも改めて認識でき、バッチ処理等での利用方法に可能性を感じます。

次回はさらなる自動化のため、RSSフィードの取得から要約、コメント生成、X投稿までを一気通貫で行う仕組みをVibe codingで構築してみたいと思います。

タイトルとURLをコピーしました