Employee Blog
社員ブログ

Kiro で行うちょっと進んだ AI 駆動開発(3)

はじめに

前回はKiro Spec モードの紹介と、要件定義、設計ドキュメント作成までをご紹介しました。

今回はその続きで、実装計画(tasks)の作成を行います。

実装計画(tasks)の作成

設計ドキュメント(design.md)の作成後、Kiro から設計ドキュメントの承認を依頼されます。

これを承認すると、実装計画(task)の作成が始まります。

設計ドキュメントの承認とタスクのオプション選択

「オプションタスクを保持(より迅速な MVP) 」と、「すべてのタスクを必須にする(最初から包括的)」の2種類から選択できますが、「すべてのタスクを必須にする(最初から包括的)」を選択することを推奨します。いくつかの簡単な課題で試してみたのですが、「オプションタスクを保持(より迅速な MVP) 」の方は機能単位でのテストを行わないため、細かなエラーやバグが潜んでいるケースがあり、結局はその後Kiroに何度か修正を依頼することにになってしまったので、自分でも作成や修正できるレベルの要件だが、Kiroにざっくりとアウトラインだけ迅速に作ってもらいたい際などに使用するといいと思います。

しばらくすると、実装計画(tasks)が完了します。

実装計画(tasks.md)の完成

作成された実装計画は tasks.md として作られますので、中身を確認します。

tasks.md を Kiro で表示すると、このような形で表示されます。

tasks.md

要件へのトレースバックが各タスクについていますね。

「⚡Start task」の部分をクリックすると各タスクが開始します。

タスクが開始されると、Kiroがタスクなどの内容から実装を進めてゆきます。途中、停止してユーザーへの許可を求めてきます。

タスクの開始 と ユーザーへの許可

右下の拒否/許可ボタンの辺りを拡大します。

左から、ノート+鉛筆アイコンが「コマンドを編集」、バツアイコンがコマンドの「実行を拒否」、緑三角が重なっている上にチェックマークのアイコンが「信頼してコマンドを許可」、緑三角のアイコンが「このコマンドを許可」です。

拒否/許可アイコン

単純に表示されているコマンドの実行を単発で許可する場合には、「このコマンドを許可」

このコマンドの実行についてはKiroを信頼して、以降はこちらから許可を出さなくても実行可能にするには「信頼してコマンドを許可」

コマンドの実行を拒否するには「実行を拒否」

コマンドを編集して実行させる場合には「コマンドを編集」を押してコマンドを修正後に実行してもらいます。
作成したスクリプトなどの実行などは「このコマンドを許可」、MCPサーバー(MCPサーバーについては別記事で解説します)への問い合わせなどの調査系は「信頼してコマンドを許可」など使い分けるとよいかと。
そんな感じで適宜許可を与えてあげると、タスクが完了します。

Task complaeted

あとはこれをタスク分だけどんどん続けていくだけで単体試験済みのコードが作成されていきます。

LLMも大人気でアクセスが集中しているケースも有り、超高速というわけにはいきませんがそれでも自分でイチから作るよりは断然早く作成できるかと。

今回の例では、 13 タスクありすべてのテストに合格した状態でタスクが完了になるまでは 不具合がでたり、デバッグをしたりと何度も Kiro と会話をしたりしながら延べ 8 時間程度かかりました。

何度か修正をお願いしてもうまくいかない場合、エラーの前後でログを出力するように依頼することで原因特定が迅速に行われるようになりました。このあたりは人がデバッグする場合と同じように、Kiro と一緒に解決方法を考えてあげる必要がありますね。

taskが全て完了

README.md の更新

作成されていた README.md は タスク=実装を行う前の仮版なので、タスク完了後にKiro に更新を依頼すると良いでしょう。

Kiro クレジットの消費について

下の画像は今回の実装で使った Kiro クレジットは 266.87 でした。 Kiro Pro プラン(20USD/月) の上限が 1000 クレジットなので、一月にSpecモードを使ってツール4つ開発するとKiro Pro では収まらなさそうということになります。仕事で Vibeモードのみの場合、かなり質問を投げたつもりだったのですが、600クレジット/月くらいの消費が最大だったことを考えると、 Specモードでバリバリ開発するとなるとその上の Kiro Pro+(40USD/月) が必要になりそうです。

Kiro Specモードでツールを作った際の Kiro クレジット消費

終わりに

Kiroで行うちょっと進んだ AI 駆動開発、どうだったでしょうか? AI を使った 開発支援は Kiro だけではないと思いますが、候補の一つとして検討してみてはいかがでしょうか。