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

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

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

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

 

自己紹介

クラウド開発事業部所属の櫻井です。
普段は主にバックエンドの開発を担当しています。エンジニア歴は4年で、主にAWSを使った開発をしています。

 

普段使ってるAIツール

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

  • Claude Code : 毎日コーディングで利用していますが、他のコーディングツールより指示の理解や出力がいいように感じます。

 

企画概要とゴール

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

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

 

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

 

作業プロセス

要件の理解と整理

まず、渡された要件(*1)を読み込み、AIと壁打ちを行いながら疑問点を洗い出しました。 疑問点は発生した時点で仮説を立て、運営に対して質問を行い曖昧な部分を取り除くようにしました。
(*1)

運営への質問事項

おそらくToDoリスト的なものを作ればいいということはわかりましたが、要件の中で書かれていないかつ重要そうな部分は運営に確認を行いました。

Q1の回答から、デフォルトでは今日やるべきタスクと期限が今日のタスクを表示して、「すべて表示」のようなボタンをクリックしたときだけ今日やるべきタスク以外のタスクもすべて表示するようにしようと考えました。

 

 

Q2 , Q3 から、

  • 複数人で使うアプリで、ユーザーの判別に複雑なロジックは不要で、ユーザーが入力した名前を信用するということ。
  • 複数人で使うということから、別のユーザーにタスクを作成するユーザーも居る可能性があるということを考え、どのユーザーがどのユーザーのために作成したタスクなのかが分かる必要があるということ
  • 他のユーザーのタスクを確認したい可能性を考え、デフォルトでは自分のタスクのみを表示するが、他のユーザーのタスクも表示できるようにすること
    が必要だと考えました。

Specs定義

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

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

Kiroに要件を伝える際に、曖昧な部分を勝手に判断せずに質問するように指示を行うようにする。 まずは、要件や、壁打ち、運営への質問から、わかったことを議事録に残してもらうように指示を行う

Kiroへの指示

いきなりspecsを作成するのではなく、まず壁打ちを行い、曖昧な部分を洗い出すアプローチを取りました。この際、以下の点を意識してKiroに指示を出しました。

曖昧な部分を勝手に判断させない:AIは行間を読んで勝手に実装を進めがちなので、不明点は必ず質問させる
議事録として記録を残す:壁打ちの内容をドキュメント化し、後から見返せるようにする
段階的に進める:壁打ち → 質問の洗い出し → 運営への確認 → specs作成という流れを明確にする

 

その後、運営からの要件を提示すると、Kiroは brainstorming.md を作成し、14個の質問をリストアップしてきました。それに対して順次回答をおこない、更に質問が出てきた場合は回答する。のような形で要件を詰めていきました。

最終的に出来上がったbrainstorming.mdは以下です

 

 

最後に、

brainstorming.mdからspecsを作成してください。

と依頼しました。

Kiroの出力

  • requirements.md

 

  • design.md

 

  • tasks.md

出力の判定と修正

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

判定結果

修正が必要

 

良かった点

最初に壁打ちをすることで、修正事項がすくなかったこと

問題点

・どのようなUIライブラリを使うかを指示していなかった
途中で気づきMUIを使うように指示しました。

Kiroとの対話

MUIを使用するように修正してください。

 

テスト実装

1. ユーザージャーニーテスト

・ユーザー識別
・タスク作成
・タスク詳細表示
・タスク編集
・タスク完了/未完了の切り替え
・タスク削除

2. バリデーションエラーテスト

・必須項目(タイトル、担当者、期限)が空の場合のエラー表示
・ユーザー名なしでのアクセス制限

3. フィルタリング機能テスト

・複数の担当者でタスクを作成
・特定の担当者でフィルタリング
・フィルタのクリア機能

4. ソート機能テスト

・作成日順
・期限順での並び替え

5. 表示切り替えテスト

・デフォルトフィルター(期限切れ、必須、できれば今日中、今日が期限)
・すべてのタスク表示
・完了済みタスクの表示/非表示

6. 削除確認ダイアログテスト

・削除確認ダイアログの表示
・削除のキャンセル機能
・削除の実行

成果物

自分のタスクを作成

 

 

別のユーザにタスクを作成

 

 

タスクの編集

 

 

タスクの完了

 

 

タスクの削除

 

 

タスクのフィルタリング

 

 

所要時間

3時間半

主な機能

  • タスクの作成/編集/削除
  • タスクの完了/完了取り消し
  • ユーザー入力
  • 担当者選択
  • タスクの表示
  • タスクの並び替え

工夫点など

  • specs作成前にもととなるドキュメントを作成するようにしました。事前にKiroと内容を細かく定義しておくことで手戻りを少なくできました。

 

発見と学び

brainstorming.mdという議事録をAIに作成してもらった、後から「なぜこの設計にしたのか」を振り返ることができました。また、運営への質問内容と回答も記録しておくことで、要件の変更履歴が明確になりました。

AIとの開発では、会話のログが流れていってしまうため、重要な決定事項はドキュメントとして残すことが特に重要だと感じました。

 

感想

良かった点

社内メンバーも同じ課題を行いブログを公開するので、自分がやったことのない使い方などを取り入れる機会ができそうです。

それにより、更にAIとうまく付き合っていく方法を勉強できることが良かったと思います。

苦労した点

最初の要件洗い出しのときに、見落としがないか、AIが勘違いをしている箇所がないかを確認しながら行うので少し時間がかかってしまいました。

今後に活かせること

実務でAIを使った開発をする際にも、まずは自分とAIの認識のズレがないかを確認したうえで仕様書を作成するようにすることで、AIの勝手な判断による実装をなるべく減らし、想定外のものができてしまう問題を少なくできると思いました。

 

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

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

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

Twitter で
The following two tabs change content below.
櫻井
2022年3月にギークフィードに入社。 エンジニア完全未経験からSAP・SAAを三週間で取得することが出来ました。そのためAWSに関することを中心に記事を作成する予定です。 自分が初心者だからこそわかる、エンジニア未経験の方や、エンジニアを始めたばかりの方の躓きポイントをうまく説明できるように頑張ります。

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

採用情報
ページトップへ