こんにちは!今回は、要件定義からコードまで生成するAIツール「GEAR.indigo」をご紹介します。
このツールは、要件や概要をテキストで入力するだけで、必要なドキュメントやコードを自動で生成し、手作業の負担を軽減します。 本記事では、GEAR.indigoの特徴や使い方を詳しく解説します。ぜひ最後までご覧ください!
1. GEAR.indigoの紹介
1.1 概要
GEAR.indigoは、日本で開発されたAIを活用した開発支援ツールです。
現段階ではベータ版として提供されており、ユーザーがプロジェクトの概要をテキストで入力するだけで、開発に必要なドキュメントやソースコードをステップごとに自動生成し、開発プロセスの効率化を実現します。生成されたドキュメントやコードはツール上で簡単に確認・編集でき、ユーザーは開発中に内容を柔軟に調整・最適化することが可能です。これにより、設計書やコードをプロジェクトに合わせて柔軟に変更し、開発効率を向上させることができます。また、言語は英語と日本語に対応しており、国内外の開発者にとって使いやすい環境が整っています。さらに、既存のアプリケーションからのリバースエンジニアリングにも対応しています。 設計・ドキュメント生成が主軸であるため、プロジェクトの構造が複雑な場合や長期的なプロジェクト管理が得意です。
1.2 特徴
次に、特徴についてご紹介します。
- 工数・コストの見積もり:開発に必要な工数やコストを、生成された要件や機能リストをもとに自動で見積もります。
ステップバイステップでドキュメント生成:要件定義から基本設計、コード生成までを段階的に進め、一貫性のあるドキュメントを作成します。
ソースコードの生成とGitHub管理:GitHubのリポジトリと連携可能です。
- リバースエンジニアリング:GitHub等の既存のソースコードから、設計書やドキュメントを生成し、システムの理解や保守を支援します。
- 柔軟な修正・編集機能:生成されたドキュメントやコードは、ツール上で確認・編集が可能です。
1.3 料金
GEAR.indigoは初回登録時に20クレジットまで付与されます。
- Basic…$14.99 / month
- Pro…$29.99 / month
※現段階では、ドキュメント生成には全部で18クレジットを消費し、コード生成には16クレジットが必要です。そのためフリープランではドキュメント生成まで可能です。
2. GEAR.indigoの使い方
それでは、GEAR.indigoの使い方をご紹介します。
2.1 登録・セットアップ
まずは、下記のサインアップ画面よりアカウント登録をします。googleアカウントで簡単にログインも可能です。
言語の変更は、ログイン後に表示される右上のアカウント名から「ユーザー設定」で変更することができます。
2.2 作成
実際にどのようなものが作成できるのか検証するため、動かしてみました。今回はECサイトを作成し、Freeプランで利用できる範囲内で試しています。
2.2.1 プロジェクトの作成
まずは、画面右上にある「Create Project」からプロジェクトを作成します。
プロジェクトモード選択で、 「Production Creation」を選択。
プロジェクト作成ページが表示されます。
現在は、フロントエンド、バックエンドはNext.js、データベースはSupabaseで固定されています。
2.2.2 要件定義の作成
プロジェクト作成後、Step1の要件定義を作成します。
作成するアプリの要件をテキストに入力します。また、ファイルでもアップロード可能です。(無料プランの場合は、1つのファイルのみアップロード可能)
入力内容....以下の要件を満たすECサイトの仕様を作成してください。商品の閲覧、検索、詳細ページ機能。ショッピングカートと注文履歴機能。ユーザー認証(登録、ログイン、パスワードリセット)。支払い方法としてクレジットカードと銀行振込をサポートすること
指定文字数以内(10000 文字)で、生成するのに6クレジット消費します。
「生成」ボタンを押してしばらくすると、下記のドキュメントが作成されました。
ここではプロジェクト概要 / 現行業務フロー / 業務要件一覧 / システム業務フロー / 機能要件一覧 / 非機能要件一覧 が作成されます。
プロジェクト概要
指示していない内容も予測して作成してくれています。
業務要件一覧
ユーザーやカテゴリごとに必要な作業内容が整理されています。
システム化業務フロー
指示した機能に加えて、必要な機能も自動的に作成してくれます。
機能要件定義
カテゴリごとのインプット、アウトプットが整理されています。
非機能要件一覧
レスポンスやセキュリティについても、特別な指示をしなくても自動的に作成されています。
詳細な指示を出さなくても、必要な業務内容や課題を自動で推察・追加してくれるため、検討にかかる時間を大幅に短縮でき、大変便利な機能だと感じました。これにより、初期段階での見落としリスクを軽減し、プロジェクト全体の進行をスムーズに保つことができます。また、工数の見積もり精度が向上し、予定のリスケジュールや手戻り作業を減らす助けにもなります。さらに、想定と違う箇所があれば、ツールから直接修正可能なため、柔軟に調整しながら要件定義を進めることができます。
今回は簡単な指示文で作成しましたが、成果物を見ると、システムの目的、基本的な機能、システムが解決する問題や課題、ユーザー層、運用する環境、必要なセキュリティ要件なども推測して設定されていることがわかりました。このような内容も含めて指示することで、後から修正が減り、よりスムーズに作業を進められると思います。
生成されたドキュメントは、画面下部の「一括ダウンロード」ボタンをクリックすることで、ZIPファイルとしてまとめてダウンロードすることができます。
2.2.3 基本設計の作成
次のステップでは、基本設計を作成します。
作成した要件定義を基に、基本設計を自動的に生成することができます。画面遷移や必要な画面、レイアウトなど、基本設計に必要な情報をプロンプトに入力します。
今回も簡単な指示文を入力し、どのように作成されるか確認してみます。
プロンプト入力例.....UIはシンプルで直感的に操作できるようなものにしてください。
「生成」ボタンを押してしばらくすると、下記のドキュメントが作成されます。
指定文字数以内(10000 文字)で、生成するのに8クレジット消費します。
システム概要
コーディングルール(命名規則、コード構造、エラーハンドリング等)やデザイン規則(カラーパレット、レイアウト、コンポーネント)などが自動で生成されています。
テーブル定義
必要な項目を自動的に設定してくれます。(id(主キー)、テーブル名、カラム名、データ型、制約、デフォルト値、外部キー、および説明)
ER図
画面遷移
カテゴリごとにまとめられています。
画面一覧
カテゴリごと画面ごとに作業内容が整理されています。
画面UI
トップページ / 商品検索結果 / 商品詳細 / カート / ログイン / 会員登録 / 在庫管理 / マイページ が作成されました。 在庫管理とマイページは指示していなかったのですが、自動で生成されていました。
プロンプトで指示しなくても規則やルールが自動生成されるため、開発初期の準備作業が効率化され、品質向上にもつながったと感じました。主要なデータフローやUIの基本レイアウト、画面遷移などが自動生成されるため、これらを含めて指示を出すことで、後からの修正が減り、作業がよりスムーズに進むと考えています。
必要な要素を事前に生成してくれるおかげで、作業漏れを防ぎ、安心して開発を進められます。特に、手間のかかるUI作成が自動化され、修正の手間を大幅に削減できる点は非常に便利だと感じました。
2.2.4 詳細設計の作成
次のステップは、詳細設計です。
特に何も指示をしなくても上流の内容が引き継がれて作成することができました。
指定文字数以内(10000 文字)で、生成するのに4クレジット消費します。
共通コンポーネント
バックエンド処理
シーケンス図
アーキテクチャ
上流の内容を引き継ぎながら設計が進められる点が非常に素晴らしいと感じました。これにより、設計の一貫性が保たれ、設計ミスが発生しにくくなると同時に、後の修正も最小限に抑えられるのではないかと思います。
2.2.5 コードの生成
次のステップではコードを作成します。
生成するのに16クレジットを消費するために、今回はfreeプランでの検証なのでクレジットが足りず作成することができませんでしたが、 「Generate and Push to GitHub」ボタンを押すことで、ここまで生成したドキュメントを基にソースコードを生成することができるようです。 GitHubと連携でき、生成したコードを自動的にリポジトリへプッシュできます。
また、ここではsupabase設定用のSQLをダウンロードすることができます。 生成には1クレジット消費します。
2.2.6 その他の機能
2.2.6.1 見積りの生成
機能一覧・画面一覧を生成したのち、工数見積もりを算出することもできます。 WBS・見積書を出力できます!
機能一覧・画面一覧を生成後、工数見積もりやWBS、見積書を自動算出・出力できます。
①見積りボタン: 実装難易度や要件定義からリリースまでの工数を自動計算。手動で調整も可能です。
②Export機能: WBS、見積書、工数表をダウンロードできます。
③基準設定: 要件ごとの工数、プロセス比率、役割別レート、メンバー関与度を設定し、詳細な見積もりが可能です。
複雑なプロジェクトや大規模チームの場合、基準設定を活用することで、リソース配分や進行予測の精度が向上します。調整や確認は必要ですが、見積もりや資料作成の工数を大幅に削減し、プロジェクトマネージャーが本来の業務に集中できる点が魅力だと感じます。
2.2.6.2 デザインの生成
こちらの画面では、チャットに入力してデザインを生成することができます。 1メッセージにつき1クレジット消費します。
新しいメッセージを送信すると、前回のレイアウトが引き継がれない場合がありました。そのため、1つのメッセージに必要な内容をまとめて記入し送信する方が、想定していた内容を作成しやすく、クレジットの節約にもつながると感じました。
2.2.6.3 リバースエンジニアリング
GEAR.indigoのリバースエンジニアリング機能は、既存のソースコード(例えばGitHubにあるコード)を解析し、そのコードに基づいて設計書やドキュメントを自動生成する機能です。これにより、既存のアプリケーションやシステムの理解を助け、保守作業を効率化します。リバースエンジニアリングを使用すると、コードを元にシステムの設計や構造を把握しやすくなるため、特に複雑なシステムや過去のコードに基づく新規開発で役立ちます。
3. まとめ
システム開発の上流工程は、後のトラブルを減らし、品質の高いシステムを作るために非常に重要です。しかし、実際には資料作成や確認作業に多くの時間がかかり、肝心の開発に集中できないことが多いのが現実です。そんな中で、GEAR.indigoのようなツールを使ってドキュメント作成が自動化されると、資料作成にかかる時間を大幅に短縮でき、開発により多くのリソースを割けるようになります。これにより、システム設計や実装に集中することができ、最終的な成果物の質が向上することが実感できました。
また、上流工程の作業は経験やスキルが求められることが多いため、特に小規模なプロジェクトの場合、少人数で効率的に対応できるかどうかが大きな課題となります。GEAR.indigoを使うことで、少人数でもスムーズに作業を進めることができるため、非常に便利だと感じました。
AIが生成したドキュメントやコードに人間の創造力を加えることで、効率よく高品質な成果物を作成することができます。AIのサポートを受けながらも、最終的な調整や改良を加えることで、より良いものを生み出せると感じています。現在、GEAR.indigoはベータ版として提供されていますが、今後さらに多くのフレームワークやデータベースへの対応が進むとのことで、その進化が非常に楽しみです。