ChatGPTレビューを仕組み化する — 3ペルソナreviewer agentの観点設計
はじめに
技術記事を書くたびに ChatGPT や Gemini に構成レビューをもらっていましたが、同じような指摘を毎回もらっている ことに気づきました。
「冒頭に要約ブロックを入れたほうが良い」「詳細の前に全体像を」「英語用語に日本語副題を」――。これらは一度ルール化してしまえば、次の記事から自動適用できるはずです。
この記事は、外部 LLM の一回性レビューを、内製の reviewer agent(記事レビュー用エージェント)に観点として移植する アプローチを共有するものです。
3 ペルソナで記事を見る
記事レビューを「1 人の目」でやると、どうしても漏れが出ます。対象読者・編集者・ディレクターでは見るポイントが違うので、3 ペルソナに分けて観点を整理 します。
Zenn 向け 3 ペルソナ
実装ソース(.claude/agents/article-reviewer.md)のペルソナ定義をベースに、本記事の運用ではタイトル訴求 / 目次設計 / Zenn 表現規約などを各視点に拡張しています。
- Webディレクター視点: 構成・読みやすさ・対象読者整合性・SEO最適化(本記事ではタイトル訴求 / 目次設計 / 想定読者を拡張観点として追加)
- Webサイト編集者視点: 誤字脱字・表現統一・文章明確性・重複表現(本記事では Zenn 表現規約(Front Matter / 言語指定 / :::message)を拡張観点として追加)
- Webエンジニア読者視点: 技術的正確性・コード検証・実装可能性
note 向け 3 ペルソナ
- noteディレクター: タイトルフック / スマホ可読性 / note 内発見性
- note編集者: JTF スタイル準拠 / 段落リズム / 表記揺れ
- 想定読者: オピニオン / 体験 / 解説 の記事タイプごとに変動
ペルソナごとにチェックリストを持たせることで、1 人の先入観に寄らない評価 ができます。
観点の構造化(ChatGPT レビューから移植)
ChatGPT に記事を見てもらった時の指摘を「構成 / 圧縮 / 段落・セクション / 表現」の 4 カテゴリに分類し、Zenn 8 観点 + note 10 観点 として番号付きで整理しました。
Zenn 8 観点
- 冒頭で記事の価値を先出ししているか(構成)
- 詳細群の前に全体像を提示しているか(構成)
- 派生論点が本筋の後ろに配置されているか(構成)
- コマンド / コード断片が本文を埋めていないか(圧縮)
- 英語ラベルに日本語副題が添えられているか(圧縮)
- 各セクションの要点が 1 行で先出しされているか(段落)
- まとめ前に記事の主張を再掲しているか(段落)
- 硬い漢字タイトルを柔らかく言い換えているか(表現)
note 固有の +2 観点
-
段落の呼吸が作れているか / 2 スペース改行の過不足がないか
- note は 2 スペース改行が
<br />として解釈されるため、Markdown を別プラットフォームから持ち込むと余白が倍増しやすい。Zenn には存在しない note 固有の落とし穴
- note は 2 スペース改行が
-
対象読者への呼びかけが冒頭にあるか
- note はタイムライン / 検索 / ハッシュタグ経由の初見読者が多く、「誰向けの記事か」をリードで明示しないと離脱しやすい
Zenn / note の観点差分(一覧)
| # | 観点 | Zenn | note |
|---|---|---|---|
| 1 | 冒頭で記事の価値を先出し | ✅ | ✅ |
| 2 | 詳細群の前に全体像 | ✅ | ✅ |
| 3 | 派生論点は本筋の後ろ | ✅ | ✅ |
| 4 | コード断片で本文を埋めない | ✅ | ✅ |
| 5 | 英語ラベルに日本語副題 | ✅ | ✅ |
| 6 | セクション要点を 1 行で先出し | ✅ | ✅ |
| 7 | まとめ前に主張を再掲 | ✅ | ✅ |
| 8 | 硬い漢字タイトルを柔らかく | ✅ | ✅ |
| 9 | 対象読者への呼びかけ | — | ✅(note 固有) |
| 10 | 2 スペース改行の過不足 | — | ✅(note 固有) |
上記をエージェントの SKILL(Claude Code の Skill 仕様に沿った運用手順)/ 定義ファイル(.claude/agents/article-reviewer.md および .claude/agents/note-article-reviewer.md)に記述し、レビュー時に毎回チェックする運用にしています。
エージェント化のメリット
ChatGPT に毎回頼むのに比べて、内製エージェント化すると以下が効きます。
- 再現性: 同じ観点が毎回適用されるので、記事ごとの評価がブレない
- オフライン: 外部 API 無しで評価できる
-
プロジェクト文脈: 著者の他記事との整合性や、リポジトリ規約(
AGENTS.md/CLAUDE.md)を知っている - 回帰検出: 過去に同じパターンで指摘されたのを覚えている
一方、外部 LLM には「自分の記事を外の目で見る」という強みがあるので、内製エージェントで通した後に外部レビューで仕上げる 2 段構成が現実的です。
出力フォーマット
エージェントは reviews/zenn/<slug>.md または reviews/note/<state>/<slug>.md に以下の構造で出力します。
- チェック結果(3 ペルソナ × 観点の表)
- 共通チェックリスト(☑ 形式)
- 指摘コメント(行番号 + 引用 + 問題点 + 提案)
- 総合評価(良い点 / 改善点 / 推奨アクション)
- SEO / 発見性改善提案
reviews/ の成果物は PR で管理し、本文への反映は別のスキル(review-applier)が採用/保留/却下の分類と共に diff を作ります。
まとめ
- ChatGPT のような一回性レビューは、観点として抽出すればエージェントに移植できる
- 3 ペルソナに分けて観点を整理することで、評価のブレが減る
- Zenn 8 観点 / note 10 観点の差分を明示して、プラットフォーム固有の運用をカバー
- 内製エージェント + 外部 LLM の 2 段構成が実用的
記事の品質を「気合い」ではなく「仕組み」で担保する方向に運用を寄せると、継続的な執筆が軽くなります。
関連記事
- AI記事制作で品質を落とさない:編集フローを3層の品質ゲートで設計する — 本記事の 3 ペルソナ観点を包含する上位のフロー設計
- 開発セッション直後の振り返りを改善フローにつなげる方法 — observation を rule に昇格させる A/B/C 分類の原型
-
AIが迷わないリポジトリ設計:長いプロンプトより先に整える4つの置き場所 — エージェントが参照する
.claude/agents/*.mdの置き場所設計
実装リファレンス
- Zenn 用:
.claude/agents/article-reviewer.md - note 用:
.claude/agents/note-article-reviewer.md - 反映フロー:
.claude/agents/review-applier.md
Discussion