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

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

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

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

 

自己紹介

クラウド開発事業部所属の sakuma です。
普段は受託開発案件のPJリーダー、案件保守などなどを担当しています。エンジニア歴は6年で、主にC#、TypeScriptを使った開発をしています。

 

普段使ってるAIツール

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

  • Github Copilot Pro: 料金が月額10$という、他のAIツールと比べてもかなりの安さで試せることから利用しています。
    SerenaというMCPと組み合わせて利用することで、大きいコンテキストでも精度の高い出力を実現できます。
    利用し始めてすぐに Claude Code や Cursor といった高性能なAIツールがでてきましたが、今のところ満足しているため、このまま使い続けてしまいそうです…
  • Kiro: プロトタイプ開発の案件にて利用しました。本ブログの目玉となっている新進気鋭のAIエディタです。
    AIと共に仕様を作成し、それをベースに開発を進める「仕様駆動開発」をウリにしています。
    詳しくは同ブログの内容を参考にしてください。
  • Gemini: とりあえず文章の雛形を用意したり、簡単な質問をしてみたり、普段使い系の枠で利用しています。仕事以外での利用機会も考えると、一番触れている時間が長いかもしれないです。

 

企画概要とゴール

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

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

 

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

 

作業プロセス

要件の理解と整理

お題と必須条件は非常にシンプルだったため、どういった部分に行間が潜んでいるかを考えました。
例えば一覧で、という部分についてはガントチャートのような表示でもカンバンボードのような表示でも要件を満たせるように思います。

他にはデータを永続化させる方法はどうするのかなど。業務管理ツールと考えると、その日で作業が終わらなかった場合は翌日に持ち込せるようにデータ保存はさせたいですが、DBを用意するのも面倒かなと思いました。

今回は上記2件 + 1件を個人的な都合の良い解釈ポイントと判断し、以下のように要件を追加しました。

  1. 作成したタスクはカンバンボード形式で表示
  2. データはLocalStorageを利用して永続化する
  3. Amazon S3 にアップロードして静的コンテンツとして利用する

運営への質問事項

特に質問などはしませんでした。
というのも、必須要件は既に出題されているので細かい部分は自分で勝手に解釈した方が面白いかなと思ったためです。
(今思い返すと、もう少し踏み込んで情報を取りにいった方が良い気がします…)

 

Specs定義

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

 

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

とりあえず作ってみるか!の勢いで、基本要件 + 上記の3要件をそのまま渡して動かしました。
出来上がったものを見ないと修正可否もわからないので、何はともあれアウトプットを確認したかったためです。

Kiroへの指示

以下のようなプロンプトでした。

 

Kiroの出力

  • requirements.md

 

  • design.md

 

  • tasks.md

 

出力の判定と修正

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

 

判定結果

何点か修正が必要でした。

 

良かった点

  • design.md に書かれた画面レイアウト通りのイメージで画面を作成してくれたこと
  • カンバンボードの使い勝手が良く、ステータスごとの色変更も含めて想定以上の出来だったこと
  • データ永続化に関する要件が適切に読み取られていたこと

問題点

  • 編集機能がなかった(よく見たら要件定義時点で記載が見当たらなかった)
  • 「今日やるべきことだけを管理できる」というプロンプトなのに、期日がyyyy/MM/dd となっていた
    • 個人的にはその日、という要件であれば当日の時間まで入力できた方が嬉しいと思う

Kiroとの対話

上記の不備修正のため、以下のプロンプトを追加で実行してもらいました。

テスト実装

最後にPlaywright MCPを活用したテストを作成、実施しました。
ざっくり以下のような内容です。

 

成果物

 

 

所要時間

ざっくり 2時間30分 ほどでした。
所要時間(3時間)内になんとか終わらせることができましたが、見返すと色々修正入れたくなります。

主な機能

Kiroに整理してもらいました。

 

工夫点など

  • カンバンボードへのチャレンジ
    • ユーザ体験的な楽しさを追求し、カンバンボードにチャレンジしてみました。
  • 必要最低限の構成
    • サーバサイドの実装を諦め、ローカルストレージを利用する方向を初期に検討したこと。
  • 要件の行間読み
    • どんな作りであれば要件にマッチしたものになるか、行間を意識した要件定義を行ったこと。

発見と学び

実務では気にしてやっている部分が、時間制限付きのゲーム形式だと焦って気づけずアウトプットに直結してしまったのが個人的には悔しかったです…

例えば

  • プロンプトの最後に「何か疑問があれば質問してください」と仕込む
  • steering に最低限の条件を用意して変な方向に進まないようにする

など、焦らなければもう少しクオリティが高くなる方法に気付くことができたように思いました。

 

感想

良かった点

  • とりあえず当日の3時間内でアプリ完成まではこぎつけたこと!
    • かなりタイトな時間での開発だったため、完成&デプロイまでは当日内にできたことはかなりスピード感ある対応ができたように思いました。
  • 他メンバーのAI活用方法を知れたこと
    • 他メンバーの活用方法などを今まで知らなかったので、かなりタメになりました。この機会に全部の記事を呼んで全部吸収したいです。
  • 改めてAIの 早さ を感じれたこと
    • 新人研修の題材に使っていたようなアプリが3時間で出来るの、本当にすごい時代になってしまったと改めて感じました

苦労した点

  • 適当なインプットは適当なアウトプットになる
    • レビュー不足で後から編集機能のプロンプトを追加した部分については、もう少し手前で防げたように思います。レビューはとても大事です。

今後に活かせること

Kiroを使ったアプリケーション開発手法については間違いなく知見が広がりました。

加えて、PlaywrightのMCPを利用したE2Eテストの自動生成は特に興味深かったです。テストを書く、書いたテストをメンテナンスし続けるという基本的ながら後回しになりがちな業務に、ようやく正面から向き合うことができそうです。

 

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

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

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

Twitter で
The following two tabs change content below.

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

採用情報
ページトップへ