Kiroには、プロジェクト固有のルールや設計方針をAIへ継続的に伝える Steering という機能があります。

以前の記事では Spec や Hook を紹介しましたが、今回は Steering に注目します。

Steering を利用することで、プロジェクトの目的や技術スタック、ディレクトリ構成などを Markdown ファイルとして管理し、Kiro が継続的に参照できるようになります。

今回は公式ドキュメントをもとに、以下を実際の画面とあわせて確認していきます。

  • Steeringとは何か
  • Generate Steering Docsとは何か
  • Refineとは何か

Steeringとは

Steering は Markdown ファイルを利用して、プロジェクト固有の知識を AI に継続的に与える機能です。

例えば、以下などを保存しておくことで、Kiro はそれらを考慮しながら開発を進めます。

  • プロジェクトの概要
  • 技術スタック
  • ディレクトリ構成
  • コーディング規約

Generate Steering Docs を試す

Steering はゼロから作成するだけではありません。

Kiroでは Generate Steering Docs を実行すると、リポジトリを分析し、基本となる Steering を自動生成できます。

まず、左側の Agent Steering & Skills+ ボタンをクリックします。

次に Project steering files を選択します。

すると Kiro がリポジトリを分析し、Steering を生成します。

今回のTerraformプロジェクトでは、以下の3ファイルが生成されました。

  • product.md
  • tech.md
  • structure.md

公式ドキュメントでも、この3つが基本となる Steering ファイルとして紹介されています。

Refineで内容を改善する

生成されたSteeringは、そのまま利用するだけではありません。

各Steeringファイルには Refine ボタンが用意されています。

Refine を実行すると、Kiro が既存の内容をもとに、より詳細な Steering へ改善してくれます。

実際に product.md を Refine すると、以下などが追加され、プロジェクトの背景や各AWSサービスの役割まで整理されました。

  • Purpose
  • Key Components
  • Service Selection Guidelines

右側のチャットでは、どのような内容を追加したのかも説明されます。

Steeringの読み込み

公式ドキュメントでは、Steeringには複数の読み込み方法(Inclusion mode)が用意されています。

  • always
  • fileMatch
  • manual
  • auto

今回 Generate Steering Docs で生成された product.md には、以下が設定されていました。

---
inclusion: always
---

これは、常にAIのコンテキストへ含める設定です。

Specとの違い

SteeringとSpecは役割が異なります。

機能 役割
Steering プロジェクト全体で利用する知識・ルール
Spec 要件・設計・実装計画

Spec は機能開発を進めるためのワークフローですが、Steering はプロジェクト全体で利用する知識を保持するための仕組みです。

まとめ

Steering は、Kiro がプロジェクトを理解するための知識を Markdown ファイルとして管理する機能です。

Generate Steering Docs を利用すると、以下を自動生成でき、そこから Refine によって内容を改善していくことができます。

  • product.md
  • tech.md
  • structure.md

まずは Generate Steering Docs で基本となる Steering を生成し、内容を確認しながら Refine を活用することで、プロジェクトに合わせた Steering を整備できます。