mcpField
E
education-cloud-student-recruitment-agent-configure

education-cloud-student-recruitment-agent-configure

github.com/forcedotcomエージェントワークフロー1.1k128 回インストール1 日前に更新
リポジトリ

education-cloud-student-recruitment-agent-configure について

Salesforce Education Cloud の Student Recruitment Agent を設定するスキルです。前提条件の確認、グラウンディング、エージェント、サブエージェント、フロー、チャネルの構成を、各段階で確認しながら順に進めます。

主な機能

  1. 01ライセンスと Education Cloud の前提確認
  2. 02権限と共有設定
  3. 03Knowledge と Data Cloud のグラウンディング
  4. 04Service と Employee エージェントの作成
  5. 05パッケージ済み・カスタムサブエージェントの追加
  6. 06入学関連フローとチャネルの構成

活用シーン

  1. 01Student Recruitment Agent 用の組織準備
  2. 02Service、Employee、または両方の経路の設定
  3. 03Knowledge と Learning Program データによるグラウンディング

MCP 対応

組織操作にはヘッドレス MCP dispatch を利用でき、失敗時は Salesforce CLI、さらに Setup UI を代替経路として使います。

インストール

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill education-cloud-student-recruitment-agent-configure

インストール後、Claude Code で/education-cloud-student-recruitment-agent-configureを入力して読み込まれたか確認します。

同梱ファイル

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

references/
agent-and-subagents.md
customer-narration.md
execution-model.md
flows.md
grounding.md
permissions.md
platform-enablement.md
prerequisites.md
routing.md

詳細

Education Cloud Student Recruitment Agent の設定

対象範囲

  • 対象範囲内:SRA のセットアップ手順全体 — 3 つのプラットフォーム切り替え項目(Einstein、SRA、Omni-Channel。Agentforce のプロビジョニングは Step 1 の確認のみのゲートであり、このスキルで切り替える項目ではありません)、EducationCloudAiAgentAccess 権限セットと OWD/共有の基盤、Learning Program のグラウンディング(Data Cloud データストリーム+ハイブリッド検索インデックス+プロンプトテンプレート)と Knowledge/データライブラリのグラウンディング、Service(未認証)エージェントと Employee(認証済み)エージェントの作成、パッケージ済み SRA サブエージェント 4 つの追加、顧客エスカレーション用サブエージェントの構築、入学関連フロー 6 つの複製と設定(Service パス)、およびユーザー確認を伴う Experience Cloud チャネルへのデプロイ。
  • 対象範囲外:Transfer Credit Agent(個別のエージェントで、独自の権限とヘルプがあるため、その手順は含めないでください)、ゼロからの汎用 Agentforce エージェント作成(下記の「スキル間の連携」を参照)、SRA のグラウンディング経路以外の Data Cloud コネクターの配線、Knowledge 記事の内容の決定 — Claude が顧客による確認用の記事を下書きすることはできますが、記載内容の責任は顧客にあります。
  • EDU 基盤は確認対象の依存関係であり、前提ではありません:SRA は基本的な Education Cloud の有効化、Person Accounts、R&A ドメインオブジェクト、Data Cloud に依存します。このスキルでは education-cloud-domain-configure を再実装せず、各要素を具体的に確認し(ステップ 2a)、検出した不足を補う場合にのみ同スキルへ誘導します。

必須入力

開始前に、次の情報を収集するか推定してください。

  • 対象組織:Agentforce と Education Cloud がプロビジョニング済みで、管理者アクセス権がある組織 — ゲートについてはワークフローのステップ 1 を参照してください。
  • エージェントのパス:未認証(Service エージェント — ASA。Einstein Agent User サービスアカウントとして実行され、ゲストユーザーは使用しません)、認証済み(Employee エージェント)、または両方。
  • 顧客が有効化を希望するサブエージェント/トピック(デフォルト:パッケージ済みサブエージェント 4 つすべてとカスタムのエスカレーション用サブエージェント)。
  • エスカレーション用サブエージェントに Create Inquiry を追加するかどうか(ライブエージェントへの引き継ぎ時に、ケースに関連するレコードを作成)— 指定がない場合は確認してください。選択肢は、引き継ぎのみ、または引き継ぎと Create Inquiry の両方です。

指定がない場合のデフォルト:

  • 組織に Service と Employee の両方の Agentforce ライセンスがある場合は、両方のエージェントパスを設定します。それ以外の場合は、未認証/Service パスのみを設定します。
  • 確認方法:会話形式で、一度に 1 ステップずつ進めます — 決して自律的に実行しません。下記の「ユーザーとのやり取り」を参照してください。

このスキルの実行方法 — 最初にお読みください

ステップ 0 で組織の現在の API バージョンを解決し、ステップ 1 で前提条件を厳格に確認します — ほかの操作に着手する前に、両方を完了してください。 以降はステップ 0~13 を順番に進めます。元に戻せない操作や組織の構成に影響する操作の前には必ず確認を取り、各ステップの最後に検証呼び出しを実行してください。(下記の「ユーザーとのやり取り」を参照してください。)

組織を変更するすべてのステップでは、3 段階の手順を順に試してから検証します — 段階とは、利用可能なランタイムを指します: T1 ヘッドレス MCP(dispatch/dispatch_readonly、シェル不要) · T2 sf CLI(シェルが必要) · T3 Setup UI。まず T1 を試し、ルートまたは許可リストに関するエラーが発生した場合は T2 に移行し、シェルがない場合は T3 に移行します。各ステップには最適な段階を示すタグが付いています。検証のみの事前確認(ステップ 1)では、代わりに STOP/REDIRECT のラベルを使用します。段階やルートが不明な場合は、references/execution-model.md に記載された段階的な手順、許可リスト、ルートのシグナル、クエリのルーティング、API バージョンのポリシーを参照してください。

一部のステップでは、T1/T2 の書き込み経路がなく、T3 でのみ実施します(ユーザーに Setup の手順を案内してから検証します)— 該当箇所には、ステップ 8、9a、12 の [T3 · ...] のようにインラインでタグが付いています。それ以外の操作にはすべて T1 の経路があります。


ユーザーへの説明 — 顧客向けの案内(必須)

実行のたびに必須:顧客への最初のメッセージを送る前に、references/customer-narration.md を最後まで読んでください。これは背景情報ではなく、セッション全体を通じて各ステップの区切りで従う正確な表現ルールです。 要点は次のとおりです。ステップ番号、ティアタグ(T1/T2/T3)、「gate」「the spine」「per the doc」などの語句は、内部の作成用の補助情報です。このスキルファイルの存在を知らない顧客には決して伝えないでください。各ステップの区切りでは、内部ラベルではなく、平易な言葉で結果を最初に伝えてください。手動(UI)での引き継ぎを依頼する場合は、顧客に操作を依頼するメッセージ内で、具体的な詳細をすべて伝えてください。また、どんなに小さな操作でも、作成/更新/削除の前には、その操作の内容と理由を平易な言葉で説明し、明示的な承認を待ってください。返答がない場合に進めてはいけません。また、複数の操作をまとめて承認を求めてはいけません。references/customer-narration.md には正確な表現の一覧と、良い例/悪い例が記載されています。今すぐ読んでください。


ワークフロー

すべてのステップを順番に実行します。各ステップでは、1つの操作、その操作に最適なティア、正確な呼び出し方、API 名、注意点が記載された参照先を示します。ステップを実行する前に、その参照先を読んでください。取り消せない操作の前には確認を取り、各ステップの最後に検証用の呼び出しを実行してください。

0 — 組織の現在の API バージョンを解決する

最初に実行してください。ステップ 1 の前、および実行中のほかのすべての呼び出しの前に行います。以下の各ステップと参照ファイルで使用するすべての vXX は、この解決結果に基づきます。記憶しているバージョンやハードコードされたバージョンに置き換えてはいけません。 重要:このセッションで複数の Salesforce 接続を使用できる場合、この呼び出しで使用した接続を、実行中は組織の接続として固定してください。コンテキストが圧縮された後も同様です。 要約によって、どの接続が有効だったかが分からなくなることがあります。そのため、途中で別の接続に切り替わらないようにしてください。

  1. 現在の API バージョンを解決する [T1] — この実行で固定する組織の接続で dispatch_readonly({"url": "/services/data/", "method": "GET"}) を実行し、返された配列から最も大きい数値の version を取得します。その値をそのまま使用し、同じ接続で、この実行中のすべての vXX 呼び出しに再利用してください。古いバージョンやハードコードされたバージョンを使うと、スキーマカタログの読み取りで実在するエンティティや機能が見つからず、「組織には存在しない」と誤って判断することがあります。詳しい理由と、サーフェスごとの最低バージョンの例外については、references/execution-model.md を参照してください。
1 — 前提条件とゲートを確認する

ステップ 1 は必須のゲートです。有効化や構築を始める前に、必ず条件を満たしてください。 STOP チェック(スキルでは変更できない外部付与の権限)または REDIRECT チェック(このスキルの管理対象外である基盤)が失敗した場合、切り替えや基盤構築を開始してはいけません。停止して権限の付与を依頼するか、education-cloud-domain-configure に引き継いでから、再度検証してください。また、顧客に何か伝える前に、今すぐ次の点も確認してください。今回の実行で references/customer-narration.md を最後まで読んでいること(上記の「ユーザーへの説明」を参照)。このゲートは、それを確認するまでクリアされません。 存在できないエージェントのために、権限/OWD/グラウンディングを構築してはいけません。事前確認ゲートの一覧と各検証用呼び出しについては、references/prerequisites.md を参照してください。

  1. エディションと Einstein for EDU ライセンスを確認します。 どちらも STOP チェックです。いずれかが不足している場合は停止してください。(Agentforce のプロビジョニングは項目 2、Data Cloud は項目 2a で確認します。)
  2. SRA の 3 つのゲートを検証します — Agentforce のプロビジョニング、Education Cloud の有効化、ランタイムでの orgHasStudentRecruitmentAgentBetaAccess チェックです(3 つすべてが必要です。正確な構成と各項目の検証方法は references/prerequisites.md を参照してください)。プロビジョニング、ライセンス、または Gater が不足している場合は停止してください。
    • 2a — EDU 基盤を確認します(education-cloud-domain-configure が実行済みだと決めつけないでください):EDU の有効化、Person Accounts、R&A ドメインスキーマ、Data Cloud を確認します。最初の 3 項目は education-cloud-domain-configure に引き継ぎ、完了後に再検証してください。Data Cloud は Home-Org の権限付与が必要なため、停止してください。引き継ぎはしないでください。
2 — プラットフォームの切り替えを有効にする
  1. 3つのプラットフォーム切り替えを有効にします [T1] — それぞれ書き込み先が異なります。Einstein Setup(EinsteinGPTPlatformEnabled)、RecruitmentAgentEnabled、Omni-Channel(OmniChannelSettings — チャネルのデプロイに必須)。→ references/platform-enablement.md
3 — 権限と共有の基盤を整える

→ references/permissions.md

  1. ペルソナの権限セットを複製して設定し、ビルダーのペルソナを割り当てます [T1] — OOTB の EducationCloudAiAgentAccess は空のシェルなので、複製してオブジェクト/項目のマトリックスをカスタマイズします(トピックごとではなく、必ず複製したものを割り当ててください)。複製する前に、実行ユーザーに管理者/ビルダーのペルソナを割り当ててください — マトリックスの構築に必要な EDU 項目の参照権限が付与されます。認証/従業員のパスのみ: コミュニティのペルソナ用に EducationCloudExprcCloudAccess も複製して設定します(フローの実行+オブジェクト設定)。Einstein ユーザーの割り当てはエージェントに依存します — Claude がそのユーザーを作成し、ステップ 9 で割り当てます。コミュニティユーザーの割り当て(およびエージェントアクセスの有効化)も同様にエージェントに依存します → ステップ 10。
  2. 入学関連の6つのオブジェクトのOWDを「Public Read Only」に設定します [T1 · UI 例外が1つ]。
  3. トピック固有の準備を行います — 5つのブロック [T1 · UI 例外が2つ]:Campaign の「Recruitment Event」ピックリスト値と「Campus Tours」共有ルール、Individual Application レコードタイプとその ApplicationRecordTypeConfig、およびレコードタイプからプロファイルへの参照権限です。
4 — グラウンディング(独立した2つの仕組み)

→ references/grounding.md

  1. Knowledge グラウンディングを設定します [T1 · 記事の作成は人が行います] — まず既存の Knowledge 記事を確認し、何かを作成する前に必ず顧客に確認してください(自動作成はしないでください — references/grounding.md の 7a を参照)。その後、Knowledge をソースとするデータライブラリを作成します。エージェントへの関連付けはステップ 9 で行います(最上位の AFScript フィールドで、同じドラフト限定パスに組み込まれています — エージェントが確定されるまで待つ必要はありません)。ライブラリの作成自体にエージェントは必要ありません。関連付け後は、新しく公開された記事が自動的に取り込まれます — 記事ごとに再関連付けする必要はありません。
  2. Data Cloud グラウンディングを接続します — グラウンディング対象の3つのオブジェクトと、検索インデックス/リトリーバーの2つのビルド(Learning Program、Academic Term は PTAT ビルドを共有)[T1 データスパイン · T3 インデックス/リトリーバー/プロンプトのビルド]。
5 — エージェント、サブエージェント、フロー
  1. エージェントを作成する — ヘッドレス、ドラフトのみ [T1] — 実際のベーステンプレート(Service:「Agentforce Service Agent」、Employee:「Agentforce Employee Agent」)を取得し、まとめて次の処理を行います。NEW_AGENT_USER を解決するために、ASA の Einstein Agent User を作成して完全な権限/ライセンスの同等性を付与する(ASA のみ)。デフォルトの 7 つのトピックと、デフォルトの Escalation トピックを削除する(ASA のみ)。引き継ぎ専用の Escalation サブエージェントを作成する(両方のパス — まだ Create Inquiry は追加しない)。手順 7 のナレッジライブラリを接続する(両方のパス)。compile までで停止し、publish は実行しないでください。UI での代替手段は T3 で利用できます。→ references/agent-and-subagents.md
    • ストリームのプロビジョニング中に手順 8 の Data Cloud データ基盤を延期した場合は、ここで状況を再確認してください。 まだプロビジョニング中であれば、以降の各手順(9a、10、11、12)の終了時に再確認してください。手順 13 の最終検証の前に、T3 のインデックス/リトリーバー/プロンプトテンプレートの構築も含め、完了している必要があります。references/grounding.md の Mechanism 2、手順 3 を参照してください。
    • 9a — お客様による Builder セッション [T3 · Asset Library + Builder UI] — ドラフトエージェントを開き、次の操作を行います。正しいアクションの source/target が設定されるよう、Asset Library からパッケージ済みの SRA サブエージェント 4 つ(Admissions and Enrollments FAQ、Admissions Application、Campus Tours, Visits, and Events Registration、Request for Information)を追加します(手作業で作成することはできません。このリストに TransferCreditEquivalency が含まれていないか注意してください。これは SRA ではなく Transfer Credit Agent のものです)。Create Admissions Application アクションを削除します(機能しません。必ず事前にお客様に確認してください)。Required Inputs の選択に従って、Builder のアクションピッカーから Escalation サブエージェントに Create Inquiry を追加するか、引き継ぎ専用にする場合は追加しません(手順 9 では、入力マッピングを手動で設定するには安全性が確認できていないため、追加していません)。その後、Save、続いて Commit Version を 1 回だけ実行します。手順 9/9a の内容は、それまではクエリできません。→ references/agent-and-subagents.md
  2. AEA/Employee のみ:コミュニティアクセスを有効にする [T1 write] — ASA/Service のみの構築では完全にスキップしてください。ASA のパスでは、ここで行う作業はありません(トピックの整理、エスカレーションの作成、ナレッジ、実行ユーザーへの権限付与はすべて手順 9 で行います)。手順 4 で作成した SRA_Exprc_Cloud_Access のクローンで、Enable Agent Access → AEA エージェントを設定し、既存のコミュニティユーザーをクエリしてから、クローンと関連する PS を割り当てる前に確認を求めます。→ references/agent-and-subagents.md および references/permissions.md
  3. 入学関連フロー 6 つを複製して設定する — 未認証/Service パスのみ [T1]。2 段階で行います。まず第 1 段階のフロー(再利用可能なサブフロー 2 つと、単独フロー 1 つ(依存関係のない GetPlnCampaigns))を複製して有効化し、その後、コンシューマー 3 つを複製して、有効なサブフローのクローンを参照するように付け替えます。Employee エージェントのみを構築する場合は完全にスキップしてください。→ references/flows.md
6 — チャネルにデプロイしてルーティングを設定する

→ references/routing.md

  1. 各エージェントをチャネルにデプロイし、オムニチャネルルーティングを構築する [T1 routing objects · T3 messaging deployment & site] — まず既存の設定を確認します。サイトをまだ持たないエージェントがある場合は、Experience Cloud サイトの作成を先に進めます(このスタックで最も時間がかかる作業です)。プロビジョニング中に、ルーティング設定 → キュー → インバウンドフロー → チャネルの順に構築し、その後サイトに戻ってコンポーネントを追加し、公開します。チャネルごとにエージェントを1つ割り当てるため、サイトは別々に用意します。認証済み/従業員向けの経路: ユーザー認証もインラインで有効にします(チャネルとサイトコンポーネントの2つのチェックボックスです。未認証/サービス向けの経路では、どちらも設定しません)。
  2. 最後に構成を検証する [verify] — 照会可能な一括検証(エージェントが有効、すべてのサブエージェントが存在、フローが有効、チャネルとサイトが稼働中)を実行し、各手順がどの階層に適用されたかをまとめ、手動対応が残っていれば列挙します。ここで終了してください。手動対応を待ってはいけません。 会話のスモークテスト(エージェントにメッセージを送り、サブエージェントの応答、根拠に基づく回答、レコードを作成するアクションを確認する)には、ヘッドレスでは操作できない稼働中のチャネルセッションが必要です。ユーザー自身が実行できる簡潔なチェックリストを渡し、結果をポーリングしないでください。

ルール/制約

制約理由
確認していないロールバックを約束しない元に戻せるかどうかは設定ごとに異なります。references/platform-enablement.md を参照し、切り替える前に警告してください
ナレッジ記事は公開済みで、非公開データを含まないことFAQ アクションは公開されます。下書きの記事では、エージェントは「情報がありません」と回答します
作成/更新/削除を行う前に、必ず確認を取ってください。各手順を実行し、自分で検証してください。このワークフローの一部を別のヘルパープロセスに委任してはいけませんユーザーとの対話 を参照してください。確認の手順は、途切れない1つの会話を前提としています。委任されたヘルパーは、独自に顧客へ確認を求める可能性があります。ポーリングは委任ではありません
メタデータパッケージをデプロイまたはプッシュしないでくださいこのスキルは稼働中の組織を設定します。パッケージのデプロイは別のライフサイクルスキルで行います

注意点

問題解決方法
組織で SRA を実行できない(エージェントのエンドポイントが 501 を返す/BotDefinition をクエリできない、または RecruitmentAgentEnabled トグルがない/編集できない)事前チェックで STOP を判定します。Step 9 で行き詰まるのではなく、Step 1 で検出してください。原因は、Agentforce のプロビジョニング、Einstein-for-EDU ライセンス、StudentRecruitmentAgent256 Gater のいずれかの権限付与不足です。どれが不足しているかを特定して申請し、下位ティアで再試行しないでください。references/prerequisites.md を参照してください
メッセージングチャネルをヘッドレスで作成できたが、実行時にエージェントに接続できないチャネルレコードはティア 1 ですが、その背後にある ESD の連鎖処理は UI 専用です。references/routing.md にある UI でのデプロイ手順をお客様に案内してください
クローンしたコンシューマーフローが実行時に失敗するWave-2 のコンシューマーには、クローンだけでなく、サブフローの置き換えと DefaultUserOwnerId の設定が必要です。references/flows.md を参照してください
サブエージェントのアクションターゲットが compile では問題ないのに、publish できないcompile は構文のみをチェックし、どのターゲットもそのまま返します。存在確認を行うのは validate/publish のみです。ターゲットを手動で記述しないでください。Asset Library からサブエージェントを追加し、正しい source/target が挿入されるようにしてください。references/agent-and-subagents.md を参照してください
Create Admissions Application だけが検証に失敗する唯一の api:// アクションであり、組織側では修正できないプラットフォームの問題により、どこでも失敗します。回避策を試すのではなく、手順 9a で削除してください。それ以外のアクションはすべて公開できます。references/agent-and-subagents.md を参照してください
エージェントが「情報がありません」と回答する原因は 2 つあります。(1)ナレッジ記事がまだ Draft になっている場合は公開してください(ティア 1 で API 操作可能です)。(2)データライブラリが関連付けられていない場合は、AFScript の knowledge.rag_feature_config_id が空ではなく ARFPC_<libraryId> になっていることを確認してください。両方を確認してください
EDU オブジェクト(例:Academic Interest)の項目が Object Manager で 0 fields と表示される/手順 4 の項目マトリックス作成で何も見つからない順序の問題です。管理者にビルダー用 EDU アクセスセットがありません。項目マトリックスをクローンする前に、まず Education Cloud Full Access と Einstein for Education Cloud Access を割り当ててください。それまではライセンスによって項目へのアクセスが制限されています。references/permissions.md を参照してください
OWD または ApplicationRecordTypeConfig の確認で、結果が何も返されず 0 行となるAPI 名に関する注意点:OWD の 6 番目のオブジェクトは ProgramTermApplnTimeline(省略形であり、...ApplicationTimeline ではありません)です。権限セットでは PreliminaryApplicationRef を使用します。RecordTypeName には、DeveloperName/Id ではなく、レコードタイプのラベルを指定します。references/permissions.md を参照してください
/headless/metadata が 400 UNSUPPORTED_OPERATION または 500 METADATA_CRUD_ERROR を返す再試行せず、ティア 2/3 に切り替えてください。ただし、許可リストの不足ではなく、誤ったサーフェスの使用や権限不足が原因でないことを先に確認してください。references/execution-model.md を参照してください。setup/org/preferences の ROUTE_NOT_FOUND の場合は references/platform-enablement.md を参照してください
/query が 404 を返し、プラットフォーム障害のように見えるまず呼び出し形式を確認してください。多くの場合、queryParams: {"q": "<SOQL>"} ではなく ?q=... として SOQL を付加するなど、呼び出し側の問題です。実際の障害は一時的で、すべてのバージョンで同時に発生します。references/execution-model.md を参照してください
以前の手順で本当に sf/UI が必要だったため、後続の手順でも習慣的に使い続けているティアの段階は手順ごとにリセットされます。直前の手順がどのティアで完了したかに関係なく、新しい操作ごとにまず T1 を再試行してください。references/execution-model.md を参照してください

出力要件

このスキルは稼働中の組織を設定するもので、リポジトリのファイルは扱いません。期待される出力は次のとおりです。

  • 各手順の完了後に確認メッセージを表示します(実施内容と使用したティア — ヘッドレス/sf CLI/手動 UI)。
  • 各手順の後に、トグル、権限セット、フロー、エージェント、サブエージェント、チャネルがそれぞれ期待どおりの状態にあることを示す確認クエリの結果を表示します。
  • 最終的な概要には、各手順で使用したティアと、T3 専用手順で保留中の項目を記載します。

スキル間の連携

必要な作業委任先
EDU の有効化、Person Accounts、または R&A ドメインスキーマ(ステップ 2a)における、検証済みの EDU 基盤の不足事項 — やみくもな事前委任はしないでください。不足している Data Cloud はここには振り分けません。これは Home-Org の権限付与であり、このスキルの範囲外ですeducation-cloud-domain-configure
汎用的な Agentforce エージェントの作成、またはメタデータの生成agentforce-generate

参照ファイルの一覧

ファイル読むタイミング
references/execution-model.mdすべてのステップ — 階層ラダーの詳細:許可リスト、ルート判定シグナル、クエリのルーティング、API バージョンポリシー
references/prerequisites.mdステップ 1 — エディション/ライセンスの確認、3 つの SRA ゲート、EDU 基盤の検証
references/platform-enablement.mdステップ 3 — トグルごとの書き込みパス
references/permissions.mdステップ 4~6、9、10 — ペルソナの権限モデル、OWD リスト、トピック別の準備、エージェントに応じた権限付与
references/grounding.mdステップ 7~8 — ナレッジ記事/ライブラリのフロー、Data Cloud のグラウンディング構築
references/agent-and-subagents.mdステップ 9、9a、10 — エージェントの作成、サブエージェントとエスカレーションの配線、Builder セッション、AEA コミュニティの権限付与
references/flows.mdステップ 11 — フローの一覧、2 ウェーブでのクローン順序
references/routing.mdステップ 12~13 — チャネルのデプロイ、Omni-Channel ルーティング、最終的な構造検証

コメント