1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

はじめに

カスタムエージェントは一言で言うと、「作業に応じてAIエージェントを使い分ける」機能です。

AWS ブログでは次のような利用例が紹介されていました。ざっくりと、

課題
開発者が「テーブル」について質問すると:
 HTML のテーブルのことなのか?
 データベースのテーブルのことなのか?
AI が混乱してしまう。

解決方法
2 つの専用エージェント
 フロントエンド用エージェント
 バックエンド用エージェント
を作成することで、AI が作業内容を正しく理解してくれるようにする。

どのような場面で利用するのかと言うところがわかったところで、**この記事ではシンプルにどう使うのか?**と言う利用方法に絞って書いていきたいと思います。

設定ファイル

設定ファイルは、グローバルまたはプロジェクトレベルで管理することが可能です。

  • グローバル: ~/.aws/amazonq/cli-agents/{agent-name}.json
  • プロジェクトレベル .amazonq/cli-agents/{agent-name}.json
.amazonq/cli-agents/front-end.json
.amazonq/cli-agents/front-end.json
{
  "description": "Optimized for front-end web development using React and Figma",
  "mcpServers": {
    "Figma": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3845/sse"
      ]
    }
  },
  "tools": ["*"],
  "allowedTools": [
    "fs_read",
    "fs_write",
    "report_issues",
    "@Figma"
  ],
  "resources": [
    "file://README.md",
    "file://~/.aws/amazonq/react-preferences.md"
  ],
  "hooks": {
    "agentSpawn": [
      {
        "command": "git status"
      }
    ]
  }
}
セクション 説明
description 何用のエージェントかの説明文
mcpServers 使用する外部ツール
tools エージェントが使えるツール
allowedTools 許可を求めずに自動実行できるツール
resources 自動読み込みファイル
hooks エージェント起動時に自動実行するコマンド

起動の仕方

q chat --agent front-end

やってみる

AWS ドキュメントにいくつかサンプルも用意されていましたので、AWSスペシャリストカスタムエージェントを少しだけ試してみたいと思います。

README.md やらなんやら用意しているわけではないのですが、ちょっと今回は簡単に動かしてみたいだけなので、AWS ドキュメントの設定ファイルをほぼそのまま使います。

.amazonq/cli-agents/aws-infra.json
.amazonq/cli-agents/aws-infra.json
{
  "name": "aws-infra",
  "description": "AWSのインフラストラクチャと開発タスクに特化した専門のカスタムエージェント",
  "tools": [
    "fs_read",
    "fs_write",
    "execute_bash",
    "use_aws"
  ],
  "allowedTools": [
    "fs_read",
    "use_aws"
  ],
  "toolsSettings": {
    "use_aws": {
      "allowedServices": [
        "s3",
        "lambda",
        "cloudformation",
        "iam",
        "logs"
      ]
    },
    "fs_write": {
      "allowedPaths": [
        "infrastructure/**",
        "scripts/**",
        "*.yaml",
        "*.yml",
        "*.json"
      ]
    }
  },
  "resources": [
    "file://README.md",
    "file://infrastructure/**/*.yaml",
    "file://infrastructure/**/*.yml",
    "file://docs/aws-setup.md",
    "file://scripts/deploy.sh"
  ],
  "hooks": {
    "agentSpawn": [
      {
        "command": "aws sts get-caller-identity",
        "timeout_ms": 10000,
        "cache_ttl_seconds": 300
      }
    ]
  }
}

use_aws に近いツールとして、AWS API MCP Server なども存在します。この AWS API MCP Server を設定済みとします。

期待する動作としては 3 つです。

  • use_aws が使われること(AWS API MCP Server は使われない想定です。)
  • S3 の一覧が表示されること
  • EC2 は表示されないこと

カスタムエージェントが作成されていることを確認しておきます。

スクリーンショット 2025-08-17 18.05.17.png

エージェントを指定して、Amazon Q Developer CLI を起動します。

q chat --agent aws-infra

スクリーンショット 2025-08-17 18.19.20.png

use_aws で S3 バケットの一覧が表示されたことを確認しました。
スクリーンショット 2025-08-17 18.22.21.png

EC2 の一覧の表示をお願いしてみます。
スクリーンショット 2025-08-17 18.53.23.png
あれ、なぜだろう allowedServices にないので表示されない想定だったのだが。

ちょっと聞いてみたがいまいち不明。。。
スクリーンショット 2025-08-17 18.56.45.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?