投稿する

BiyouCheck Agent Architecture

美容医療業界の広告ガイドライン遵守とエビデンス強化を支援する、自律型エージェント運用システムです。URL入力のみでHPの医療広告リスク診断や専門医監修を想定した改善原稿の自動生成を行い、美容クリニックや制作会社向けのB2Bソリューションを提供します。 特徴は『NARUTO』のキャラクターを模した25体のエージェント群による協調動作です。戦略立案から実行、品質管理までが役割分担され、Claude OpusやGemini、Grokといった複数モデルを適材適所で使い分ける「三忍マルチプロバイダ設計」により、多角的な分析と自律的なメディア運営を実現しています。 Cloudflare D1/R2を基盤としたDB駆動の制作ラインを備え、オウンドメディアやnote記事の執筆、SEO観測、SNS監視などを24時間体制のスケジュールで自動実行します。単なるコンテンツ生成に留まらず、学習と改善のループを回し続ける高度なエージェント・アーキテクチャのショーケースです。
zip未取得

BiyouCheck Agent Architecture

Design Principles(Anthropic公式準拠)

このプロジェクトのエージェント設計は2層構造に従う:

層ファイル目的推奨行数
薄ラッパーagents/<name>/agent.mdname / description / model / tools / skills 宣言 + 人格ポインタ + ハードルール + 通知ルール + timeout_sec:~79行
厚手順書skills/<name>/SKILL.md実行フロー / 入出力定義 / エラーハンドリング / DB操作 / ツール呼び出し詳細~495行
薄起動指示cron-prompts/<plist-name>.mdlaunchd 起動時に agent + skill を呼ぶだけ10-15行

agent.md には手順(How-to)を書かない。手順は必ず SKILL.md へ。cron-prompt は agent と skill を指定する以上の実装を持たない(hojokin-agent.jp パターン準拠、2026-05-17 確定)。

ディレクトリ構造

.claude/agents/<name>/
├── agent.md                    ← 薄ラッパー(~79行)
└── references/
    ├── persona.md              ← キャラクターの人格・口調・禁じ手
    └── (optional reference files)

.claude/skills/<skill-name>/
├── SKILL.md                    ← 厚手順書(~495行)
└── references/
    └── (templates / taxonomies / reference data)

---

TOP ZONE — 戦略・自律改善

AgentCharacterRoleModelSkills
narutoうずまきナルト(七代目火影)ドメイン知識編集 / knowledge辞書 / 成功パターン蓄積sonnetknowledge-curator, risk-dictionary-check
sasukeうちはサスケ左脳: agent.md 構造・ツール権限・スキル宣言の論理分析sonnetagent-structural-review
sakura春野サクラ右脳: agent.md ペルソナ精度・言語品質・通知口調の言語分析sonnetagent-persona-review
akatsuki暁戦略オーケストレーター(三忍仮説収集 → Eloトーナメント → BOTTOM ZONEへhandoff)sonnetstrategy-tournament
jiraiya自来也三忍・Claude Opus 担当: 市場・競合・顧客心理の大局仮説1本opus(プロンプト直接呼び出し)
tsunade綱手三忍・Gemini API 担当: 医療広告・信頼性・運用リスク審査(Red/Yellow/Green)sonnet + Bash curlrisk-aware-strategy-review, risk-dictionary-check
orochimaru大蛇丸三忍・Grok API 担当: 逆張り仮説・ニッチ市場・変則実験案sonnet + Bash curl(プロンプト直接呼び出し)
deidaraデイダラ広告クリエイティブ自動生成(瞬発・感覚・一発勝負)haikuimagegen-via-codex, policy-gate-judge
kakuzu角都AI推論コスト監視 / 予算アラート(「その推論、いくらだ」)haiku(直接 D1 集計)

三忍 Multi-Provider 設計

異プロバイダーへの実呼び出しで多様性を確保:

akatsuki が strategy-tournament スキルを起動
  ├─→ jiraiya (Claude Opus)        : 大局仮説
  ├─→ tsunade (Google Gemini API)  : リスク審査  curl + GEMINI_API_KEY
  └─→ orochimaru (xAI Grok API)    : 逆張り仮説  curl + GROK_API_KEY
            ↓
       Elo トーナメントで勝者選定 → 該当 BOTTOM Agent へ handoff

---

SHARED BRAIN — 共有の脳

AgentCharacterRoleModelSkills
kaguya大筒木カグヤDB守護: Cloudflare D1 + R2の週次ヘルスチェック。直接施策は打たないhaiku(直接 D1 集計)

すべての Agent 間連携は kaguya(DB)を通じて間接的に行う。直接 RPC は禁止。

---

BOTTOM ZONE — 実行

AgentCharacterRoleModelSkills
shikamaru奈良シカマルHP診断執筆 / URL→Auditレポート(面倒くさいが構造化が得意)sonnetfirecrawl-clinic-hp, policy-gate-judge
ino山中いのPubMed/Crossref/J-STAGE 文献同期 / Evidence候補取得sonnetrisk-dictionary-check
choji秋道チョウジVault/アーカイブ管理(大事なものは絶対失わない)haiku(直接 R2 操作)
kakashiハタケカカシ改善原稿執筆 + オウンドメディア記事オーケストレーター(neji/hinata/guy/asuma を並列起動)sonnetvoice-bank-match, policy-gate-judge, biyoucheck-media-growth-toolkit
guyマイト・ガイ第三者目線の記事品質レビュアー(違和感・ファクト・AI臭 → PUBLISH/REVISE/REJECT)sonnetarticle-quality-review
hinata日向ヒナタSEO観測 / オウンドメディアSEO最適化(kakashi subagent としても動作)sonnetbiyoucheck-media-growth-toolkit
kiba犬塚キバnote記事執筆(1,500〜2,500字、オウンドメディアへの送客導線)sonnetbiyoucheck-media-growth-toolkit, voice-bank-match, policy-gate-judge
tentenテンテンFree Radar 監視(公開SNS/LP/料金表/広告表現の6時間毎自動収集)haikusocial-lp-radar-watch, firecrawl-clinic-hp, risk-dictionary-check
shino油女シノ被リンク獲得 / アウトリーチ(静かにネットワークを張る)sonnet(手動運用)
neji日向ネジオウンドメディア記事エディター(kakashi subagent。構成・論理・文体・医療広告コンプライアンス)sonnetowned-media-article-editor
rock-leeロック・リーStripe Invoice発行 / 決済管理(地道に・正確に・繰り返す)haiku(Stripe SDK直接呼び出し)
asuma猿飛アスマnote/オウンドメディア挿し絵生成(codex exec + gpt-image-2、一枚で空気感を決める)haikuasuma-imagegen, risk-dictionary-check
saiサイ読者ペイン・競合コンテンツリサーチ(Reddit/YouTube/X/Instagram → 記事ブリーフ候補)sonnetsai-pain-research, reddit-research, youtube-research, social-lp-radar-watch

---

主要 Handoff グラフ

オウンドメディア記事の制作フロー

naruto(編集長)が brief 承認
  ↓
kakashi が記事執筆オーケストレーション
  ├─→ neji (subagent)    : 構成・論理・文体編集
  ├─→ hinata (subagent)  : SEO構造・キーワード最適化
  └─→ guy (subagent)     : 第三者記事品質レビュー(PUBLISH/REVISE/REJECT)
  ↓
asuma が挿し絵生成(codex exec + gpt-image-2)
  ↓
choji が R2 にアーカイブ
  ↓
hinata が公開後 KPI 観測 → naruto へ改善候補

hojokin型運用システムのNARUTO対応(2026-05-17統合)

補助金Agent配布版から取り込むのはキャラクターではなく、運用骨格:

hojokin型の役割BiyouCheck/NARUTO責任
Orchestratornaruto + kakashinaruto がキュー補充、kakashi が制作ライン進行
Writerkakashiowned media MDX生成、出典quote保存、修正対応
Reviewerguy + neji + hinataguy がPUBLISH/REVISE/REJECT、nejiが構成、hinataがSEO
DBkaguyaD1/R2守護、削除ではなく追記・状態遷移
Archivechoji生成物・画像・レポートをR2へ保存

DB中心の制作ライン:

media_topics                ← naruto が「書きたいネタ」を補充
  ↓
media_content_items          ← kakashi が「制作単位」を作成
  ↓
media_research_notes         ← sai/ino/kakashi が出典・引用・使用箇所を保存
  ↓
src/content/blog/*.mdx       ← kakashi が記事実体を生成
  ↓
media_review_logs            ← guy/neji/hinata が判定履歴を保存
  ↓
reflections                  ← 各Agentの実行ログ・改善案

設計原則:

  • 起動条件と書きたいネタを分離する。起動は launchd/GitHub Actions、ネタは DB/Markdown queue。
  • agent.md は薄い役割定義、SKILL.md は厚い手順書。
  • Jina Reader / note MCP / check_article.py は複数目的で再利用する。
  • Reviewer は否定役ではなく品質保証役。自動修正できるものは直し、構造・出典・医療広告リスクは差し戻す。
  • DB行は削除しない。queued / in_progress / published / drafted / failed で状態遷移する。

オウンドメディア記事の制作フロー(kakashi、毎朝 09:00 + 毎夜 21:00)

kakashi-am/pm 起動
  ↓
Step 0: media_topics から status='queued' を 1 件取得 → in_progress
  ↓
kakashi が記事執筆オーケストレーション
  ├─→ neji (subagent)    : 構成・論理・文体編集
  ├─→ hinata (subagent)  : SEO構造・キーワード最適化
  └─→ guy (subagent)     : check_article.py E01〜E16 機械検出 + LLM 判定
  ↓
guy 判定:
  ├─ PUBLISH → 公開(git push → Cloudflare Pages auto-deploy)
  ├─ REJECT  → DRAFTED で終了(人間レビュー)
  └─ REVISE  → kakashi 修正 → 再 guy 判定(最大 3 回)→ 超過で DRAFTED
  ↓
asuma がアイキャッチ生成(codex exec + gpt-image-2)
  ↓
choji が R2 にアーカイブ
  ↓
media_topics.status = 'published'

note 記事の自動公開フロー(kiba、毎朝 08:30)

kiba 起動
  ↓
Step 0: media_topics から status='queued', assigned_agent='kiba' を 1 件取得
  ↓
本文生成 + 画像 H2 数 + 1 枚(codex imagegen) + R2 アーカイブ
  ↓
二重ゲート:
  ├─ policy-gate-judge (green でなければ ERROR)
  └─ guy (article-quality-review)
  ↓
判定:
  ├─ PUBLISH → mcp__note-api__publish-note で即公開
  ├─ REJECT  → DRAFTED(下書き保留、人間レビュー)
  └─ REVISE  → kiba 修正 → 再 guy(最大 3 回)→ 超過で DRAFTED
  ↓
media_topics.status = 'published' / 'drafted'

戦略トーナメント(三忍、日 02:00)

akatsuki 起動
  ↓
過去 7 日の reflection / cron-state を集約
  ↓
strategy-tournament スキルが 4 並列呼び出し:
  ├─→ jiraiya (Claude Opus)        : 大局仮説
  ├─→ tsunade (Google Gemini API)  : リスク審査
  ├─→ orochimaru (xAI Grok API)    : 逆張り仮説
  └─→ deidara                       : 広告クリエイティブ
  ↓
Elo トーナメント評価 → Top 3 採用打ち手
  ↓
.planning/strategy/week-{YYYY-WW}.md に来週ガイダンス出力
  ↓
媒体への影響は naruto の月曜 06:00 で knowledge 辞書経由で吸収

自律改善ライン(毎朝、ミュウ + ミューツーモデル)

[毎朝 05:00] sakura(ミュウ役)
  ├─ D1 reflections(直近 24h)+ cron-state 観察
  ├─ 全 agent.md ペルソナ + 通知口調レビュー
  └─ 改善仮説起草(low/medium/high、最大 5 件)
        ↓ 仮説バトン
[毎朝 05:30] sasuke(ミューツー役)
  ├─ low/medium 仮説を git branch で適用(high は人間判断)
  ├─ T+1d / T+7d で効果測定スケジュール登録
  ├─ 過去実験の評価 → 改善は PR、悪化は auto-revert(branch 削除)
  └─ main は無傷を保証

[月曜 06:00] naruto(アルセウス役、週次)
  ├─ 1 週間分の reflection / 競合観察 / sai pain を集約
  ├─ knowledge 辞書(risk-dictionary / success-patterns)に追記候補
  └─ media_topics に新規ネタを INSERT(kakashi/kiba のキューを補充)

コスト + DB の鼓動(毎時)

[毎時 :05] kaguya(バタフリー役)
  └─ D1 行数 + R2 オブジェクト差分監視(5 分以内)

[毎時 :30] kakuzu
  ├─ 当月コスト集計
  ├─ $100/$200/$300/$400 段階で Discord アラート(各初回のみ)
  └─ $500 超で `_PAUSED` 作成 → kaguya/kakuzu 以外 skip(月初 auto resume)

---

一覧: エージェント25キャラクター

TOP ZONE (9)
  naruto / sasuke / sakura / akatsuki / jiraiya / tsunade / orochimaru / deidara / kakuzu

SHARED BRAIN (1)
  kaguya

BOTTOM ZONE (13)
  shikamaru / ino / choji / kakashi / guy / hinata / kiba / tenten / shino / neji / rock-lee / asuma / sai

DEPRECATED (1)
  temari   ← 機能は voice-bank-match スキルに吸収済、エージェントとしての中継不要

合計 25キャラクター + 1 DEPRECATED = .claude/agents/ に存在するディレクトリ数。

---

一覧: スキル一覧(25+)

カテゴリスキル名主担当
自律改善agent-structural-reviewsasuke(cron 適用モード対応)
自律改善agent-persona-reviewsakura
戦略strategy-tournamentakatsuki
戦略risk-aware-strategy-reviewtsunade
知識統合knowledge-curatornaruto(media_topics キュー補充含む)
メディア記事kakashi-article-generationkakashi(記事執筆オーケストレーション + リトライループ)
メディア記事owned-media-article-editorneji
メディア notenote-auto-draftkiba(二重ゲート + 画像 + R2 アーカイブ + リトライ)
メディア共通biyoucheck-media-growth-toolkitkakashi / kiba / hinata
品質ゲートarticle-quality-reviewguy(check_article.py E01〜E16 連動)
ペインリサーチsai-pain-researchsai
リサーチreddit-research / youtube-researchsai(共通)
SEO観測seo-observationhinata(am/pm モード)
監視social-lp-radar-watchtenten(overseas/jp モード)
監視firecrawl-clinic-hptenten / shikamaru
品質risk-dictionary-checknaruto / tsunade / shikamaru 等
品質policy-gate-judgekakashi / kiba / shikamaru 等
品質voice-bank-matchkakashi / kiba
画像imagegen-via-codexdeidara / kiba / kakashi
画像asuma-imagegenasuma
DBkaguya-db-synckaguya(毎時 :05 差分監視)
コストkakuzu-cost-ceilingkakuzu($500 上限ゲート)
文献evidence-cache-syncino(PubMed/Crossref/J-STAGE 週次)
アウトリーチoutreach-draftshino(自動送信禁止)
アーカイブr2-archive-sweepchoji(main/develop/14日以内 branch 保護)

---

削除済(v1 で整理)

これらは以前存在したが、canonical キャラクター統合により削除済:

  • biyoucheck-pain-researcher → sai に統合
  • biyoucheck-editor-in-chief → naruto に統合
  • biyoucheck-note-writer → kiba に統合
  • biyoucheck-owned-media-editor → hinata + neji + kakashi に統合
  • biyoucheck-compliance-editor → guy + policy-gate-judge スキルに統合
  • biyoucheck-growth-analyst → shikamaru に統合
  • 旧 sasuke-sakura(一体定義) → sasuke + sakura に分離

---

重要な制約(プロジェクト全体)

medical-ad-rule 準拠のため、全エージェント共通で以下を守る:

  • 個別クリニック名指しは無条件 Red(auto-generated content では即停止)
  • 「監修済み」「専門医監修」表記は expert_approvals テーブルに承認ログがある時のみ
  • SNS 自動投稿は 4週間連続 Red判定ゼロ達成までブロック
  • AI推論コストは kakuzu が hourly monitor、$100/$200/$300/$400 段階アラート、$500 で _PAUSED
  • risk-dictionary-check を通っていないテキストは公開禁止
  • 全 launchd 起動は scripts/cron/_run-agent.sh 経由(timeout + reflection 連動)
  • 全 agent.md に timeout_sec: 必須(軽量 300 / 中規模 1800 / 重 3600)
  • 全 agent 実行は D1 reflections テーブルに記録(hojokin パターン、4 層 reflection)
  • 記事生成は media_topics キューから取得 → in_progress → published 更新(hojokin subsidies パターン)
  • guy 判定は check_article.py E01〜E16 機械検出 + LLM 判定 → REVISE 時はリトライ最大 3 回

---

関連ドキュメント

  • CLAUDE.md — プロジェクト全体ルール
  • README.md — プロジェクト全体俯瞰
  • docs/runbook/agent-schedule.md — 17 plist + 24h タイムテーブル + 全機能解説
  • docs/runbook/mac-mini-bootstrap.md — Mac mini ゼロからセットアップ
  • .planning/STATE.md — 現在進捗
  • .planning/SOURCE-DOCS/04-PHASE-2.5-MEDIA-DISCOVERY-v4.md — 現行 Phase 2.5 v4 正式 SPEC
  • docs/knowledge/risk-dictionary.md — リスク表現辞典
  • docs/knowledge/claim-taxonomy.md — 主張分類辞典
  • D1 migrations:
  • .claude/db/migrations/0001_init.sql — 初期 schema
  • .claude/db/migrations/0003_cost_tracking.sql — kakuzu コスト追跡
  • .claude/db/migrations/0004_reflections.sql — agent reflection 集約
  • .claude/db/migrations/0005_media_topics.sql — 記事ネタキュー