【Kiro・Playwright】社内でフルAI開発バトル!!「1行も書かずに」Todoアプリを完成させた話〜tokitoの場合〜

こんにちは。エンジニアのtokitoです。

このブログはギークフィードアドベントカレンダー2025の5日目の記事です。

他の記事もぜひチェックしてみてください!

 

自己紹介

クラウド開発事業部所属のtokitoです。
普段はプロジェクト推進、システム開発・運用保守を担当しています。エンジニア歴は8年で、主にLaravelや.NETを使った開発をしています。

趣味はサッカー観戦です。妻のご家族からの誘いを受けてサッカー観戦をするようになってから、徐々にハマっていき今年度は推しクラブのアウェイ遠征を全制覇しました。

 

普段使ってるAIツール

日常的に以下のAIツールを活用しています。

  • Gemini: Webで調べても直ぐに解決策がない場合やコーディングの参考として利用

 

企画概要とゴール

今回、「フルAI開発バトル」という企画に参加しました。

ルールはシンプルかつ過酷です。

 

詳しいルールや目的はアドベントカレンダー1日目の記事で紹介しております。

 

作業プロセス

要件の理解と整理

はじめに要件を読み込んだ時に曖昧な表現があると感じました。

ただ、今回は曖昧な要件のままでどのような結果が得られるのか、確認をするため渡された要件を簡潔にして箇条書きの形式で指示をする方針としました。
  • 渡された要件を概要を含めて簡潔な文字列とした
  • 箇条書き、段落の書式(インデント)で記載した

運営への質問事項

運営への質問は特にしませんでした。
理由としては運営から事前にKiroへの事前学習を行うことを指示されていたこと、また不明点も含めてKiroと対話しながら進めようと思ったためです。

 

Specs定義

要件を整理した上で、スペック駆動開発の第一歩として、Kiroに要件定義を依頼しました。

指示に至るまでの思考プロセス

Kiroに指示を出すうえで日本語での複雑な文章は齟齬が生まれるリスクが考えられたので簡潔な文字列で伝えること、指示の順序を整理すること、コーディングの形式に寄せるために段落(インデント)をいれて箇条書きにすることを意識しました。

Kiroへの指示

最初の指示

追加要件指示

Kiroの出力

  • requirements.md

 

  • design.md

 

  • tasks.md

出力の判定と修正

Kiroの出力を確認し、期待通りか、修正が必要かを判断しました。

判定結果

修正必要

 

良かった点

  • 指示で記載した点については画面のレイアウトや基本的な機能など踏襲されていた。
  • バリデーションチェックについて、必須チェックや追加で実装が必要なチェックなど表記されていて利用者が指定していな部分のAIからの提案が見られた。

問題点

  • タイトルやサブタイトルについて、明記していなかったのでAIで補完した名称となっていた。
  • デプロイ時のコマンドについて、bash向けになっていた。

Kiroとの対話

  • タイトル修正
    タイトル名やサブタイトルの修正のため以下のプロンプトを実行。サイトのタイトル名を含めて想定通りの修正を行ってくれた。

 

  • デプロイ時のコマンド修正
    Kiroに以下のプロンプト実行

Kiroによるデプロイ実行時に自動でshellscript向けのコマンドへ修正を行ってくれた。

 

テスト実装

E2Eテストの実装(Playwright MCP)にて作成されたテストは以下の通り。
データ保持の際に不具合が見つかったがKiro側で修正を行い再テストを実行した。最終的にはすべてのテストが成功し完了した。
テスト1: タスク追加フロー
テスト2: タスク完了/未完了切り替えフロー
テスト3: 元に戻す操作フロー
テスト4: タスク編集フロー
テスト5: タスク削除フロー
テスト6: 削除後の元に戻す操作
テスト7: データ永続化(ページリロード)

 

成果物

[スクリーンショット]


所要時間

120分

主な機能

  • タスクの一覧表示
  • タスクの追加
  • タスクの編集
  • タスクの削除
  • タスクの完了/未完了切り替え
  • 誤って削除したタスクを元に戻す
  • タスクのデータを保持

工夫点など

  • Kiroに簡潔な文章、形式で指示を与えるように指示の仕方を整理
  • プロンプトの入力のみでどこまでの作業をやってくれるのかタスクの実行やデプロイに至るまで全工程をKiroに実行させて基本的にYesかNoだけを選択するだけにプロンプトを組んだ。

 

発見と学び

タスクの進捗を確認するプロンプトを打った時に伝え方が悪かったのかタスクの一覧が答えとして返ってくることがあった。
どんな指示を与えるのか、どんな言葉を利用するのか考える必要があると思いました。

 

感想

良かった点

利用するAIによって変わってくる部分もあると思うが、全くコーディングをせずに実装からデプロイに至るまで実行できたので、手間暇なく一つのシステムを組めたので、現時点でここまで楽になったことを知ることが出来てよかったです。

他にも追加要件が与えられた際に自動で要件や設計部分に反映されるので、資料の反映に対する漏れは無くせると思いました。

苦労した点

Kiro自体を初めて使ったのでタスクの実行をどうするのか、どうしたら完了となるのか不明だったが、タスクの実行も含めてKiroにプロンプトを与えて実行してもらうことで楽に開発を行えた。

不明瞭な点が多いと補完できる範囲を超えてしまうことがあるので、初めの要件を如何に明確にできるかが重要だと思いました。

今後に活かせること

実務においてはプロトタイプの開発において、効果を発揮しやすいと思います。テストの実行も自動で行ってくれるため、少し修正して繰り返しテストを行う場面が多いときなどテスト実行のコストを大きく削減することが可能です。

 

この記事が、少しでもみなさんのにお役に立てば幸いです。

ここまでお読みいただき、ありがとうございました!

この記事が気に入ったら
いいね ! しよう

Twitter で

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ