まるで本物の韓国人のようにレビューするAIエージェントチームを作る(Harnessフォーク + NVIDIA 100万ペルソナ)
(github.com/hongsw)TL;DR
レビューを集中的に行うハーネス――コードレビュー、文書レビュー、UXリサーチ、インタビューシミュレーション――では、5人のレビュアーが5つの異なる観点を持ってこそ価値がある。一般的なAIエージェントチームは5人全員が似たような
トーン・観点になりがちで、実際には1人の意見が5回繰り返されているのと変わらない。
このフォークは NVIDIA Nemotron-Personas-Korea(100万行、CC BY 4.0)をランタイムの動的検索で引き込み、韓国の職場に実在しそうな人物(職種・世代・地域・家族状況まで)をエージェントに与えることで、本当に異なる観点のレビューを
生み出す。
なぜレビューハーネスにペルソナの深さが必要なのか
同じコード・文書・デザインを見ても、人によって観点は異なる。
-
45歳、SI出身のバックエンドチーム長
→ 「リスク管理の観点から段階的リリースで進めましょう。十分に検証して進めるほうが、結果的にスケジュール短縮になります。」 -
24歳、MZ世代のグロースマーケター
→ 「数値が跳ねたときに原因仮説を素早く立てる姿勢はいいですね。ただ、有意水準が少し弱いです。A/Bをもう少し回してみますか?」 -
38歳、ワーキングマザーのPM
→ 「結論として今四半期中に出せないのであれば、まずは優先順位の調整を一度お願いします。」 -
27歳、フィンテック出身のデザイナー
→ 「ユーザーインタビューの定性データで、『クーポンを受け取る瞬間がちょっと地味だ』というコメントが繰り返し出ていました。」
→ 同じコードを見ても、4人はそれぞれ異なるリスク・価値・優先順位を捉える。これがレビューチームの本質。
何が追加されたか(新規スキル3種、非侵襲)
既存の revfactory/harness は変更せず、description キーワードで自動トリガー分岐する。
korean-persona-search— Parquet predicate pushdown の多軸フィルタ(職種・地域・年齢・学歴・世代) + 多様性サンプリングkorean-voice-adapter— ハムニダ体/ヘヨ体マトリクス + 韓国の職場文化(報告ライン・会議マナー・婉曲表現) + 13業界の語彙辞書korean-persona-harness— メタオーケストレーター(5人のサブエージェントのパイプライン: シナリオアナリスト → ペルソナキュレーター → 話法アダプター → エージェントビルダー → 多様性QA)
Claude Code と Codex CLI の両方に対応――SKILL.md フォーマットは同一で、データセットキャッシュを共有する。
検証――同じLLM、同じ作業、同じ分量(102行 vs 103行)
5人チームの週次スタンドアップ議事録シミュレーション。ドメイン精度は同等。違いは 観点の多様性 に現れる。
通常の harness の結果:
- 音声識別性: 低い(5人がほぼ同じトーン)
- 韓国の職場マナー: わずか
- 相互応答・励まし・お礼: 0回
- 依頼/確認トーン: 5回
- 個人的事情の露出: 0件
korean-persona-harness の結果:
- 音声識別性: 非常に高い(名前を隠しても識別可能)
- 韓国の職場マナー: 豊富(断定回避・メンタリング・確認トーン)
- 相互応答・励まし・お礼: 4回
- 依頼/確認トーン: 11回
- 個人的事情の露出: 2件(家族の予定・権限への言及)
Run B にのみ現れた人間的ディテール:
バックエンド(2児の父): 「来週は私のほうで 子どもの予定 が少しあるので、ローテーションを一度事前に整理しておくのはどうでしょうか。」
- 韓国の職場マナー: わずか
- 韓国の職場マナー: わずか
- 相互応答・励まし・お礼: 0回
- 依頼/確認トーン: 5回
- 個人的事情の露出: 0件
korean-persona-harness の結果:
- 音声識別性: 非常に高い(名前を隠しても識別可能)
- 韓国の職場マナー: 豊富(断定回避・メンタリング・確認トーン)
- 相互応答・励まし・お礼: 4回
- 依頼/確認トーン: 11回
- 個人的事情の露出: 2件(家族の予定・権限への言及)
Run B にのみ現れた人間的ディテール:
バックエンド(2児の父): 「来週は私のほうで 子どもの予定 が少しあるので、ローテーションを一度事前に整理しておくのはどうでしょうか。」
チーム長(45歳)→ マーケター(24歳): 「数値が跳ねたときに原因仮説を素早く立てる姿勢、そのまま 続けていけば大丈夫です。」
マーケター: 「あ、ありがとうございます、チーム長!」
チーム長: 「ただ、こちらのリトライポリシーがあまりに攻撃的に動作して、一部障害を増幅した可能性があります。断定はRCA最終版で行います。」
→ 家族・世代・職種のペルソナが発話に自然に結びつく。抽象的な「安定性優先」ではなく、なぜこの人がこの優先順位を持つのか が行動ににじみ出る。
価値マトリクス――どこで使えそうか
- コードレビュー(5人が異なる観点) → 非常に高い
- 仮想ユーザーインタビューシミュレーション → 非常に高い
- 韓国ユーザー向けマーケティングコピーのレビュー → 非常に高い
- UXリサーチ・ペルソナワークショップ → 高い
- 議事録・コラボレーションシミュレーション → 高い
- RFC・技術文書 → 普通
- インフラ・アーキテクチャ設計 → 低い(基本の
harnessが適している)
インストール(1行)
Claude Code:
/plugin marketplace add hongsw/harness
/plugin install harness@harness
Codex CLI:
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo hongsw/harness \
--path skills/korean-persona-search \
--path skills/korean-voice-adapter \
--path skills/korean-persona-harness
データセットキャッシュ(両ランタイムで共有):
pip install huggingface_hub pyarrow
python3 $SKILL_DIR/korean-persona-search/scripts/download.py
⚠️ 注意: 既存の revfactory/harness インストーラーはマーケットプレイス・プラグイン名が同じため、4段階の移行が必要。
/plugin uninstall harness@harness
/plugin marketplace remove harness-marketplace
/plugin marketplace add hongsw/harness
/plugin install harness@harness
リンク
- フォークリポジトリ: github.com/hongsw/harness
- アップストリーム PR #9(マージ待ち): github.com/revfactory/harness/pull/9
- 検証成果物: _workspace/comparison_test
- データセット: huggingface.co/.../Nemotron-Personas-Korea (CC BY 4.0)
- 元の Harness: github.com/revfactory/harness
1件のコメント
面白いですね(笑)。私たちも似た領域で別のpathを進んでいて、ClawSouls (clawsouls.ai) というペルソナ保存レジストリ兼共有プラットフォームを運営しています。一度登録されたペルソナは、OpenClaw、Claude Code、Cursor、Hermes Agent のようなエージェントプラットフォームに
npm clawsoulsパッケージで適用できます。ぜひ一度掲載していただけるとありがたいです。該当プラットフォームは GeekNews でも紹介されたことがあります。Show GN: ClawSouls – AIエージェントのペルソナを1行で切り替えるオープンレジストリ 協業をご希望でしたら、ご連絡いただけますと幸いです^^ ( contact@clawsouls.ai )