MOAIのAI担当者を増やす方法|エージェント定義の追加と割り当て
- MOAIのAI担当者(SEOリサーチャー、ライター、SNSコピーライターなど8人)は、Claude Codeのサブエージェント定義ファイル(Markdown)が実体。
claude-code/agents/にファイルを足せば、担当を増やせる - 2つの使い方がある:(1) 画面の担当表示も増やす(
docs/seed.jsを編集)、(2) 担当を「おまかせ」にして指示を積み、Claude Codeに指示の内容から選ばせる - 画面から担当を追加する機能はない。改造が前提なので、まず別フォルダに取得した試用環境で試すのが安全
| あなたの状況 | 次の一手 |
|---|---|
| まだ動かしていない | 導入手順で、まず8人のままローカル版を動かす |
| 8人で足りるか知りたい | 8人それぞれの指示の書き方を見る |
| 改造して使う・公開リポジトリを見たい | GitHubで入手(MIT) |
MOAIの「AIチーム」画面には、戦略ディレクターのほかに、SEOリサーチャー、コンテンツライター、SNSコピーライター、競合アナリスト、グロース分析官、収益ファネル設計、動画・Reels企画の担当が並びます。自分の事業には別の役割がほしい、たとえば「メルマガ担当」「商品説明の校正担当」を足したい、という場面は必ず出てきます。
MITライセンスのオープンソースであるMOAIは、自由に改造してよいと明記されています。この記事は、担当を増やすための手順を、リポジトリの構成に沿って整理したものです。コマンドや構成は、MOAIのリポジトリ(README、docs/seed.js、claude-code/agents/)で確認できる内容に基づいています。実際に改造する前に、最新のリポジトリの状態を確認してください。
担当の「実体」はどこにあるか
MOAIのAI担当者は、画面上の表示と、実際に仕事をするエージェント定義の2層でできています。
| 層 | 場所 | 役割 |
|---|---|---|
| 画面上の表示 | 初期データ docs/seed.js の agents.items | 担当の名前・説明・アイコン・出力物・割り当て先(backend) |
| 実際の仕事をする定義 | claude-code/agents/*.md | Claude Codeのサブエージェントの指示書(役割・やること・出力形式) |
たとえば、SEOリサーチャーの画面表示は、割り当て先(backend)が { type: 'agent', target: 'moai-seo-researcher' } になっています。画面上は「subagent: moai-seo-researcher」と表示され、実体は claude-code/agents/moai-seo-researcher.md です。戦略ディレクターだけは、割り当て先が「メインスレッド」で、Claude Code本体の処理が担当します。
この2層のうち、仕事の質を決めるのはエージェント定義のほうです。画面の表示は、キューに担当名を出して見やすくするためのものといえます。
エージェント定義ファイルの形
同梱のSEOリサーチャーは、次のような構成です(抜粋)。ファイルの先頭に設定のブロックがあり、その下に指示書が続きます。
---
name: moai-seo-researcher
description: 検索需要のあるキーワード・競合の強さ・勝てる切り口を調べるリサーチ専門エージェント。…
tools: WebSearch, WebFetch, Read, Write, Glob, Grep
model: sonnet
---
あなたはSEOリサーチャーです。…(以下、やること・見方・出力の指示)
先頭ブロックの項目の意味は、次のとおりです。
name:エージェントの名前。ファイル名と揃えるのが分かりやすい。画面の割り当て先(target)はこの名前を指すdescription:いつ呼ぶべきかの説明。Claude Codeが担当を選ぶときの手がかりになる。「どういう依頼のときに使うか」を具体的に書くtools:使わせるツールの一覧。調べもの専用なら検索系だけ、書くだけなら読み書き系だけ、と絞るmodel:使うモデルの指定
サブエージェントの仕様(項目や挙動)は、Claude Code側で更新されることがあります。記述の細部は、Claude Codeの公式ドキュメントで確認してください。
注意点として、description にコロン(: )を含める場合は、全体をダブルクォートで囲む必要があります。囲まないと先頭ブロックの解釈が壊れ、エージェントが読み込まれないことがあります。
手順:担当を1人増やす
例として、「メルマガ担当」を追加する流れを説明します。
手順0:試用環境を作る
改造は、普段使うデータとは別のフォルダで試します。リポジトリをもう一つ別の場所に取得し、そこで改造してください。ローカル版のデータは data/ に保存されるため、フォルダを分ければデータも分かれます。取得方法はMOAIをWindowsに入れる手順にあります。
手順1:エージェント定義を書く
claude-code/agents/ に、たとえば moai-newsletter-writer.md を作ります。最低限、次の内容を入れます。
- 先頭ブロック(
name、description、tools、model) - 役割の一文(「あなたはメルマガ担当です」)
- やること(箇条書きで、順番がわかるように)
- 守ること(体験談を書かない、数字には出典、など)
- 出力の形(件名の案を3つ、本文、末尾の確認事項など)
守ることの欄には、設定の書き方で説明した運用ルールと同じ方針を入れておくと、担当ごとのぶれを防げます。特に、実体験の捏造や架空の人物の作成を禁じる一文は、文章を書く担当には必ず入れたいところです。
手順2:Claude Codeに読ませる
作った定義ファイルを、Claude Codeのエージェントフォルダにコピーします。Windowsでは、同梱のエージェントと同じ方法です。
xcopy /E /I claude-code\agents "%USERPROFILE%\.claude\agents"
macOSやLinuxでは cp -r claude-code/agents/* ~/.claude/agents/ です。コピーしたあと、担当が呼ばれない場合は、フォルダにファイルが入っているかを最初に確認します。
手順3:画面にも担当を足す(任意)
docs/seed.js の agents.items に、同じ形で1件足します。既存の担当を参考に、id、name、role、avatar、desc、backend、outputs、enabled を揃えます。
{
id: 'ag_newsletter', name: 'メルマガ担当', role: 'writing', avatar: '✉️',
desc: '承認済みの記事から、メルマガの件名案と本文を作る',
backend: { type: 'agent', target: 'moai-newsletter-writer' },
outputs: ['件名案', 'メルマガ本文'], enabled: true,
}
ここで、seed.js は「初期データ」であることに注意してください。READMEには「docs/seed.js を書き換えると初期データを変えられます」とあります。すでに運用中のデータに対して、seed.js の変更がどう反映されるかは、READMEには書かれていません。そのため、運用中のデータに入れるのではなく、まず新しい試用環境で、担当が表示されることを確認してください。data/*.json を手で書き換えると壊れやすいので、おすすめしません。
画面を触らず、「おまかせ」で使う方法
画面の担当を増やさなくても、新しい担当を使う方法があります。「指示する」で担当を「おまかせ」にして積むと、Claude Codeが指示の内容から担当を選びます。description に「メルマガ」「件名」といった言葉を入れておけば、そうした依頼のときに、新しい担当が選ばれる見込みが高まります。
この方法の利点は、画面側のコードを触らずに済むことです。欠点は、どの担当が呼ばれたかが画面の担当欄に出ないことと、選ばれ方がClaude Codeの判断に左右されることです。確実に呼びたい場合は、指示文に担当の名前を明記します。
どんな担当を足すと役に立つか
担当を増やす前に、まず既存の8人で足りないかを考えてください。担当が多いほど、使い分けの手間と、確認する量が増えます。足す価値があるのは、同じ種類の依頼を何度も繰り返す場面です。
| 追加の候補 | 向いている場面 | tools の絞り方の例 |
|---|---|---|
| 校正・ファクトチェック担当 | 公開前に、数字・固有名詞・断定表現を洗い出したい | 読み取りと検索のみ(本文を書き換えさせない) |
| メルマガ担当 | 記事からメルマガの件名・本文を派生させたい | 読み書きのみ |
| FAQ作成担当 | 問い合わせの傾向からFAQの下書きを作りたい | 読み書きのみ |
| 週次レビュー担当 | 実績の数字と、承認履歴をまとめたい | 読み取りとnodeコマンド |
校正の担当のように「確認だけをして、書き換えない」役割は、tools から書き込み系を外しておくと、権限の面でも安全です。AIに任せる範囲の考え方は、AIエージェントに任せてはいけないマーケティング業務が参考になります。
やってはいけない改造
- 承認の仕組みを外す:承認されていないタスクを勝手に公開しない、というルールは、MOAIの根幹です。担当を足しても、公開の判断は人に残してください
- tools を広く許可しすぎる:調べるだけの担当に、外部へ投稿できるツールまで許可しない
- 公開リポジトリに個人のデータを入れる:自分用に改造したものをフォーク(コピー)して公開する場合、
data/(自分のデータ)や、機密に当たる内容を含めない。data/はリポジトリの管理対象外に設定されている
改造を共有する
MOAIはMITライセンスなので、改造したものを自分のリポジトリで公開することも、再配布することもできます。ライセンスの全文はリポジトリの LICENSE にあります。改良点を共有したい場合は、GitHubの機能(フォークや、改善の提案)を使うのが一般的です。
よくある質問
Q. 画面から担当を追加できますか
現状の画面には、担当を追加する機能はありません。claude-code/agents/ にエージェント定義を足し、必要なら docs/seed.js に表示用の定義を足す形になります。
Q. 担当を足しても呼ばれないときは、どこを見ますか
まず、定義ファイルが ~/.claude/agents/(Windowsでは %USERPROFILE%\.claude\agents)に入っているかを確認します。次に、先頭ブロックの書式、特に description にコロンがある場合のダブルクォートを確認します。
Q. 同梱の8人を削除したり、名前を変えたりしていいですか
MITライセンスの範囲で自由に変更できます。ただし、割り当て先の名前(target)と定義ファイルの name が一致していないと、担当が呼ばれません。名前を変えるときは両方を揃えてください。
Q. 他のAI(ChatGPTなど)でも担当を増やせますか
エージェント定義はClaude Codeのサブエージェントの仕組みを使うため、自動実行はClaude Code前提です。ブラウザ版では、指示をコピーして貼る運用になるため、担当ごとの定義ファイルは働きません。担当名を依頼文に書き添える形になります。
Q. 担当が多いと、費用が増えますか
担当の数自体に費用はかかりません。ただし、実行のたびにAIの利用量は増えるため、使うAIサービスの料金体系に従って費用が増えることがあります。費用の考え方はAIマーケティングを無料で始める本当の費用で整理しています。
まずは8人のまま動かして、足りないところを見つける
最初から担当を増やすより、同梱の8人で一度運用を回し、足りない役割を見つけてから足すほうが、無駄がありません。ブラウザ版で流れを確認できます。
改造したい人は、GitHubリポジトリから取得できます。依存パッケージはありません。役に立ったらスターを付けてもらえると、開発の励みになります。無料で足りるかの判断に迷う人は、判断基準4つの記事から読んでください。