今回の記事では、当サイトの開発プロセスにおいて、AIがどのようにパートナーとして協働しているか、その概要と裏側をご紹介します。
- ▪--
📋 計画から実装までのプロセス設計
「みんなで麻雀帳」の開発では、単に思いつきでコードを書くのではなく、以下の3つのフェーズに分けて明確なプロセスを設計しています。
- ▪設計プランの策定 (Planning): 実装したい機能の設計書となる「計画ドキュメント」を作成し、データベーススキーマや影響範囲を整理します。
- ▪実装・タスク管理 (Execution): 細分化したタスクチェックリストを作成し、一つずつステップを進めていきます。
- ▪検証と記録 (Verification): 開発環境および本番環境でのテストを行い、最終的なリリース内容をまとめます。
これらの計画やタスク、検証内容は、リポジトリ内でMarkdown形式のファイル(`implementation_plan.md`、`task.md`、`walkthrough.md`)として厳格に管理・ドキュメント化されています。これにより、過去の決定事項の追跡やコードの品質担保が容易になり、個人開発でありながらチーム開発のような一貫性を保っています。
- ▪--
🤖 Google Antigravity の具体的な活用分野
日々の開発において、Google Antigravity は単なる「コードの自動補完」を超えて、以下のような高度なタスクで自律的に活躍しています。
# ① 双方向のアイディア提示によるスキーマ・リレーション設計
データベースモデル(Djangoモデル)の設計時には、私自身とAIとでそれぞれテーブル構造や外部キー関係のアイディアを提示し合います。「ユーザーアカウントとプレイヤー情報をどう安全に紐付けるか」「大会ごとのUUIDトークンの整合性をどう保つか」といった課題に対し、複数の選択肢を比較検討し、メリット・デメリットを相談し合いながら最適なデータベースリレーションを策定しています。
# ② BootstrapとカスタムCSSによるデザイン・レスポンシブ調整
快適なスコア入力を実現するため、UIはスマートフォン表示(レスポンシブデザイン)に特化させる必要があります。Bootstrap 5のグリッド配置をベースにしつつ、今回の「開発者ブログ」に導入したホバー時のカード浮き上がり・画像ズームなどの滑らかなマイクロアニメーション用のスタイルシートをAIに自律生成させています。さらに、PCとスマホの画像位置や余白バランスを確認し、表示の崩れがないか、レスポンシブ検証もAIアシスタントの支援を受けて行っています。
# ③ エッジケースを網羅する自動テストコードの生成
アップデート時に既存の機能(対局入力やLINE連携など)が壊れないよう、Djangoのユニットテストを徹底して記述しています。AIは、通常動作だけでなく「未ログインユーザーが下書き記事のURLを推測してアクセスした場合の404制御」や「無効なトークンが送信された場合のエラー処理」など、人間が見落としがちなエッジケースのテストケースを自動で検出し、テストコードを作成します。
- ▪--
🚀 AIとの協働によるメリット
Google Antigravityの導入により、これまでならデータベース設計からフロントエンドの実装、テスト作成、デプロイまでに数日要していたような新機能の実装が、数時間で完了するようになりました。
定型的なコードの記述や検証の手間が省かれたことで、開発者は「どのような機能があればユーザーの皆様が喜ぶか」という本質的なUX設計に集中できるようになっています。
今後もAIの力を最大限に活かしながら、皆様が使いやすい機能をどんどん追加していきます。これからのアップデートにもぜひご期待ください!