
Kiro powersを使ってAIエージェント開発をやってみた
はじめに
先日Kiro powersと呼ばれるKiroの新機能がリリースされました。
Kiro powersはMCPツールとフレームワークの専門知識をパッケージ化して動的に読み込む機能のようです。
詳細は以下の公式ドキュメント・ブログを参照ください。
早速ですがStrands AgentsとAmazon Bedrock AgentCoreのKiro powersを使用してAIエージェント開発をしてみたいと思います。
やってみた
Kiro powersのインストール
まずはじめに今回使用するKiro powersをインストールします。
サイドバーにPowersを選択し、左下のRECOMMENDEDからAWSが提供しているStrandsとAgentCoreをインストールします。



INSTALLEDに表示されていたらインストール完了です。

GitHubから内容を確認できPOWER.mdや各種steering、mcpがパッケージされていることがわかります。
Agentの作成と動作確認
早速Agentを作成してみます。
今回はVibeモードでAgentの作成を依頼してみました。

チャットを送信するとKiro powersを使用してタスクを開始しました。

しばらくするとawsknowledgeagentというプロジェクトが作成されました。
bedrock-agentcore-starter-toolkitをインストールした後に、agentcoreコマンドを使用してテンプレートからプロジェクトを生成したようです。

一通りタスクが完了すると成果物の内容とセットアップ手順について教えてくれました。
どうやらAgentCore Memoryで会話履歴の保存、AgentCore GatewayでTool呼び出しをする構成のようです。

ここからは作成してくれたREADME.mdをもとに、デプロイと動作確認を実施してみます。
cd awsknowledgeagent
uv sync
シェルスクリプトを作成してくれているようなので、そのままスクリプトを実行します。
chmod +x setup_resources.sh
./setup_resources.sh
==========================================
セットアップ完了!
==========================================
作成されたリソース:
Memory ID: awsknowledgeagent_memory-9z6Ktw7cFK
Gateway ARN: arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/awsknowledge-gateway-3bbwp5jrxu
Gateway URL: https://awsknowledge-gateway-3bbwp5jrxu.gateway.bedrock-agentcore.us-east-1.amazonaws.com/mcp
リージョン: us-east-1
次のステップ:
1. 開発サーバーを起動: agentcore dev
2. ローカルテスト: agentcore invoke --dev '{"prompt": "Amazon S3について教えてください"}'
3. デプロイ: agentcore launch
リソースの作成ができたので、ローカルで動作確認をしてみます。
まず開発サーバーを起動します。
agentcore dev
🚀 Starting development server with hot reloading
Agent: awsknowledgeagent_Agent
Module: src.main:app
Server will be available at: http://localhost:8080/invocations
💡 Test your agent with: agentcore invoke --dev "Hello" in a new terminal window
ℹ️ This terminal window will be used to run the dev server
Press Ctrl+C to stop the server
INFO: Will watch for changes in these directories: ['/Users/sakai.takahisa/sandbox/agent-core-kiro-power/awsknowledgeagent']
INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO: Started reloader process [36186] using StatReload
INFO: Started server process [36188]
INFO: Waiting for application startup.
INFO: Application startup complete.
別のターミナルでセッションを指定して質問をしてみます。
agentcore invoke --dev --session-id test '{"prompt": "Amazon S3について教えてください"}'
✓ Response from dev server:
Amazon S3(Amazon Simple Storage Service)について説明します。Amazon S3(Amazon Simple Storage Service)について、詳しく説明します。
## **Amazon S3とは?**
Amazon S3は、AWSが提供する**オブジェクトストレージサービス**で、データを保存・管理するためのクラウドベースのストレージです。
## **主な特徴**
### **1. 高い耐久性と可用性**
- **99.999999999%(イレブンナイン)の耐久性**を誇ります
- データを複数のデータセンター(アベイラビリティゾーン)に自動的にレプリケーションして保存
- データ損失のリスクが極めて低い
### **2. 容量無制限**
- ストレージ容量に制限がなく、必要に応じて自動的に拡張
- 単一オブジェクトは最大5TBまで保存可能
### **3. 従量課金制**
- 使用した分だけ支払う仕組み
- 初期コストが不要で、コスト効率に優れている
### **4. セキュリティ**
- 暗号化機能(転送時、保管時)
- 詳細なアクセス制御(IAMポリシー、バケットポリシー)
- バージョン管理機能
### **5. 柔軟なストレージクラス**
アクセス頻度に応じて複数のストレージクラスを選択可能:
- **S3 Standard**: 頻繁にアクセスするデータ向け
- **S3 Standard-IA**: 低頻度アクセス向け
- **S3 Glacier**: 長期アーカイブ向け(低コスト)
- **S3 Intelligent-Tiering**: 自動的に最適なクラスに移行
## **主要な機能**
### **バケットとオブジェクト**
- **バケット**: データを格納する最上位のコンテナ(フォルダのようなもの)
- **オブジェクト**: 実際に保存されるファイル(ドキュメント、画像、動画など)
### **ライフサイクル管理**
- 一定期間経過後に自動的に別のストレージクラスへ移行
- 古いデータを自動削除
### **バージョニング**
- ファイルの変更履歴を保持
- 誤削除からの復旧が可能
## **実務での活用例**
1. **静的Webサイトのホスティング**
- HTML、CSS、JavaScriptファイルの配信
2. **バックアップとアーカイブ**
- データベースのバックアップ
- ログファイルの長期保管
3. **画像・動画ストレージ**
- ユーザーがアップロードしたコンテンツの保管
4. **ビッグデータ分析**
- データレイクとして大量データを格納
- 機械学習サービスとの連携
5. **コンテンツ配信**
- CloudFrontと連携したCDN構築
## **料金**
- ストレージ使用量
- データ転送量
- リクエスト数
- ストレージクラスによって異なる
**無料枠**: 新規ユーザーは12ヶ月間、月5GBまで無料で利用可能です。
## **メリット**
✅ 高い信頼性とスケーラビリティ
✅ 低コストから始められる
✅ 他のAWSサービスとの統合が容易
✅ グローバルなアクセスが可能
Amazon S3は、個人の小規模プロジェクトから大企業のエンタープライズシステムまで、幅広く利用されている非常に汎用性の高いサービスです。
何か具体的に知りたいことや、実際の使い方について質問がありますか?
とりあえず返答が返ってきたので、今度は会話履歴が必要な質問をしてみます。
agentcore invoke --dev --session-id test '{"prompt": "私が先ほどした質問は何ですか?"}'
✓ Response from dev server:
申し訳ございませんが、これが私たちの会話の最初のメッセージです。この質問「私が先ほどした質問は何ですか?」が最初の質問となります。
それ以前に質問をされた記録は、この会話のセッションには残っていません。もし別のセッションや会話で質問をされた場合、私はその情報にアクセスすることができません。
何かお手伝いできることがありましたら、お気軽にお尋ねください。AWSに関する質問や、コードの実行、計算などのサポートが可能です。
おっと、ダメそうです...
1つ目の質問もそれっぽく回答してくれていますが、ソースコードやログを確認した範囲では残念ながらGateway、Memoryともに使用できていませんでした。
Vibeだと限界がありそうなのでSpecで開発を行う必要がありそうです。
その後しばらく修正を繰り返していたのですがすぐには解決しませんでした。(最初からやり直した方が早そうです)
中途半端な結果となりますが、今回は時間切れなのでここまでとしたいと思います。
まとめ
今回はKiro powersが新機能としてリリースされたため、AWS提供のStrands AgentsとAmazon Bedrock AgentCoreのKiro powersを使用してみました。
残念ながらVibeでの実装には限界がありそうで、AgentCoreの機能をうまく活用することができませんでした。
エージェント自体は動いていたので、統合周りで修正が必要そうです。
どなたかの参考になれば幸いです。








