Devin × Gemini で挑む「仕様の可視化」。AI協働で全機能リストを作ってみた
Photo by Eugenia Ai on Unsplash
こんにちは、QA Squad の青柳です。
これまでのブログでは、チームの土台作りとしての 「プロセス改善」 や、エンジニアと共に品質を作る 「協働QA」 についてお話ししてきました。 今回は、それらの戦略をさらに加速させるための「具体的な戦術(How)」、特に最新の AI エージェントを活用した取り組みについて紹介します。
目次
直面していた課題 : 仕様のブラックボックス化
Devin × Gemini による「AI with AI」ワークフロー
1. なぜ Devin だったのか?
2. 新しいワークスタイル : 「AI with AI」
3. 全プラットフォーム統合とGASによる自動化
「品質の可視化」と組織へのインパクト
AIを「チームの一員」に迎える
直面していた課題 : 仕様のブラックボックス化
私たちが掲げる「攻めのQA」には、プロダクトの深い理解が不可欠です。しかし、長く運用されているサービス(Wantedly Visit)には、避けられない課題がありました。
- 新旧技術の混在 : Rails と Next.js、UIKit と SwiftUI、Fragment と Compose などが入り混じる巨大なコードベース。
- 仕様書の不在 : 明文化された最新の仕様書がなく、正確な挙動を知るにはコードそのものを読み解くか、有識者に都度ヒアリングする必要があった。
- プラットフォーム間の差異 : Web / iOS / Android で微妙に機能や挙動が異なる。
「仕様がわからないのでエンジニアに聞く」という受け身の姿勢のままでは、開発エンジニアの時間を奪ってしまいます。 そこで私たちは、QA 自らが「コードから仕様を読み解き、正解を可視化する」ことこそが、自律的なチームへの第一歩だと考えました。
そのためのパートナーとして選んだのが、自律型AIエンジニア「Devin」と、生成AI「Gemini」です。
Devin × Gemini による「AI with AI」ワークフロー
1. なぜ Devin だったのか?
GitHub Copilot のような支援ツールではなく、Devin を選んだ理由は「エージェント(代理人)」としての能力です。リポジトリ全体を読み込み、ファイル構造を把握し、自律的に調査してドキュメントを生成する能力は、複雑に入り組んだ我々のコードベースを紐解くのに最適でした。
※ AIサービスの導入基準や個人情報の取り扱いは、各企業のセキュリティポリシーなどによって異なります。本事例はあくまで弊社のケースであり、導入に際しては法務確認のもと、セキュリティリスクを考慮した運用ルール(個人情報を入力しない、連携リポジトリを限定するなど)を策定して実施しています。
2. 新しいワークスタイル : 「AI with AI」
しかし、いざ Devin を使い始めると、「どう指示を出せば、QA が求める精度の回答が得られるか?」という新たな壁に直面しました。 そこで私たちは、もう一つのAI、Gemini を「参謀」として活用するアプローチを取り入れました。
役割分担は以下の通りです。
- Devin(実働部隊): リポジトリにアクセスし、コードを解析し、リストを作成する「手」の役割。
- Gemini(参謀): Devin への指示(プロンプト)を考え、解析戦略を立案する「脳」の役割。
- 人間(意思決定者): 全体の方向性を決め、成果物を評価する役割。
実践例 : Web版 (Next.js + Rails) 解析での壁打ち
当初、Devin に Web 版の画面リスト作成を依頼したところ、Next.js の「URL ルーティングファイル」だけを見てしまい、パラメータによる動的な画面切り替え(タブ機能など)が見落とされていました。
そこで、私は Gemini に相談(壁打ち)を持ちかけました。
私 :「Devin に解析させたけど、動的なタブ画面が漏れている気がする。どう指示すればいい?」
Gemini :「Next.js なら『ルーティングファイル』だけでなく、コード内の『条件分岐(if / switch)』や 『特定キーワード(tabs など)』 を grep 検索させる指示を追加すべきです。具体的には、〇〇というプロンプトを投げてみてください」
このアドバイス通りに Devin へ指示を修正した結果、 Devin は「URL としては存在しないが、ユーザーには見える画面」まで見事に発掘してくれました。 まさに、Gemini に脳を動かさせ、 Devin に手を動かさせることで、一人では到達できないスピードと精度を実現した瞬間でした。
3. 全プラットフォーム統合とGASによる自動化
Web版での成功体験をベースに、次は iOS / Android 版への展開を試みました。
しかし、モバイルはWebとは仕組みが異なるという壁が立ちはだかりました。そこで私たちは、Gemini と共に新たな解析戦略を策定し、Navigation 構造を地図として利用するというアプローチで攻略に挑みました。
- iOS / Android : URL がないアプリ版に対し、「Navigation 構造(Coordinator / NavHost)を起点にせよ」という戦略を Gemini と策定し、Devin で実行。
- 統合 : バラバラに出力された3つのリストを横並びにする比較表作成。
- 整形 : Devin が出力した大量の Markdown データを、Google スプレッドシートに一発で展開する Google Apps Script(GAS)も AI に生成させ、手作業ゼロでマスターリストを完成。
分析して終わりではなく、人間が使える状態にするための「最後のひと手間」さえも、AI によって自動化できた瞬間でした。
「品質の可視化」と組織へのインパクト
わずか数日の「対話」と「試行錯誤」で、以下の成果が得られました。
- 全機能マスターリストの完成 : 60 ~ 100 画面以上に及ぶ全画面・全機能が1つのシートに集約されました。
- プラットフォーム間差異の発見 :「Android だけこの設定画面がダイアログ実装」「Web・Android はリスト選択だが、iOS だけ独自の円形UIで実装されている」といった差異が可視化され、テスト漏れのリスクが激減しました。
- オンボーディングコストの削減 :「Wantedly Visit の全機能を知りたい」という新メンバーに対し、コードベースに基づいた網羅的かつ正確なドキュメントを提供できるようになりました。
これらは、過去のブログで触れた「QA依頼の効率化」や「ドキュメント整備」の延長線上にあり、AI を活用して、人力だけでは困難だったタスクを短期間で完遂できた事例です。
AIを「チームの一員」に迎える
今回の取り組みは、QA Squad が掲げる「協働QA」の拡張です。エンジニアと対話して品質基準を作るのと同様に、AI と対話して現状を把握する。この両輪が回ることで、QA はより戦略的な品質保証(ユーザー体験の向上など)に時間を使えるようになります。
今回作成したマスターリストはゴールではなくスタートです。今後はこれをベースに、リグレッションテストの自動化や、影響範囲分析の高速化に取り組んでいきます。
QA Squad では、このように「安心・安全・信頼」をテクノロジーの力でアップデートし続けるチャレンジを続けていきます。「究極の適材適所により、シゴトでココロオドルひとをふやす」の実現に向けて、私たちは AI とも "One Team" になり、走り続けます。