記事公開日
AWS KiroのAgent Steering機能を使ってみた

この記事のポイント
AWSの次世代IDE「Kiro」の主要機能であるAgent Steeringを活用し、開発ルールをAIに永続的に学習させる方法を解説します。筆者が実際にToDoアプリのデモを通じて検証した、プロジェクト固有の規約を一貫して適用させるための実践的なステップを紹介します。
- Agent Steeringによるルール定義の自動化:
.kiro/steeringディレクトリ配下のMarkdownファイル(product.md, structure.md, tech.md)により、コーディング規約やプロジェクト構造をAIに一貫して把握させることが可能です。 - 検証済みの導入プロセスとメリット:
デモでは「ソースコードへの説明コメント付与」という独自ルールを定義。Vibeモードでの生成時に、個別の指示なしで規約に則ったコードが出力されることを実機で確認しました。 - 筆者による独自検証と所感:
従来のチャットごとの指示が不要になる利便性は作業者の負担を減らすことはもちろんのこと、チーム全体の一貫したパフォーマンス維持にも貢献してくれると感じました。
はじめに
こんにちは。DXソリューション営業本部の後藤です。
この記事では、AWS Kiroの主要機能の一つであるAgent Steering機能について解説します。
簡単なデモも用意してますので、AWS Kiroを初めて触る方も使用感を確かめられると思います!
従来のAIツールの悩み
従来のAI生成ツールを利用しているとき「AIにコードを書かせても、結局自分のプロジェクトのルールに合わなくて修正ばかりしている……」そんな経験はありませんか?
従来のAIチャットやコーディングアシスタントは一般的なコードを書くのは得意である一方、チーム独自の「プロジェクト概要」や「開発ルール」を把握して生成するのは難しいです。
そのためチャットごとに前提条件や出力の指定を記載するといった手間が発生してしまいます。
そんな悩みを解決してくれるのが、AWS KiroのAgent Steering機能になります。
Agent Steeringとは
Agent Steeringとは、Markdownファイルを通じて、ワークスペースに関する継続的な情報をKiroに提供します。専用ディレクトリ(.kiro/steering)配下にMarkdownファイルを置くことで、チーム共通のコーディング規約やアーキテクチャの決定事項をAIに永続的に学習させることができます。
また、ワークスペースからソースコードを自動で読み込んでMarkdownファイルを作成してくれます。
これによりKiroはチャットごとに規約を説明する必要がなく、ステアリングファイルから確立されたパターン、ライブラリ、標準に一貫して生成を行うことが可能になります。
主なメリット
- 一貫したコード生成: すべてのコンポーネント、API エンドポイント、またはテストは、チームの確立されたパターンと規則に従います。
- 繰り返しの削減: 会話のたびにワークスペースの基準を説明する必要がなく、常にSteeringの規約に準じた回答を出力します。
- チームの調整: ワークスペースに新しく参加した開発者でも、経験豊富な開発者でも、すべての開発者は同じ基準で作業します。
- スケーラブルなプロジェクトナレッジ:コードベースとともに拡張され、プロジェクトの進化に合わせて決定とパターンを記録するドキュメント。
デモ
Steeringの概要について説明したところで簡単なデモを通じて、AWS Kiroの使用感とAgent Steering機能の利便性を確認してみたいと思います。
AWS Kiroの利用が初めての方は以下ブログを参考にしてみてください。
プロジェクトルールとして「ソースコードにはコード説明を必ずつけること」というのが定義されていると仮定します。
<デモの内容>
例としてToDoアプリケーションを作成してみます。
<デモの流れ>
①Kiroに「Vibeモード」でコードを生成してもらう。(Steering無し)
↓
②Agent Steeringでソースコードからステアリングファイルを自動作成してもらう。
↓
③Steeringに「ソースコードには説明のコメント文が必要」のルールを追加で定義する。
↓
④Steering設定後、Kiroでコードの修正を実施。ソースコードに反映されているか確認する。
簡単なToDoリストを作成しよう
AWS Kiroに簡易的なToDoリストアプリケーションを作成してもらう
今回は簡易的なコードを作成するだけなので直感的な操作に優れた「Vibeモード」で開始します。
以下機能を持ったToDoリストを作成してみましょう。
・タスクの追加
・チェックボックスで完了/未完了の切り替え
・タスクの削除
・ローカルストレージでデータを保存(ブラウザを閉じても保持)

チャットに入力し実行すると、自動でToDoリストアプリのスクリプトを作成してくれました。
チャットには実装した機能の詳細について記載してくれますね。
画面左上のフォルダ配下に作成されたスクリプトファイル群が追加してあるのが確認できます。
では実際にアプリケーションを実行してみましょう。
チャットで「アプリケーションを実行して」とお願いすると自動でブラウザ上で起動してくれます。
ブラウザ上でToDoリストアプリが実装されていることが確認できました!
今回条件に出した機能についても問題なく実装されていました。
Agent Steeringを設定
では実際にSteeringを設定してみましょう。画面左側のKiroアイコンをクリックすると、AWS Kiroの主要な機能がいくつか表示されます。
その中から「AGENT STEERING」があるのが確認できるかと思います。
「Generate Steering Docs」をクリックしてください。
クリックすると、チャット内に別タブが作成されワークスペースの読み込みを実行してくれます。
Kiroがワークスペースを読み込んで製品概要(product.md)、プロジェクト構造(structure.md)、技術スタック(tech.md)を自動で作成してくれます。
データの読み込みが終わると/steeringディレクトリ配下に「product.md」と「structure.md」と「tech.md」が自動で作成されたことが確認できます。
出力されたのが英語表記で見づらかったため日本語に直してもらいました。
ついでに日本語にしても正常に解釈して実装してくれるか確認したいと思います。
ちなみに中身はこのようになっていて、ファイル自体は自由に編集が可能です。
各ファイルの説明
・【product.md】ファイルワークスペースの製品概要を定義します。
製品の目的、ターゲットユーザー、主要機能、ビジネス目標を定義します。これにより、Kiroは技術的な決定の背後にある「理由」を理解し、製品目標に沿ったソリューションを提案することができます。
・【structure.md】ファイル
ワークスペースのプロジェクト構造を定義します。
ファイル構成、命名規則、インポートパターン、アーキテクチャ上の決定事項を概説します。これにより、生成されたコードが既存のコードベースにシームレスに適合することが保証されます。
・【tech.md】ファイル
ワークスペースの技術スタックを定義します。
選択したフレームワーク、ライブラリ、開発ツール、および技術的制約を文書化します。Kiro が実装を提案する際、既存のスタックが他の選択肢よりも優先されます。
Steeringの設定自体はこれで完了です。ただ、これだけだとスクリプトを読み込んでその内容からルールを定義してくれただけです。独自のプロジェクト定義にするために新規のルールを追加してみましょう。
Steeringにルールを追加する
現状、Kiroで作成してくれたスクリプトにはコード説明の記述がありませんでした。このままでは第三者が見たときやコードが複雑化したときに分かりづらいです。
コード説明を含むようにSteeringで定義してみましょう。
ファイルを直接編集することも可能ですが、せっかくなのでKiroにお願いして定義追加してみましょう。
技術スタックファイルに「スクリプトにはコード説明を入れること」をルールとして追加します。
自動で適切な形に修正して技術スタックに追記してくれました。では実際に適用されるのか見てみましょう。
最初のタブに戻り、ToDoリストに削除タスクを見れる機能を追加してスクリプトの修正を実行してみます。
コメントアウトによるコード説明については言及せず、Steeringのルールが適用されるのか確認してみましょう。
追加変更を適用してくれたみたいですね。修正を加えたファイルについても出力してくれています。
修正後のスクリプトを確認してみましょう。するとスクリプトにコメントアウトによるコード説明が追記されていました!
Steeringの機能によりAIがプロジェクトの規約・定義に則った回答を出力してくれることが確認できました。
これでいちいちコード説明を入れてと言わなくても自動で作成してくれます。
ちなみに修正したファイルの変更点を確認したい場合は、チャット内で変更のあったファイルから左のアイコン(矢印がお互いに向いているマーク)をクリックすると修正前と比較することができます。
スクリプトを変更したのでToDoリストを更新して確認してみましょう。すると削除したタスクが確認できるようになってました!
特に言及してなかった、その他便利機能(復元、完全削除、時刻)もAIが勝手に追加してくれてますね。
まとめ
いかがだったでしょうか。今回はAWS KiroのSteeringの設定をしてみました。
従来のAI開発では、回答の言語やコードスタイルを制御するために、チャットのたびに指示(命令)を送る必要がありました。
しかし、Steering機能によってプロジェクトのルールをあらかじめ定義しておくことで、AIは指示を待たずとも自律的に最適な判断を下せるようになります。
非常に便利な機能である反面、定義設定を疎かにするとあまり恩恵を受けにくい印象でした。
Steeringの設定はプロジェクトの根幹となる部分をしっかりと定義し、慎重にかつ詳細に設定する必要がありそうだと感じました。
次回はSteeringにおける定義設定のベストプラクティスやアンチパターンについて調べていこうと思います!
↓QESではKiroについて積極的に情報発信していきますので是非ご覧ください!
もし「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>
<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

