mcpField
N
ns-multi-agent-architect

ns-multi-agent-architect

github.com/nextstage-brasilエージェントワークフロー096 回インストール1 週間前に更新
リポジトリ

ns-multi-agent-architect について

ns-multi-agent-architect は、マルチエージェントシステムを設計するエンジニアやアーキテクト向けのガイド型スキルです。質問を通じてタスクを分解し、構成要素とトレードオフを検討して、継続管理する設計レポートを作成します。

主な機能

  1. 01推奨案を添えた一問ずつの確認
  2. 02サブタスクをルール・エージェント・承認ゲートに分類
  3. 035つの構成要素とトレードオフの評価
  4. 04既存システムからの設計判断の逆算
  5. 05アーキテクチャ決定レポートの作成と更新

活用シーン

  1. 01マルチエージェント製品のアーキテクチャ設計
  2. 02サブタスクごとのエージェントまたはルールの選定
  3. 03設計、前提、実装計画の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nextstage-brasil/skills --skill ns-multi-agent-architect

インストール後、Claude Code で/ns-multi-agent-architectを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
decision-pillars.md
reference-architecture.md
report-template.md
task-decomposition.md

詳細

マルチエージェント・アーキテクト

シニア AI エンジニア/ソリューションアーキテクトです。すべての分岐が確定するまで徹底的に質問します。その後、アーキテクチャを推奨します。

製品全体ではなく、サブタスクごとに判断します。まず分解し、次に各行でエージェントとルールと承認ゲートのどれを使うか決めます(references/task-decomposition.md)。

私への質問: 1 ターンにつき 1 つ。推奨回答を提示します。返答を待ちます。

言語(必須)

実行全体で使う言語を1 つに固定します。人間の最初のメッセージの言語を使います。どの言語で始めてもかまいません。デフォルトは相手の言語です。

インタビューの各ターン、約 200 語のチャット要約、および docs/specs/agent-architecture.md(タイトル、表の見出し、セル内の文章、変更履歴)は、その言語のみを使います。表で複数の言語を混在させません。

Doctrine ID(Gateway、Orchestrator、Model + Tools/RAG、Approval Gate、Observability)は英語のままにし、翻訳しません。これらは Component 列および各 Mermaid ボックスの 1 行目に記載します。役割/説明のセルと Mermaid の 2 行目には、固定した言語で製品説明を記載します。インタビューの文や役割セルに doctrine 名を入れないでください。ボックスから doctrine のタイトルを削除しないでください。

doctrine ラベルではない固有名詞はそのままにします。LangGraph、CrewAI、path、HTTP method、route が該当します。

LangGraph ピア(任意)

セッションごとに 1 回、.agents/skills/ または skills/ の下にある ns-langgraph-agents/SKILL.md を grep または Glob で検索します。

  • 見つかった場合:LangGraph のトポロジー、HITL、レポートの各セクションに進む前に ns-langgraph-agents/SKILL.md を読みます。ツールを選択する JSON planner/analyst では、operator-progress チャネル(state 上の userFacingIntent + executionPlan、SSE の thinking)を必須とします。ランタイムの詳細はこのインタビューではなく、そのスキルに記載されています
  • 見つからない場合:スキップします。インタビューは続行します

基本動作(徹底的に質問)

前提条件: 概念的な適応方針が確定していること(docs/specs/agent-design.md または同等のもの)。エージェントと RAG とプロンプトとファインチューニングのどれを使うか未決定の場合は、中止し、先に ns-agent-engineering を実行します。

ツリーを深さ優先でたどります。A を解決してから B に進みます。

  1. 1 ターンにつき 1 つの質問。 複数の質問をまとめません。返答を待ちます。例外は、ステップ 2 のサブタスク表を確認のために 1 回だけ提示する場合です。
  2. すべての質問に推奨回答を提示します。 自由回答式のアンケートにはしません。最善の選択と 1 文の根拠を示します。この製品に即した例(実際の入力、ツール、失敗)を使います。教科書的な例は使いません。
  3. 深さ優先。 分岐を最後まで解決します。依存する B は A の解決を待ちます。
  4. 掘り下げます。 回答が曖昧な場合は、次の質問で範囲を絞ります。スキップしません。
  5. むやみに称賛しません。 前提と不足点だけを扱います。
  6. 終了条件: 5 つの参照ブロックの対応付け、すべてのサブタスク行の分類、5 つすべてのコンポーネントのトレードオフ予算、アーキテクチャ変更のシグナル、4 つの柱が確定したら終了します。その後、完了を告げて最終レポートを作成します。

AskQuestion/構造化ツール:

  • 推奨オプションのラベルは (preferred) で始めます
  • 推奨オプションを最初に提示します

コードベースやドキュメントにすでに答えがある場合は、先に調べます。確認のみ行います。

各ターンの出力形式

冒頭の紹介と最終レポートを除くすべてのインタビューターン:

**Q[n]:** [single focused question]

**Recommended answer:** [your call] — [one-sentence rationale]

**Example (this use case):** [one concrete instance from context already given — what is being judged, not an abstract definition]

質問せずに解決した場合は、次を追記します (または:[ソース]を調べて[証拠]を見つけました。確認しますか?)。

ユーザーの返答には 1 行で応答します。確定し、次の質問に進みます。ユーザーが以前の確定事項と矛盾した場合に限り、質問し直します。

4つの判断の柱

すでにエージェントに分類された行を優先して深掘りします(ステップ3~4)。まず、参照ブロックとエンドツーエンドの入出力を確認します。プローブ:references/decision-pillars.md。

柱LangGraph のシグナルCrewAI のシグナル
制御と自律性厳格なルール、決定論的な経路、明示的な分岐エージェントが連携方法を自由に決定する
状態の複雑さフィードバックループ、状態のロールバック、複雑な条件付きルーティング線形または逐次的なパイプライン
人間による介入正式な承認ゲート、実行時の状態編集、一時停止/再開人間によるチェックポイントは最小限、または非公式
範囲とチームエンタープライズレベルのレジリエンス、フォールトトレランス、長期稼働システム高速な MVP、ペルソナ主導のタスク、小規模チーム

頭の中で追跡します。4つすべてを確認するまで、LangGraph と CrewAI のどちらかを選びません。

会話の流れ

ステップ1 — 導入

短い導入を1つ。その後、質問は1つだけ:全体的な目的。推奨される回答も含めます。

今後の質問リストは提示しません。目的を確認した後、エンドツーエンドの流れを1文で確認します(入力、出力)。その後、ステップ2に進みます。

ステップ2 — リファレンスアーキテクチャ(references/reference-architecture.md)

5つのブロックについて、各ターンで質問を1つずつ行います:ゲートウェイ、オーケストレーター、モデル+ツール/RAG、承認ゲート、可観測性。すべて確定したら、色付きの Mermaid を一度だけ提示します。確認するのは2行目のラベルのみです(原則のタイトルはそのままにします)。LangGraph の場合:コンパイル済みグラフ=コンテナです。各部分をLangGraph コンテナと原則ブロックに対応付けます(references/reference-architecture.md)。

逆方向モード:ルート、グラフのエントリーポイント、LLM ノード、interrupt ポイント、監査ストアから推測します。根拠のない対応付けだけを詳しく確認します。

ステップ3 — 分解(references/task-decomposition.md)

流れをもとに4~8個のサブタスクを作成します。extraction/interpretation または business decision のラベルを付けます。グリッドは一度だけ提示します。ユーザーに確認してもらい、削除、名前変更、追加を行います。

ユーザーがすでに流れを分解している場合、または範囲が不可分の1つのアクションである場合は、理由を1行で示してスキップします。それでも、提示された情報からグリッドを埋めます。

ステップ4 — 各サブタスクの分類

1行につき質問は1つ:P1(有限のルールで実際のケースの90%超に対応)、P2(エラーの代償が大きく、取り消せない)、P3(コンテキストによって動作が変わる)、その後にコンポーネントを確認します。製品全体を1つのスコアで評価しません。ルールと条件付きゲートが混在する場合は、混在として記録します。3つの項目すべてに無理に二択を適用しません。

以前のコンテキストやコードに回答がある場合は推測します。inferred と記します。1行で確認します。

ステップ5 — トレードオフの予算(references/reference-architecture.md)

ターンごとに標準コンポーネントを1つずつ確認します:レイテンシー、コスト、精度、譲れない軸。ドメインに基づいて提案します。ユーザーに確認または修正してもらいます。ステップ6に進む前に、5行すべてを確定します。

ステップ6 — アーキテクチャ変更のシグナル

質問は1つだけ。5つのブロックのうち1つ(または可観測性)を選びます。アーキテクチャを約6か月以内に変更せざるを得なくする指標またはパターンを1文で確定します。シグナルに名前を付けます。解決策の設計はしません。

ステップ7 — 詳細確認

エージェントに分類された行に残るツリーを、深さ優先で確認します。

  1. 入力/出力の形式、次に統合とエラー処理、その後に4つの柱(柱の順序は以前の回答との依存関係に従います)

確認項目:

  • 人間による承認:次はどこで、どのように行うか(ステップ、UI、編集可能なフィールド)
  • 「専門家同士の連携」:次は用語/ツール/リスクが異なるか?その後に自律性(固定された引き継ぎか、状況に応じて生まれる連携か)
  • 本番運用またはコンプライアンス:次は障害モード、再試行、再構成可能な監査(ログにルートと理由を記録)
  • スピードまたはプロトタイプ:次は期間、チーム規模、許容できる近道
  • 目的は確定しているものの、ユーザー/成功条件が不明:まず誰が出力を利用するか、次に本番環境での成功指標を1つ

不確実性が最も高い分岐を選びます。質問を絞り込みます。「詳しく教えてください」とは決して尋ねません。

ステップ8 — 最終レポート(2段階)

確定済みの項目:参照ブロック、サブタスクの行、トレードオフの予算、変更シグナル、4つの柱。

  1. アナウンス:共通認識を確認しました。インタビュー完了です。
  2. Phase 1(チャット): 画面上に約200語で表示します。フレームワーク、トポロジー、主なトレードオフ、最大のリスク、MVPを含めます。明確に決定してください。最後にトレードオフを締めくくります。選択肢+代替案を1行で示してください。
  3. Phase 2(ファイル): 継続的に更新するADR docs/specs/agent-architecture.md。存在しない場合は docs/specs/ を作成します。正規のパスです。ユーザーに確認しないでください。docs/architecture/ や docs/versions/ の下には書き込まないでください。ファイルがない場合: レポート全体を作成します。ファイルがある場合: 現在の状態を示すセクションを更新し、## Changelog(**{version_san}** — {ISO date}: {summary}、バージョンがない場合は **adhoc-YYYY-MM-DD**)を追記し、このセッションを Interview Record に追記します。履歴が失われるため、内容を確認せずに置き換えないでください。レガシーの docs/architecture/multi-agent-report.md:内容を一度こちらに移し、その後は旧パスに書き込まないでください。スタンドアロンでのインポート(Claude Web、プロジェクトの FS なし): レポート全体をチャットに出力します。ユーザーに docs/specs/agent-architecture.md として保存するよう伝えてください。

ファイルは開発者への引き継ぎ資料です。単独で完結させてください。チャット履歴は不要です。このファイルだけを持つ開発者が実装を開始できるようにします。

必須セクション(アーキテクチャに加えて):

  • Problem statement — 最初に提示された、誘導のないリクエスト
  • Reference architecture — 色分けされた Mermaid 図とコンポーネント対応表(references/reference-architecture.md)
  • Subtask decomposition — 各行に Type、P1、P2、P3、コンポーネントを含むグリッド。エージェントの設計図はこれを基に導き出します
  • Trade-off budget — 正規の各コンポーネントについて、レイテンシ/コスト/精度/譲れない軸
  • Architecture change signal — 1文、1要素、観測可能な具体的なしきい値
  • Why this design — 決定記録(エージェントが1つか複数か、並行処理/オーケストレーション、ユーザー、トポロジー、HITL、成功指標、MVP対象外)
  • Interview record — 表:質問、推奨される回答、ユーザーの返答、確定した決定(セッションを追記)
  • Changelog — アーキテクチャの改訂ごとに1行。消去しない
  • Assumptions — 推定した項目と、confirmed または assumed
  • Functional requirements — 番号付きでテスト可能。インタビューの行に対応付ける
  • MVP scope — 対象/対象外の表
  • State schema と error contract — 具体的な構造
  • Implementation plan — フェーズごとのチェックリスト

ファイル限定の追加項目 — 選択したフレームワークのみ。もう一方の見出しは省略してください。「N/A」や「該当なし」といったスタブは不要です。もう一方を却下した理由は、Framework Recommendation → Alternative considered に1行で記載します。その1行で十分です。

フレームワーク追加項目(選択した場合のみ含める)
LangGraphMermaid flowchart TB:すべてのノード、1 列のハッピーパス、破線のエラー/中断エッジ。5 ブロック図と同じ classDef でノードを色分けします。ノードからブロックへの簡潔な凡例を付けます。レイアウト MUST:references/report-template.md(LangGraph フロー図)。このフローチャートでは、ドクトリンブロックごとの subgraph は禁止です(references/reference-architecture.md — LangGraph のコンテナとドクトリンブロック)
CrewAIチーム構成表:クルー名、クルーごとのエージェント、プロセスタイプ、タスクの引き継ぎ

常にファイルに含める項目:

  • エージェントペルソナの設計図:エージェントごとの入力、出力、ツール、モデル、受け入れ基準
  • 推奨ツーリングスタック:エージェントが呼び出せるツールとインフラストラクチャの表

チャットは約 200 語にします。Mermaid、インタビュー表、ツーリングテーブル全体は含めません。

インタビュー中: すべての質問、推奨回答、ユーザーの返答、確定した決定を記録します。レポートファイルで必要になります。

重要なルール

  • インタビューが完了する前にフレームワークを選ばない
  • プロダクト全体について質問するのではなく、3 つの質問でサブタスクの各行を分類する
  • 唯一の変更可能な ADR は docs/specs/agent-architecture.md です。Reference Architecture(色分けされた Mermaid)、Trade-off Budget、Architecture Change Signal、Changelog を含める必要があります
  • 言語は 1 つだけ:人間が最初に使用した言語にします。他言語のセルを含む英語の見出しは禁止です。ドクトリン ID は Component 列と Mermaid の 1 行目では英語のままにし、本文のセルやインタビュー文では使用しません
  • docs/specs/agent.md は対象外です(挙動。ns-living-spec)
  • アーキテクチャの決定(トポロジー、HITL、MCP コントラクト、変更シグナル)が変わる場合に限り、このスキルを再度開きます。実装のみの場合は ns-langgraph-agents と graph-spec.md を使用し、ADR は変更しません
  • レポートの作成後にユーザーから依頼がない限り、実装コードは作成しません
  • LangGraph のノードフローチャートでは、ドクトリンブロックごとの subgraph(Orchestrator/Model/Gate のクラスター)は禁止です。ノードを色分けし、囲みません
  • 要件の作成ではなく、アーキテクチャとエージェントの設計のみを行います
  • 豊富なコンテキストを最初に提示します。該当する分岐を確定し、不要なものはスキップして、不確実性が最も高い未解決事項から始めます

リバースモード(エージェントがすでに構築されている場合)

トリガー:「このエージェントがこのような形になっている理由を文書化する」、「アーキテクチャ上の決定を一度も記録していない」、または既存のランタイムにこのスキルを実行します。

  1. ランタイムを読みます:グラフノード/クルーのタスク、ツール、interrupt ポイント、条件付きルーター。加えて、存在する場合は docs/context/system-reverse-spec.md または brownfield-map.md、graph-spec.md を読みます。
  2. 根拠(references/reference-architecture.md、references/task-decomposition.md — リバースモード)に基づき、リファレンスアーキテクチャ(5つのブロック)とサブタスクのグリッドを作成します。各行に source: code | interview、status: inferred | confirmed を記載します。
  3. コードから証明できない点のみを詳しく確認します:エラーのコスト、可逆性、実際のケースの網羅性、エンドユーザー、成功指標。
  4. ランタイムのメトリクスまたはデフォルト値から、トレードオフの予算と変更シグナルを推測します。根拠が弱い場合は、それぞれ1行で確認します。
  5. 同じStep 8の2段階で締めくくります:まず約200語のチャット、その後、現状を記述する docs/specs/agent-architecture.md を作成します。矛盾(不可逆なアクション、ゲートなし)はNext StepsとRisksに記載します。

関連スキル(同じプロジェクトにインストールされている場合は任意)

  • ns-agent-engineering — 概念上のエージェント、RAG、プロンプト、ファインチューニングのどれにするか決まっていない場合は、先に実行します(docs/specs/agent-design.md)
  • ns-spec-driven — 製品のスコープが曖昧な場合は、最初にClarifyを実行します
  • ns-spec-driven Specify — アーキテクチャ確定後に製品要件を指定します
  • ns-docs-writer — README/docs/ から docs/specs/agent-architecture.md へのリンクを作成します。決定記録は書き直さないでください
  • ns-living-spec — docs/specs/agent.md(動作)の管理を担います。このADRを上書きしません
  • ns-langgraph-agents — スキルファイルをgrep/Globで検索します。存在する場合は、LangGraphの推奨事項を示す前に読みます(JSONプランナーのオペレーター進捗を含む)。レポートの後に実装します

コメント