こんにちは、エンジニアでJapan AWS Ambassadorでもある君島です。
本記事はJapan AWS Ambassadors Advent Calendar 2025の3日目の記事となります。
目次
はじめに
Kiro熱いですよね。
先月KiroがGAとなったことで、より実際の案件でも利用される機会が増えてくると思っています。
AWSブログでもKiro特集として記事があがっている他、グローバルなハッカソンも行われています。(ハッカソンは12/6まで開催中ですが、参加特典の有料プランの料金割引コードは使用期限がきれてしまっていました。)
私もオフラインで色々な方と会話する中で、Kiroについての注目度が上がっていることを実感しています。
弊社でもKiroを使用したブログ企画を開催しておりますので、こちらもよろしければご覧ください。
今回は、先日まだKiroを触ったことのないという方からKiro IDEについて質問されたので、再学習の結果のアウトプットと、私が実践している内容や設定を紹介していきます。
これからKiro、特にKiro IDEを使いたいという読者を前提としていますので、公式ドキュメントと重複するような基礎的な内容も記載していますので、ご了承ください。
情報収集元
主にどのようなところから、Kiroについての情報を入手しているかを列挙します。
公式情報が集約されているので、まずはこちらを確認しましょう。ドキュメントだけでもかなりのことを把握できます。
RESOURCE>Changelogでバージョンごとのリリース情報、特定の機能やトピックに応じたブログを確認することができます。
KiroのGAと連動して、Kiro特集が行われていました。公式のブログの翻訳であったり、SAさんの調査考察の記事もあがっていて、とても参考になります。
英語の動画にはなりますが、ドキュメントだけからだけではわかりにくい、画面上での設定や表示が確認できるので、Agent HooksやMCPの設定などの特徴的な機能の設定についてより深く確認したい場合は参照してもいいと思います。
特徴的な機能と設定例
概要
Kiro にはいくつかの特徴的な機能があります。それぞれについての機能と設定例について記載していきます。
ショートカットキーバインド
Kiro IDEはVSCodeをベースにしているので、従来の機能も利用することができます。使ってない場合はショートカットキーを用いて操作のスピードアップを図りましょう。
WindowsだとCtrl+Shift+Pでコマンドパレットを表示して、カスタマイズすることができます。

個人的な嗜好になりますが、私はファンクションキーを検索などの操作に割り当てることが多いです。具体的には、遷移前に戻るGo Previous、定義にジャンプするGo to Definition、複数ファイルをまたいで単語を検索するSearch: Find in Filesなどをよく使っていたりします。
割とファンクションキーはデバッグや他の操作に割当たっていることが多いのですが、そもそもデフォルトでファンクションキーを使っていなければ、既存の干渉しうるキーバインドは削除してしまってよいです。
私は、ちょっと前に戻りたい時のGo Previousは割とよく使っているので、ショートカットキーを割り当てていることが多いです。

参考までに、デフォルトのキーバインドはこちらを参照してください。
Specs
SpecsはKiroの中でも最も特徴的な機能の一つです。
コード生成の前に要件、システム設計、実装するタスクを定義するというアプローチにより、推論と実装の指針がドキュメント化され、開発の方向性のズレを少なくすることができると思っています。
公式ドキュメントにもある通り、Specsを使うと以下を実現することができます。
- 要件を受け入れ基準を含むユーザーストーリーに分解する
- シーケンス図とアーキテクチャプランを使用して設計ドキュメントを作成します
- 個別のタスクにわたる実装の進捗状況を追跡する
- 製品チームとエンジニアリングチーム間で効果的に連携する
このSpecsに対を為す機能にVibeコーディングがあります。
再び、公式ドキュメントにある通り、
バイブコーディングは、複雑なタスクや大規模なコードベース上で構築する場合、過剰な指示が必要になる場合があり、コンテキストを誤って解釈する可能性があります。バイブコーディングでタスクを実装する場合、その過程で行われたすべての決定を追跡し、チームのために文書化することは困難です。
上記のような課題がある開発では、私はSpecを使用するようにしています。
極論ですが、機能の詳細部分やデザインは流動的でいいのですぐにデモ用のアプリや画面が欲しい場合はVibeコーディング、それ以外の実案件の場合はSpecsというような使い分けをしています。
Chat
Kiroも他のAIエージェントIDE同様にチャットパネルを有していて、自然言語の対話形式で開発を進めることができるようになっています。直近では、11月に出たばかりのClaude Opus 4.5をもう選択することができるのも嬉しい機能です。
私は、クレジット消費が気になるので、コード生成をする場合はAutoに、チャットで細かい指示や不明点を室もする場合はSonnet 4.5以上を利用するというのベースの戦略にしています。ただ、細かい仕様変更やバックエンド部分の移行のようなやや難易度が高いコード生成の場合にはAutoにしない方が望むコードに近付く生成ができているような”体感”があります。まだ、試行錯誤中なのでグッドプラクティス程度です。
なお、クレジット消費量はIDEの右下を見ると、常時表示されてもいます。

チェックポイント
チャットの機能の一部でもありますが、Kiroにはチェックポイントという巻き戻し機能があります。
チャットの中に、以下のようなチェックポイントが表示されます。Restoreを押すと、確認に進みます。

続けて、戻されるファイルの一覧や注意が表示されますが、confirmを押すとクレジットの消費なく、ファイルの修正とそれまでに進行したコンテキストの破棄もして、その時点に巻き戻すことができます。

また、ファイル単位のrevertもあります。こちらはチャットのコンテキストや履歴を消すことなく、ファイルの修正だけを行います。

当時そのタイミングで何を直したか、後続のやり取りですでにファイルの内容も大きく変更していたというようなこともあったりして、私個人はrevertの機能で戻すのは難易度が高いなと思っています。私は、gitのソース管理の機能で戻したり、前述のチェックポイントで戻す方が多かったです。
なお、チェックポイント機能があるからといってソース管理をしなくていいというものではありません。あくまで目的が異なりますので、ソース管理は必ず行うようにしましょう。
ただ、このチェックポイント機能ができたおかげで、Spec駆動でも実験的にどんどん試してみようと思うようにはなりました。代わりにクレジットをよく消費してしまうようにも感じますが。。
Hooks
手動で都度行っていたような反復処理を自動化することができる機能です。
Hookできるイベントの種類は以下のようになっています。
- ファイル作成時:File Created
- ファイル保存時:File Saved
- ファイル削除時:File Deleted
- 手動トリガー:Manual Trigger
IDEから設定することができます。もちろん日本語で入力してよいのですが、実際の設定は英語に変換されます。試しに公式ドキュメントにあるInternationalization helperという多言語対応のHooksを作成してみます。

Hooksの登録後はGUIから編集することができます。

設定ファイル自体は以下に保存されていますので、もちろんこちらを編集しても構いませんが、GUIを使ったほうがわかりやすいです。
- .kiro/hooks/locale-sync-hook.kiro.hook
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ "enabled": true, "name": "Multilingual Locale File Sync", "description": "When English locale files are updated, automatically identify added/changed string keys, check for their presence in all other language files, add missing keys with NEEDS_TRANSLATION markers, mark changed keys with NEEDS_REVIEW, and generate a summary of changes across all languages", "version": "1", "when": { "type": "fileEdited", "patterns": [ "**/en.json", "**/en.yml", "**/en.yaml", "**/locale/en/**", "**/locales/en/**", "**/i18n/en/**", "**/lang/en/**" ] }, "then": { "type": "askAgent", "prompt": "An English locale file has been updated. Please perform the following steps:\\n\\n1. Identify all added or changed string keys in the English locale file\\n2. Check all other language files (ja, es, fr, de, zh, etc.) to see if these keys exist\\n3. For missing keys: Add them to the respective language files with a \\"NEEDS_TRANSLATION\\" marker\\n4. For changed keys: Mark them in other language files with \\"NEEDS_REVIEW\\" to indicate the translation may need updating\\n5. Generate a comprehensive summary of all changes needed across all language files\\n\\nPlease analyze the changes and execute the synchronization process across all locale files." } } |
Steering
AIは過去に出した指示を忘れてしまうことがあります。チャットで定期的に規約やルールのような指示を与えなくてもSteeringを利用すれば一貫した指示をKiroに対して行うことができます。
IDEからもSteeringファイルを作成することができます。

スコープで言うとGlobalより、Workspaceの方がより優先されるものなっています。以下にIDEから作成できる項目ごとにスコープや記載すべき内容をまとめておきました。
| スコープ | パスとファイル名 | 記載内容 |
|---|---|---|
| Global(Global agent steering) | ユーザーのroot/.kiro/steering/任意の名前.md | 全体に関わるルール |
| Workspace(app agent steering) | アプリのroot/.kiro/steering/任意の名前.md | アプリ固有のルール |
| Workspace(Foundation steering file) | アプリのroot/.kiro/steering/product.md | プロダクト概要 |
| アプリのroot/.kiro/steering/structure.md | ファイル構成、命名規則等 | |
| アプリのroot/.kiro/steering/tech.md | 選択したフレームワーク、ライブラリ等 |
MCP
機能をさらに拡張する方法として、Model context protocol (MCP)があります。
利用するためには設定をmcp.jsonに保存しましょう。
実際には開発内容に応じて変更するとは思いますが、このあたりはWebアプリ開発であれば指定しておいても良いのではと思います。
・aws-docs
・playwright
・Context7
実際のmcp.jsonは以下のようになります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
{ "mcpServers": { "aws-docs": { "command": "uvx", "args": ["awslabs.aws-documentation-mcp-server@latest"], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": [] }, "playwright": { "command": "npx", "args": ["-y", "@executeautomation/playwright-mcp-server"], "disabled": false, "autoApprove": [] }, "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"], "disabled": false, "autoApprove": [] } } } |
ただ、jsonだけを一見すると正しく設定されたかわからないですよね。
IDEの左側にあるKiroのアイコンをクリックするとMCP Serverとの接続状態を示すことができます。
以下は、aws-docsだけわざとdisableにした状態ですが、playwrightとcontext7は正しくMCPサーバと接続できることがわかりますね。

また、ログの中にKiro – MCP Logsという分類があり、そこからMCPサーバのログを確認することができます。

また、MCPの設定は認証情報などの機密情報が含まれることがあります。うっかり個人やチームの認証情報をソース管理にあげてしまわないように注意しましょう。
例えば、環境変数としてjsonには設定をしておき、予め各自の環境にてjsonに設定した環境変数名でそれぞれの認証情報を設定しておくなど、ハードコーディングを防ぐ対策をするようにしましょう。
おすすめの開発プラクティス
これまでに言及していな点について、いくつか記載していきます。
Chatだけで開発できるがSpecsのレビューこそ大事
Kiroは単なるエディタではなく、自律型のIDEですので、全くソースコードを書かなくても自然言語によるチャットを通じて開発を進めることができます。
ただ、とりあえずコード生成してみようというよりも、Specsの精度を高める方がクレジット面でも要件通りの機能が実現できるかという点でも、効率的だと感じました。
Specsで生成されるファイル群を修正する場合についても、チャットで修正を指示しても構いませんが、細かい調整については手で変えた方が意図に近くなりました。
Specsをソース管理しよう
チャットのやりとり内容は一時情報なので、保存しなくても構いません。代わりにSpecsをソース管理しましょう。
生成されるソースコードよりも.kiro配下で保存されているSpecsこそ大事になります。
Specsは機能ごとに複数に分割してもいい
全て手作業でSpecsを書いている場合を除いて、自然言語で指示していても自然とファイル分割されてくると思いますが、1つの巨大なSpecsを作る必要はないですし、それはむしろアンチパターンです。
例えば2つの画面を持つようなアプリケーションでは、画面ごとのSpecsに加えて、共通仕様も外だしすることが多く、結果として合計3つのSpecsに細分化されていたりしました。
チーム開発ではSteeringでルールを定めてHooksで効率化しよう
個人開発では、フォルダやファイルの構成、命名規則はある程度個人の裁量で制御できるかもしれませんが、チーム開発となると制御は不可能です。ここでSteeringを活用しましょう。チーム全体の開発の目的、コード品質やルールを統一するために使用しましょう。
一方で、チーム開発は制限されてばかりで辛いことばかりではありません。1人のメンバーが「コミット前にリンターを走らせる」「依存関係追加時にドキュメントを更新する」といったHooksを作成し共有すれば、チーム全体でその効率化の恩恵を享受することができます。面倒な作業をチーム全体から取り除いて、作業を効率化する意識を持っていきましょう。
学習用コンテンツ
Kiroにはゲーム形式の「Spirit of Kiro」というチュートリアルがあるのを知っていますか?コード自体の大半もKiroを使って開発されたというものです。
AWSアカウントにリソースをデプロイして動かすこともできますし、大半のリソースをローカル環境で実行することもできます。

また、日本語版のワークショップも用意されています。元々AWS主催イベント用のものを、個人のAWSアカウントを利用することもできるように加筆いただいているようです。
デプロイせずにKiroの機能だけを抜粋して学習したい場合は、AWSアカウントの用意がなくても構いません。
ゲーム性があってモチベーションが上がるのはSpirit of Kiroなのですが、そもそものインストールからと簡単に実践しやすいのはワークショップの方になっていますので、初学者の方はワークショップから始めるのが良いかなと思います。
まとめ
Kiro、特にKiro IDEの機能や、具体的な私個人の設定例やプラクティス、加えて学習用コンテンツの紹介も行いました。
Kiroも7月のプレリリースからバージョンアップを繰り返しています。アップデートし忘れている方がいれば、是非アップデートしてみてください。
以前は使えなかった機能が使えるようになっていたり、わかりやすいところで言うと、11/24以前の版を利用していた場合には最新化することで新たにClaude Opus 4.5も利用することができるようになっていたりするはずです。
また、設定がわからないという場合はチャットを使って、とりあえずKiroに聞いてみるというのは有りです。実際に触って操作してみて、理解度を深めてKiroを活用してみましょう。
- 【困ってなかった?】AWS CloudShellの700MB縛りがKiro CLIで解かれた - 2025-12-05
- 優しい易しいKiro入門~設定とプラクティスを公開します~ - 2025-12-03
- AWS CloudShellでAmazon Q Developer CLIに名残を惜しみつつKiro CLIを使ってみる - 2025-11-25
- 過去に開発したアプリをKiroのスペック駆動で再開発してみた - 2025-10-04
- AWS CloudShellで一時的にAmazon Q Developer CLIが使えなくなってたから使えるようにしてみた - 2025-07-31
【採用情報】一緒に働く仲間を募集しています



