← 試験の目次へ
全8問。単一選択と複数選択があります。複数選択の問題には「2つ選んでください」と書いてあります。解答と解説は最後にあります。
回答済み 0 / 8
スキル: ツールの実装
エージェントが get_customer と lookup_order をよく取り違えます。2つのツールの説明は「顧客情報を取得する」「注文情報を取得する」の1行ずつです。公式のベストプラクティスで、最初にやるべき最も効果の高い改善はどれですか。
正解: C
公式の Define tools のページは、とても詳しい説明を書くことを「ツールの性能に効く、いちばん大事な要素」としています。何をするか、いつ使うか(使わないか)、各パラメータの意味、注意点と限界を書き、1つのツールにつき少なくとも3〜4文を目安にします。説明が短いと、似たツールの区別がつきません。A はデータが古くなり、コンテキストも無駄に使います。B は選択の問題と関係がなく、新しいモデルでは使えません。D は区別をさらに難しくします。
GitHub 連携のために create_pr、review_pr、merge_pr、close_pr、list_prs など十数個のツールを作り、Slack 用のツールも同じくらいあります。エージェントのツール選びが不安定です。公式のベストプラクティスに最も合う改善はどれですか。
正解: A
公式のベストプラクティスは、関係する操作は action パラメータを持つ少ないツールにまとめるよう勧めています(例: create_pr、review_pr、merge_pr を1つに)。ツールが少ないほど選び間違いが減ります。また、複数のサービスにまたがるなら、github_list_prs、slack_send_message のように名前に接頭辞を付けると、ツールが増えても選択があいまいになりません。B は逆です。C と D は区別をつけにくくします。
Messages API で、サーバーツールの web_search を tools に入れました。Claude が検索したとき、アプリは何をする必要がありますか。
正解: D
サーバーツールは Anthropic のインフラで実行されます。応答には server_tool_use ブロック(ID は srvtoolu_ で始まる)と、その結果のブロック(例: web_search_tool_result)が同じアシスタントのターンに入り、クライアントツールと違って tool_result を返す必要はありません。サーバー側のループが長くなると一時停止して pause_turn を返すことがあるので、そのときは応答を会話に足して送り直します。A はクライアントツールのやり方です。B と C は誤りです。
Python SDK で、エージェントがツールを実行する前に、毎回担当者がその内容を確認して承認するしくみを作りたいと考えています。公式ドキュメントにもとづく最も適切な作り方はどれですか。
正解: B
tool runner は、ツールの実行、リクエストと応答のくり返し、会話の状態の管理を自動でやってくれますが、公式ドキュメントは、人の承認、独自のログ、条件つきの実行が必要なときは手動のループを使うよう案内しています。手動のループなら、tool_use を受け取ってから実行するまでの間に、担当者の確認をはさめます。A と C は承認になりません。D はモデルへのお願いで、実際の承認にはなりません。
スキル: MCP サーバー開発
MCP の通信方式(transport)について、正しい説明はどれですか。2つ選んでください。
正解: B、D
stdio は同じマシンの中でのプロセス間のやりとりで、ネットワークのむだがなく、ローカルのサーバーがふつう1つのクライアントに対応します(A は逆)。Streamable HTTP は、クライアントからサーバーへ HTTP POST、ストリーミングに必要に応じて SSE を使い、リモートのサーバーが多くのクライアントに対応します。bearer トークン、API キー、独自ヘッダーなどの HTTP の認証が使え、MCP は OAuth でのトークン取得を勧めています。C は誤りで、Claude Code では SSE は非推奨で、使えるなら HTTP にします。
社内データベースの MCP サーバーを作っています。エージェントがクエリを書く前に、テーブルの一覧と列の定義(スキーマ)を読み取り専用で見られるようにしたいです。MCP のどの機能で提供するのが最も合っていますか。
リソースは、ファイルの中身、データベースのスキーマ、API の文書など、読み取り専用で情報を渡すデータ源です。スキーマの一覧を見せるのに合っています(どれを使うかを決めるのはアプリ)。B のプロンプトは、利用者が選ぶ指示のひな形です。C の sampling は、サーバーがクライアントの AI アプリに言語モデルの生成を頼むしくみです。D の elicitation は、サーバーが利用者に追加の情報や確認を求めるしくみです。なお、データベースへの書き込みやクエリの実行のような操作はツールで提供します。
スキル: エージェントのカスタマイズ
社内の在庫サービスは REST API で公開されています。この機能を、いくつもの Claude アプリから使えるようにし、どのアプリとも別に保守したいと考えています。最も適切な方法はどれですか。
MCP サーバーは、複数の Claude アプリが共有でき、アプリとは別に保守できる再利用可能なツールを公開します(Developer Foundations の試験ガイドのサンプル問題と同じ考え方)。接続と認証もサーバーが受け持ちます。A は再利用も保守もしにくく、実際にデータへアクセスもできません。B は最新のデータにならず、コンテキストも無駄にします。D は誤りで、組み込みツールが任意の社内 API に自動で届くわけではありません。
Skills と MCP について、公式ドキュメントの説明として正しいものはどれですか。2つ選んでください。
正解: A、C
Agent Skills は段階的に読み込まれ(progressive disclosure)、メタデータは起動時に1スキルあたり約100トークン、SKILL.md の本文は使うとき(5,000トークン未満)、資料やコードは必要なときだけ読み込まれます。公式の Claude Code の説明は、MCP は外部のサービスにつなぎ、Skills は知識と手順(そのサービスの使い方も含む)を増やすもので、違う問題を解くので一緒に使うとよいとしています。B は MCP の役割です。D は誤りで、Messages API からは MCP connector でリモートの MCP サーバーにつなげます。
この分野の教材を読む