SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

これだけは押さえておきたい! AWSサービス最新アップデート

Amazon Qが日本語対応! カスタムエージェントやBedrock新機能など、開発者が知るべきAWS生成AI最新アップデート3選

第35回 Amazon Q Developer、Amazon Bedrock

Amazon Q Developer CLIのカスタムエージェント

 Amazon Q Developer CLIは、第32回で紹介したように、CLIベースのAIエージェントです。MCP Serversと連携することで、様々なシステムに対する操作が可能となります。今回はアップデートにより、カスタムエージェントと呼ばれる特定のツール(MCP Servers)や実操作に関する制御を細やかに定義することが可能になりました。これまでは複数のツールを読み込ませている場合、Q Developerがどのツールを利用してよいかがわからず、意図しない回答となってしまうケースがありました。例えば、「ユーザ」という単語は、Webシステムを利用しているエンドユーザなのか、AWSのIAMユーザなのか、LinuxのOSユーザなのか、文脈によって異なりますが、Q Developerはそれらを区別できないこともありました。

 カスタムエージェントを利用することで、利用できるツールを限定したり、プロンプトを利用して事前にコンテキストを与えたりすることが可能になります。

 カスタムエージェントの利用にあたっては、カスタムエージェント用の設定ファイルの作成が必要です。ファイルを直接作成することも可能ですが、以下のコマンドを実行することで、対話形式で設定ファイルを作成することができます。

/agent create --name <エージェント名>

 例えば、以下のような設定ファイルを作成することで、ドキュメント検索や料金計算のツールのみを利用するカスタムエージェントの作成が可能です。設定ファイルの配置場所は公式ドキュメントを参考にしてください。

{
  "$schema": "https://raw.githubusercontent.com/aws/amazon-q-developer-cli/refs/heads/main/schemas/agent-v1.json",
  "name": "user",
  "description": "this is user",
  "prompt": "あなたはAWSに関する一般ユーザの権限を有します。実際にAWSリソースを操作することはできません。質問への回答は日本語で行ってください。",
  "mcpServers": {
      "asw-doc": {
      "command": "uvx",
      "args": ["awslabs.aws-documentation-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_DOCUMENTATION_PARTITION": "aws"
      },
      "disabled": false,
      "autoApprove": []
    },
    "aws-price": {
      "command": "uvx",
      "args": [
         "awslabs.aws-pricing-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  },
  "tools": [
    "*"
  ],
  "toolAliases": {},
  "allowedTools": [],
  "resources": [
    "file://AmazonQ.md",
    "file://AGENTS.md",
    "file://README.md",
    "file://.amazonq/rules/**/*.md"
  ],
  "hooks": {},
  "toolsSettings": {},
  "useLegacyMcpJson": false,
  "model": null
}

 本稿執筆時点で、公式ドキュメントには記載がありませんが、前述の対話型で作成した場合、デフォルトで「useLegacyMcpJson」という項目がtrueで設定されます。これは、mcp.jsonのmcpServersの設定を引き継ぐための項目であり、falseに設定することで、カスタムエージェントの設定ファイルで指定したmcpServersのみを利用することが可能になります。

 --agentオプションでカスタムエージェント名を指定して起動することで、カスタムエージェントが利用可能になります。下記画像はカスタムエージェントを指定しない場合と指定した場合の差を示しています。カスタムエージェントを指定した場合、利用できるツールが限定されていることがわかります。

カスタムエージェントの利用
カスタムエージェントの利用

 利用できるツールの限定やコンテキストを与えることによる正確な回答が期待できることはもちろんですが、不用意に強すぎる権限を与えないことで、セキュリティリスクを低減できることもカスタムエージェント利用の大きなメリットだと思います。

次のページ
Bedrockのグローバルクロスリージョン推論

この記事は参考になりましたか?

これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧

もっと読む

この記事の著者

奥村 康晃(株式会社NTTデータ)(オクムラ ヤスアキ)

 NTTデータ入社以来、クラウドサービスのAPIを連携させることで効率的な管理を可能とするクラウド管理プラットフォームの開発に従事。現在では、クラウド導入の技術コンサルや組織での技術戦略立案にも携わる。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/22451 2025/11/04 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー