📚

【検証】AWS Documentation MCP ServerでClaudeにSAA/SAPのサンプル問題を解かせてみた

に公開

はじめに

こんにちは或いはこんばんは。Ryuzakiです。

先週は「AWS Documentation MCP Serverを使ってClaudeにクラウドプラクティショナーの問題を解かせてみた」という記事を投稿しました。その検証では、CLF(クラウドプラクティショナー)のサンプル問題を解かせた結果、AWS Documentation MCP Serverを用いた場合も用いなかった場合も満点という結果になりました。

https://zenn.dev/ryuzaki/articles/06d0a0f2978b47

どうやら問題が簡単過ぎたようなので、今回はより難しいSAA(ソリューションアーキテクトアソシエイト)とSAP(ソリューションアーキテクトプロフェッショナル)のサンプル問題を解かせてみました。果たして、より難しい問題になると公式ドキュメントを参照させる価値は高まるのでしょうか?

検証環境

今回も前回と同様の環境で検証を行いました。

  • OS: macOS Sequoia 15.4.1
  • MCPホスト: Claude Desktop (0.9.2)
  • モデル: Claude 3.7 Sonnet

検証対象としては、Skill Builderで提供されている以下の公式練習問題集を使用しました。

プロンプトの設計

前回と同様、AWS Documentation MCP Serverを用いた場合と用いなかった場合で結果を比較するために、以下の2種類のプロンプトを用意しました。

AWS Documentation MCP Serverを用いた場合のプロンプト
あなたはAWSの認定資格試験対策のためのアシスタントです。これから私が共有するAWS認定試験の問題に対して、正確な解答と詳細な解説を提供してください。

## 作業手順

1. まず私が共有するAWSの試験問題を読み、内容を十分に理解してください。

2. 問題に対する解答を作成する前に、**必ずAWS Documentation**から最新の情報を検索してください。自身の知識だけで解答せず、常に公式資料に基づいた正確な情報を提供してください。

3. 各問題に対して以下の形式で回答してください:
   * 正解(根拠とともに明示)
   * 詳細解説(AWS公式ドキュメントを参照した内容を含む)
   * 参考資料のリンク

4. AWS Documentationで検索した内容は必ず引用し、どの資料からの情報かを明記してください。

5. 必要に応じて、解説の中で関連するAWSサービスやベストプラクティスについても触れてください。

## 注意点

* 複数の選択肢が正解となる可能性がある場合は、それぞれの選択肢について吟味し、最も適切な解答を選んでください。
* 解説はAWS初心者でも理解できるよう、専門用語は必要に応じて説明を加えてください。
* 曖昧な表現を避け、具体的かつ明確な説明を心がけてください。

## AWS試験問題

\```text
[対象の問題と選択肢を記載]
\```

それでは、上記の手順に従って解答と解説をお願いします。
AWS Documentation MCP Serverを用いなかった場合のプロンプト
あなたはAWSの認定資格試験対策のためのアシスタントです。これから私が共有するAWS認定試験の問題に対して、正確な解答と詳細な解説を提供してください。

## 作業手順

1. まず私が共有するAWSの試験問題を読み、内容を十分に理解してください。

2. 各問題に対して以下の形式で回答してください:
   * 正解(根拠とともに明示)
   * 詳細解説

## 注意点

* 複数の選択肢が正解となる可能性がある場合は、それぞれの選択肢について吟味し、最も適切な解答を選んでください。
* 解説はAWS初心者でも理解できるよう、専門用語は必要に応じて説明を加えてください。
* 曖昧な表現を避け、具体的かつ明確な説明を心がけてください。

## AWS試験問題

\```text
[対象の問題と選択肢を記載]
\```

それでは、上記の手順に従って解答と解説をお願いします。

検証結果

驚くべきことに、今回もAWS Documentation MCP Serverを使った場合と使わなかった場合で全く同じ結果となりました。

さらに興味深いことに、それぞれの問題集で間違えた問題も全く同じでした。これは予想外の結果となりました。

間違えた問題の分析

間違えた問題を分析することで、なぜMCPの有無で結果に差が出なかったのか考察してみました。以下に間違えた問題をそれぞれ記載します。

例1:災害対策(DR)アーキテクチャの問題(SAA)

問題と選択肢

ある企業は、AWS 上の重要なアプリケーションの災害対策 (DR) アーキテクチャを設計しています。同社は、AWS DR サイトのアプリケーションをサポートするため、最小限の実行インスタンス容量で、目標復旧時間 (RTO) を 5 分に決めました。同社は DR アーキテクチャのコストを最小限に抑える必要があります。
これらの要件を満たす DR 戦略はどれですか。

A) ウォームスタンバイ
B) パイロットライト
C) マルチサイトアクティブ/アクティブ
D) バックアップと復元

正答はAでしたが、MCPの有無にかかわらず、どちらも選択肢B(パイロットライト)を選択しました。

「RTOを5分」という要件と「コストを最小限」という要件のどちらを優先するかで判断が分かれる問題でした。こうした問題は人間でも判断が難しく、仕方がない面もあります。

例2:RDSのストレージ設定に関する問題(SAA)

問題と選択肢

ある企業が Amazon EC2 ベースの MariaDB データベースを Amazon RDS に移行しようとしています。同社は、同社の CPU とメモリの要件を満たすデータベースインスタンスタイプを既に特定しています。データベースは、少なくとも 40 GiB のストレージ容量と 1,000 IOPS を提供する必要があります。
最もコスト効率が良いのはどの Amazon RDS for MariaDB インスタンスのストレージ設定ですか。

A) RDS インスタンス用に 350 GiB のマグネティックストレージをプロビジョンする。
B) RDS インスタンス用に 50 GiB の汎用 SSD (gp3) ストレージをプロビジョンする。
C) RDS インスタンス用に 334 GiB の汎用 SSD (gp2) ストレージをプロビジョンする。
D) RDS インスタンス用に 1,000 IOPS で 50 GiB のプロビジョンド IOPS ストレージをプロビジョンする。

正答はBでしたが、MCPの有無にかかわらず、どちらも選択肢C(汎用SSD(gp2))を選択しました。

汎用SSD(gp3)ストレージの場合は基本性能が3,000 IOPSであり、要件を満たしますが、汎用SSD(gp2)ストレージの場合は1GiBあたり3IOPSのため、334×3=1,002IOPSとなります。Claudeはこの計算に基づき、より「ぴったり」なIOPSを提供できる汎用SSD(gp2)を選びました。

しかし実際には、汎用SSD(gp3)と汎用SSD(gp2)のGBあたりの金額が同じであるため、ストレージ容量が少ない方がコスト効率が良いという観点が漏れていました。

AWS Documentation MCP Serverを用いても各種料金ページの情報は参照できないため、こういった料金観点での比較が必要な問題では効果が限定的と言えます。

例3:VPCの接続に関する問題(SAP)

問題と選択肢

ある会社の処理チームは、本番アプリケーションのある AWS アカウントを持っています。アプリケーションは、Network Load Balancer (NLB) の背後にあるAmazon EC2 インスタンスで実行されています。EC2 インスタンスは、eu-west-1 リージョンにある仮想プライベートクラウド (VPC)のプライベートサブネットでホストされます。VPC には、10.0.0.0/16 の CIDR ブロックが割り当てられました。この会社の請求チームは最近、新しい AWSアカウントを作成し、eu-central-1 リージョンの VPC のプライベートサブネットでホストされている EC2 インスタンスにアプリケーションをデプロイしました。新しい VPCには、10.0.0.0/16 の CIDR ブロックが割り当てられます。この処理アプリケーションは、独自の TCP ポートを介して課金アプリケーションと安全に通信する必要があります。
ソリューションアーキテクトは、最小限の運用労力でこの要件を満たすために何をすべきですか。

A) 請求チームのアカウントで、192.168.0.0/16 の CIDR ブロックを使用する新しい VPC とサブネットを eu-central-1に作成する。このアプリケーションを新しいサブネットに再デプロイする。2 つの VPC 間に VPC ピアリング接続を作成する。
B) 処理チームのアカウントで、192.168.0.0/16 の CIDR ブロックを eu-west-1 の VPC に追加する。各 EC2 インスタンスを再起動して、新しいIP アドレスを取得する。2 つの VPC 間にリージョン間 VPC ピアリング接続を構成する。
C) 請求チームのアカウントで、192.168.0.0/16 の CIDR ブロックを使用する新しい VPC とサブネットを、eu-west-1に作成する。処理チームのアカウントで、AWS PrivateLink による VPC エンドポイントサービスを作成する。新しい VPC にインターフェイス VPCエンドポイントを作成する。2 つの VPC 間の請求チームのアカウントで、リージョン間 VPC ピアリング接続を構成する。
D) 各アカウントで、192.168.0.0/16 と 172.16.0.0/16 の CIDR ブロックを持つ新しい VPC を作成する。請求チームの VPC と処理チームのVPC の間にリージョン間 VPC ピアリング接続を作成する。ゲートウェイ VPC エンドポイントを作成して、トラフィックが VPC 間でルーティングできるようにする。

正答はCでしたが、MCPの有無にかかわらず、どちらも選択肢Aを選択しました。

選択肢Cの「2つのVPC間の請求チームのアカウント」という部分を誤解したようです。正しくは請求チーム側の旧VPCと新VPCの2つを指していますが、Claudeは請求チーム側の旧VPCと処理チーム側のVPCの2つと解釈し、その場合はリージョン間VPCピアリングは設定できないと判断したようです。

問題設定自体がかなり複雑な場合は、インプット情報を増やしたとしても解くのが難しいケースがあると言えます。

例4:高性能コンピューティングの問題(SAP)

問題と選択肢

ある企業は、長期にわたる分析プロセスをオンプレミスで実行しています。現在のインフラストラクチャは、低レイテンシーのファイバーネットワークを介して接続された高性能サーバーのクラスターで構成されています。現在のインフラストラクチャでは、大規模なハードウェアアップグレードが予定されており、大幅な予算の増額が必要になります。同社は、分析プロセスをAWS に移行することを検討しています。ソリューションアーキテクトは、AWS でオンプレミスアーキテクチャをレプリケートするソリューションを推奨する必要があります。
これらの要件を最もコスト効率に優れた方法で満たすソリューションはどれですか。

A) リザーブドインスタンスを含むクラスタープレイスメントグループに Amazon EC2 Fleet を作成する。
B) スポットインスタンスを持つクラスタープレイスメントグループに Amazon EC2 Fleet を作成する。
C) リザーブドインスタンスを持つパーティションプレイスメントグループに Amazon EC2 Fleet を作成する。
D) スポットインスタンスを持つパーティションプレイスメントグループに Amazon EC2 Fleet を作成する。

正答はAでしたが、MCPの有無にかかわらず、どちらも選択肢Bを選択しました。

「最もコスト効率に優れた方法」という部分に引っ張られ、スポットインスタンスを選択したようですが、「長期にわたる分析プロセス」である点を十分に考慮できていませんでした。

ただし、スポットインスタンスを完全な誤答とするための条件である「中断できないワークロード」というような記載がないため、コスト効率を重視して選択肢Bを選択しても仕方がない面もあるかなと思います。

考察

今回使用したモデルはClaude 3.7 Sonnetで、ナレッジカットオフが2024年10月と比較的最近です。このことが、MCP有無での結果に差異が出なかった主な要因だと考えられます。

ただ、MCPを使ってインプット情報を増やしたとしても、全く同じ問題で全く同じ間違いをしてしまうのは予想外でした。この理由としては以下のようなものが挙げれるかなと思います。

  • 問題の性質:
    間違えた問題は、単一の知識というよりも、複数の要素を考慮した上での判断や、複雑な状況の解釈が必要なものが多かった

  • 公式ドキュメントの限界:
    料金に関する詳細情報や、具体的なユースケースに応じた判断基準などは、公式ドキュメントからでも直接読み取りにくい

  • モデルの推論能力:
    Claude 3.7 Sonnetは比較的最新のモデルであり、基本的なAWSの知識はすでに十分持っているため、追加情報があっても推論結果に大きな違いが出なかった

おわりに

まさかの「公式ドキュメントを参照させてもさせなくても点数が同じになる」という結果になりました。しかも間違えた問題も、選択した選択肢も同じという驚きの結果でした。

この結果から、今回使用したClaude 3.7 Sonnetのようにナレッジカットオフが最近のモデルを使用する場合は、基本的にモデルを素のまま利用し、深堀りしたい要素がある場合のみAWS Documentation MCP Serverを使って参考URLを取得する方法が効率的と言えそうです。

私自身も今後AWS資格の更新や新たな資格取得の学習をする際には、まずは素のClaudeに自分が間違えた問題の解説を作成してもらい、理解が不十分な箇所や確認が必要なポイントが出てきた時に、AWS Documentation MCP Serverを活用して関連ドキュメントを探すという方法を取り入れていきたいと思います。この方法なら、効率よく学習を進めつつ、必要な時に正確な情報にアクセスできるメリットを両立できそうです。

ここまでお読みいただき、ありがとうございました。

Discussion