Claude Certified Architect – Foundations 学習ガイド

Domain 1
エージェント設計とオーケストレーション(配点27%)

試験で問われる概念を、毎日運用している ~/.agent/ 組織の実物に対応付けて覚えるための対応表。「知らない概念を暗記する」のではなく「体で知っていることに正式名称を付ける」ためのページ。

問題数 / 時間
60問 / 120分
合格ライン
720 / 1000
受験料
$125
形式
4択 × シナリオ4本
資格有効期間
12ヶ月
目次

このドメインが出るシナリオ

試験は6本のシナリオ(業務設定の長文)から当日ランダムに4本出題され、各シナリオにぶら下がる形で設問が来る。Domain 1 が主戦場になるのは次の3本。

シナリオ設定tomoさんの組織でいうと
S1: カスタマーサポート解決エージェント返品・請求トラブルを扱うAIサポート。MCPツール(get_customer, process_refund, escalate_to_human)を持ち、初回解決率80%が目標「いつ人間にエスカレーションするか」「返金を承認なしで実行させない」= larc-approval-gate の世界
S3: マルチエージェント調査システムまとめ役1体が、Web検索係・文書分析係・統合係・レポート係に仕事を配る調査パイプラインLead/Worker オーケストレーションそのもの。deep-research ワークフローの構造
S4: 開発者生産性ツールRead/Write/Bash/Grep/Glob などの組み込みツール+MCPで、コードベース探索や定型作業を自動化Claude Code の日常利用。Explore サブエージェントの使い分け

Task Statement 1.1エージェントループの設計(自律実行のしくみ)

AIエージェントの正体は「依頼を送る → 返事の止まり方を見る → ツールを実行して結果を返す → 繰り返す」という単純なループ。ループを続けるか止めるかは、モデルが返すフラグ stop_reason だけで判定する。
試験が問うこと
  • ループの一生:リクエスト送信 → stop_reason を確認 →「tool_use(ツールを使いたい)」なら要求されたツールを実行して結果を返す →「end_turn(話し終わった)」ならループ終了
  • ツールの実行結果は会話履歴に追記して次のループに渡す。これでモデルが新しい情報を踏まえて次の一手を考えられる
  • 「モデル駆動の判断(Claudeが文脈から次のツールを選ぶ)」と「事前に固定した分岐(if文の決定木)」の違い。前者がエージェントの本質
うちの組織の実物

Claude Code のターンそのもの。ツールを呼んでは結果を読み、また次のツールを呼ぶ動きの裏側が全部このループ。rules/workflow-cycle.md の停止条件(試行N回・CRITICAL到達で止める)は、このAPIレベルのループの上に載せた業務レベルの安全網という関係。試験ではまずAPIレベル(stop_reason)で答える。

ひっかけ(誤答として出るパターン)
  • 「応答テキストに『完了しました』が含まれるかでループ終了を判定する」→ 自然言語のパースは不可。stop_reason で判定する
  • 「無限ループ防止のため反復回数の上限を主要な停止手段にする」→ 上限は保険であって主要判定ではない
  • 「アシスタントのテキスト出力があるか=完了」→ テキストとツール要求は同時に来ることがある

Task Statement 1.2コーディネーター・サブエージェント型(ハブ&スポーク)

複数のAIを協働させるときは、まとめ役(コーディネーター)1体がすべての通信を仲介する車輪のハブのような形にする。子エージェント同士を直接会話させない。
試験が問うこと
  • ハブ&スポーク構造:エージェント間通信・エラー処理・情報の流れをすべてコーディネーターが管理する
  • サブエージェントは独立したコンテキストで動く。親(コーディネーター)の会話履歴を自動では引き継がない
  • コーディネーターの仕事=タスク分解・委譲・結果集約・「どの子を呼ぶか」の動的選択。毎回全員を呼ぶのではなく、依頼の複雑さに応じて選ぶ
  • 分解を細かくしすぎるリスク:広い調査テーマなのに狭いサブタスクに切りすぎて、カバー漏れが起きる
  • 統合結果に穴があれば、コーディネーターが再委譲して再統合する反復ループ
うちの組織の実物

rules/lead-worker-orchestration.md がこのパターンの実装。「Lead は判定・分解・委譲・統合のみ」「Worker間の直接通信は禁止(必ずLeadを介す)」は、試験用語でいうハブ&スポークと情報ルーティングの一元化。rules/audit-independence.md の盲検原則は「サブエージェントのコンテキスト独立性」を監査品質に応用したもの。

ひっかけ
  • 「効率のためサブエージェント同士に直接結果を共有させる」→ 観測不能・エラー処理不能になる。誤答の定番
  • 「すべての依頼を常に全サブエージェントのフルパイプラインに通す」→ 動的選択が正解
  • 「まとめ役も自分で検索や分析を実行する」→ Lead専念の原則に反する

Task Statement 1.3サブエージェントの起動・コンテキスト受け渡し

子エージェントは白紙の状態で生まれる。親が知っていることを使わせたければ、依頼文(プロンプト)に明示的に書いて渡すしかない。
試験が問うこと
  • サブエージェントを起動する仕組みは Task ツール。コーディネーターが子を呼ぶには、許可ツールリスト allowedTools"Task" が含まれている必要がある
  • 子は親の会話履歴もメモリも自動継承しない。必要な文脈はプロンプトに全部書く
  • AgentDefinition:各サブエージェントの型定義(説明文・システムプロンプト・使えるツールの制限)
  • fork(分岐セッション):共通の分析結果を土台に、複数の別アプローチを枝分かれさせて試す使い方
  • 親から子へ渡すデータは、本文とメタ情報(出典URL・文書名・ページ番号)を構造化して分離する→出典の追跡が壊れない
  • 並列実行は「1回の応答の中で複数のTask呼び出しをまとめて出す」。ターンをまたいで1体ずつ呼ぶのではない
  • 子への指示は手順書ではなくゴールと品質基準で書く→子が状況に適応できる
うちの組織の実物

CLAUDE.md の「怠惰な委譲の禁止(具体的なファイルパス・行番号・変更内容を含むプロンプトで委譲)」=明示的コンテキスト渡しの運用ルール化。agents/*.md の frontmatter(description / model / tools)が AgentDefinition に相当。「独立タスクは1メッセージで並列に投げる」運用もそのまま試験の正解パターン。

ひっかけ
  • 「サブエージェントは親の会話を参照できるので要点だけ渡せばよい」→ 継承しない。全文脈を明示的に渡す
  • 「検索結果の要約だけを統合係に渡す」→ 出典メタデータが失われる。構造化して渡すのが正解
  • 「子エージェントへの指示は詳細な手順書ほどよい」→ ゴール+品質基準型が正解(適応性が失われるため)

Task Statement 1.4多段ワークフローの「強制」とハンドオフ

「絶対に守らせたい順序」はプロンプトのお願い文では守られない(非ゼロの失敗率がある)。プログラムで物理的にブロックする=決定論的な強制を使う。
試験が問うこと
  • プログラムによる強制(hooks・前提条件ゲート)とプロンプトによる誘導の使い分け。これはDomain 1で最重要の対立軸
  • 本人確認が済むまで金融操作をさせない、のような「決定論的コンプライアンスが必要」な場面では、プロンプト指示だけでは足りない
  • 例:get_customer で顧客IDが確認されるまで process_refund の呼び出しをブロックする前提条件ゲート
  • 途中で人間へエスカレーションするときの構造化ハンドオフ:顧客情報・原因分析・推奨アクションをセットで渡す(会話ログを読めない人でも引き継げる形)
うちの組織の実物

この対立軸は rules/extension-layer-decision.md の「影響(確率的・お願い)か保証(決定論的・強制)か」そのもの。実装例は hooks/larc-approval-gate.sh(本番書込みを承認なしでは通さない)と hooks/git-identity-guard.sh(identity不一致のcommitをブロック)。構造化ハンドオフは rules/handoff-memory.md の引き継ぎテンプレ(確証/未確証/残り)が同じ思想。

ひっかけ
  • 「システムプロンプトに『必ず本人確認を先に行うこと』と書けば保証される」→ 確率的。保証にはならない
  • 「エスカレーション時は会話ログのURLを渡せば十分」→ 相手はログにアクセスできない前提。構造化サマリーを渡す

Task Statement 1.5hooks によるツールコール介入とデータ正規化

hooks は、ツールの呼び出しや結果に割り込む検問所。「結果をモデルに見せる前に整形する」「ルール違反の操作を実行前に止める」の2方向で使う。
試験が問うこと
  • PostToolUse 型:ツールの実行結果に割り込み、モデルが読む前に変換する。例:MCPツールごとにバラバラな日付形式(Unixタイムスタンプ / ISO 8601)や数値ステータスコードを統一フォーマットに正規化
  • 発信側への割り込み:ポリシー違反のツールコールを実行前にブロックする。例:500ドルを超える返金をブロックして人間エスカレーションのフローに迂回させる
  • 判断基準:ビジネスルールが「保証されたコンプライアンス」を要求するなら hooks、ベストエフォートでよいならプロンプト
うちの組織の実物

PreToolUse型ブロックの実物が hooks/larc-approval-gate.sh(Lark本番書込みを検問、exit 2でブロック)と hooks/git-identity-guard.sh。PostToolUse型は scripts/hooks/session-budget-breaker.js(トークン消費の監視)や telemetry-aggregator。「$500超の返金ブロック」は larc の広告予算変更ゲートと同型の問題として読める。

ひっかけ
  • 「データ形式の正規化はシステムプロンプトで『ISO形式に直して解釈せよ』と指示する」→ 確率的で漏れる。PostToolUse hookで機械的に変換
  • 「高額返金の禁止はツールの説明文(description)に書く」→ descriptionは選択の参考情報であって強制力がない

Task Statement 1.6タスク分解の戦略(固定パイプライン vs 動的分解)

手順が予測できる仕事は固定の直列パイプライン(プロンプトチェイニング)、掘ってみないと分からない仕事は途中の発見に応じてサブタスクを生む動的分解。どちらを選ぶかが問われる。
試験が問うこと
  • プロンプトチェイニング:決まった多段レビューを順番に流す(例:ファイルを1つずつ分析→最後にファイル横断の統合パスを1回)
  • 動的・適応的分解:各ステップで発見した内容に基づいて次のサブタスクを生成する。オープンエンドな調査向き
  • 選択基準:「予測可能な多面レビュー→チェイニング」「先が読めない探索→動的分解」
うちの組織の実物

CLAUDE.md のバッチ処理パターンが同じ判断軸:「各タスクが独立→並列」「相互依存→ループ」「対象が動的・大規模→動的ワークフロー」。rules/audit-independence.md の直列監査(editorial-checker → geo-auditor)はプロンプトチェイニングの実例。rules/lead-worker-orchestration.md の Competing Hypotheses(仮説ごとに検証Workerを立てる)は動的分解の実例。

ひっかけ
  • 「柔軟性が高いので常に動的分解を選ぶ」→ 予測可能なレビューには過剰でコスト高。固定チェインが正解になる
  • 「1回の巨大プロンプトで全ファイルレビューを済ませる」→ 多観点レビューは段階分割が正解

用語ミニ辞書(Domain 1)

4択の選択肢はこの語彙で書かれてくる。「読んだ瞬間に意味が浮かぶ」状態にする。

stop_reason (ストップリーズン)

Claudeの応答が「なぜそこで止まったか」を示すフラグ。tool_use=ツールを使いたいから一時停止(→ループ継続)、end_turn=言い終わった(→ループ終了)。エージェントループの制御はこれ一本で行う。

エージェントループ / agentic loop

「送信 → stop_reason確認 → ツール実行 → 結果を履歴に追記 → 再送信」の反復。エージェントと呼ばれるものすべての心臓部。

ハブ&スポーク / hub-and-spoke

自転車の車輪のように、中心(コーディネーター)とだけ各エージェントがつながる構造。子同士の直接通信を禁じることで、観測・エラー処理・情報の流れを一元管理できる。

Task ツール

サブエージェントを生成する公式の仕組み。コーディネーター側の allowedTools に "Task" が入っていないと子を呼べない。

AgentDefinition

サブエージェントの型定義。説明文(いつ使う子か)・システムプロンプト・ツール制限を含む。うちの agents/*.md の frontmatter に相当。

allowedTools

そのエージェントが使ってよいツールの許可リスト。最小権限の原則で絞る(監査係にWriteを渡さない、など)。

コンテキスト分離 / isolated context

サブエージェントは親の会話履歴・記憶を自動継承しない、という仕様。渡したい情報はプロンプトに明示的に書く。試験全体で繰り返し問われる大前提。

fork(分岐セッション)

ある時点までの分析を共有の土台にして、そこから複数の別アプローチを枝分かれで試すセッション管理。

PostToolUse / PreToolUse hook

ツール実行の後/前に割り込む検問所。Post=結果の正規化・監視、Pre=ポリシー違反のブロック。「プロンプトは確率的、hookは決定論的」という対比で覚える。

プロンプトチェイニング / prompt chaining

大きな仕事を固定の直列ステップに割り、前段の出力を次段の入力にする方式。手順が予測できる多段レビュー向き。

決定論的 / 確率的 (deterministic / probabilistic)

決定論的=毎回必ず同じ結果になる(プログラム・hook)。確率的=だいたい従うが失敗率がゼロでない(プロンプト指示)。「絶対」が要る場面で確率的手段を選ぶ選択肢は常に誤答。

構造化ハンドオフ / structured handoff

人間や別エージェントへ引き継ぐときに、顧客ID・原因分析・推奨アクションなど決まった項目のセットで渡すこと。「会話ログを読めない相手」が前提。

仕上げチェックリスト(説明できたらチェック)

暗記確認ではなく「自分の言葉で30秒説明できるか」の確認。チェック状態はこのブラウザに保存される。