ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

【re:Invent 2025】セッション (DVT402-R) で学んだ効果的なステアリングファイルの書き方

こんにちは、AWS グループの尾谷です。

re:Invent 2025 に参加しています。

本ブログでは、Kiro をこれから触ってみたい方や、ステアリングファイルの書き方を知りたい方向けに、Kiro の効果的なステアリングファイルについてご紹介させていただきます。
このステアリングファイルの書き方は、re:Invent 2025 で受講した以下の Workshop セッションで紹介されていた手法を日本語に加工したものです。

Game on: build a retro adventure game in 120 minutes [REPEAT] (DVT402-R)

キロードランナー

DVT402 は、120分の Workshop のリピートセッションです。

内容としては、Kiro を用いて 10分程度の Vibe コーディングをすることで、スーパーマリオブラザーズ的なアクションゲームや、Flappy Bird 風のゲーム、パックマンなどのゲームを作れました。

まずは、このセッションで僕がサクっと作成したレトロなゲームを紹介させてください。
デモ動画を YouTube にアップロードしたので、ご覧ください。

www.youtube.com

題材は、ロードランナーです。
ちなみに、ロードランナーのロードは、Road(道) でも、Load(負荷)でもなくて、鉱脈という意味の Lode なんだそうです。

最初、ゲームタイトルを Kiroad Runner にしようと思っていたのですが、上記由来を知り、カタカナ表記に変更しました。

ゲーム内容はというと、動画をご覧いただいた通り、穴を掘るアニメーションも、ハシゴの位置も、敵のドット絵も未成熟です。
ク⚫︎ゲー扱いしていただけるレベルにも届いておりませんが、それでも 10分程度で作れたのは Kiro のおかげだと感じました。

今回、Kiro を使った Vibe コーディングにあたり、ステアリングファイルの重要性を感じたので、アウトプットさせていただきます。

ステアリングファイルとは

ステアリングは、マークダウンファイルを通じて、ワークスペースに関する継続的な情報を Kiro に渡すための機能です。
チャットごとに規約を説明する代わりに、ステアリングファイルを使用することで、Kiro は確立されたパターン、ライブラリ、標準に一貫して従うようになります。

ステアリングファイルの基本的な考え方については、以前の記事「Kiroで実行ログ、ドキュメント、コードコメントを全て日本語で出力する」で詳しく紹介していますので、併せてご覧ください。

techblog.forgevision.com

セッション(DVT402-R)で学んだ効果的なステアリングファイル

以下が、セッション(DVT402-R)で学んだ効果的なステアリングファイルです。

# レトロゲーム・アプリケーション構築ルール
あなたは、あらゆるタイプの開発者と協力的に連携する、ゲーム構築エージェントです。  

以下の点にご注意ください。
- ユーザーは日本人 - ユーザーとのやり取りは日本語を用います。
- ユーザーが好む言語を使用する - ユーザーに、ゲームを実装する言語とフレームワークを尋ねます。
- コア開発哲学「小さく始めて、賢く構築する」を遵守してください。
- 常に、コアゲームプレイを示す、可能な限りシンプルなバージョンから始めてください。
- スコアリングとキャラクターについて明確な質問をしてください。
- 仕上げや高度な機能を追加する前に、基本バージョンを取得してください。
- 仕様モードでは、実装の最後に「あれば便利な機能」を tasks.md に追加してください。
- 各タスクが終了した後、ユーザーにゲームを実行するように促し、次のタスクに進む前にユーザーからのフィードバックを得てください。
- ユーザーがゲームアプリケーションの計画と構築を行っている間に、オーディオおよびビジュアル効果を追加するための独創的な方法を提案してください。
- ユーザーの入力を取得し、ゲーム構築を支援する際にユーザーの好みを保存するための user-context.md ステアリングファイルを作成してください。
- プロジェクトに Kiro-logo.png 画像がある場合は、それをゲームのスプライトとして使用してください。
- 明確な質問をし、ユーザーが確認しない限り、推測で進めないでください。

ポイント

最初に、Kiro が必ず日本語で回答をくれるように日本語を指定します。
実装する言語やフレームワークは、確認するようにした方が後戻りがないと感じます。自分に経験のない言語で構築してしまうと、バグフィックスに時間を要する可能性があります。
「小さく始めて、賢く構築する」は非常に重要なポイントだと思います。
複雑なシステムを一気に作り上げてしまうと、スパゲッティコードになってしまい、修正が難しくなります。
出来上がったプロトタイプをブラッシュアップしながら、開発を進めていくのがレトロゲーム開発に最適と感じました。

まとめ

今年に入ってから、Kiro の Vibe コーディングや、ChatGPT を使ったコード記述支援を多用してきました。いろいろ試す中で、自分の頭の中にあった曖昧な想定と、実装のギャップを埋めることが非常に重要だと感じてきました。

re:Invent 2025 では、Dr. Werner Vogels が最後のキーノートで、話されていたエピソードが印象に残っています。

人間が自然言語で書く指示やプロンプトは曖昧であり、その曖昧さを減らすために仕様を書くことや、より明確なプロンプト設計が重要

僕は、このステアリングファイルを使うことで、このギャップを埋めることができ、効率的な開発ができると感じました。

以上です。