TubeLingo AI Logo
tech

AI時代のプログラミング革命!TubeLingoが「Google Antigravity」を選んだ理由

はじめに:開発の複雑化と「書く時間」の限界

こんにちは!TubeLingo開発チームです。 皆さんが使っている語学学習プラットフォーム「TubeLingo」は、日々新しい機能を追加しています。しかし、機能が増えるにつれて、プログラムのコードはどんどん複雑になっていきました。

その結果、エンジニアが 「コードを書く時間」 よりも、 「仕様を確認したり、エラーの原因を探したりする時間」 の方が長くなってしまうという問題に直面しました。

そこで私たちは、開発ツールをこれまでの「VS Code」や「Cursor」から、Googleの最新ツール 「Google Antigravity」 へと切り替える決断をしました。今回は、なぜその選択をしたのか、そしてAIと一緒に働くコツについてお話しします。

AIエージェントと共にプログラミングを行うエンジニアのイラスト

AIは単なる「補助」から「パートナー」へ

1. ツール選定:AIは「副操縦士」か「実行部隊」か

移行にあたって、私たちは2つの強力なAIツールを比較しました。

✈️ Cursor (カーソル)

  • コンセプト: 副操縦士 (Co-pilot)
  • 役割: 人間が書き、AIが補完する
  • 強み: ファイル単体の高速コーディング

🤖 Google Antigravity

  • コンセプト: 実行部隊 (Agent)
  • 役割: 人間が指示し、AIが実装する
  • 強み: プロジェクト全体の機能実装

なぜAntigravityを選んだのか?

TubeLingoのような複雑なアプリ開発では、単にコードを書くだけでなく、 「コマンドを実行し、ブラウザで動作確認し、エラーがあれば直す」 という一連の作業が必要です。

Antigravityは、AIが自分の「手」を使ってこれらの作業を自律的に行える点が決め手となりました。

2. AIに「手」が生えた!驚きの機能「Skills」

Antigravityを使って最も驚いたのが 「Skills(スキル)」 という機能です。これは文字通り、AIに手足を与えるものです。

  • Terminal Skill: AIが自分でコマンドを実行し、エラーが出れば勝手にログを読んで修正案を考えます。
  • File Edit Skill: 提案だけでなく、実際にファイルを編集・保存してくれます。
  • Browser Skill: AI専用のブラウザを立ち上げ、ボタンをクリックして動作テストを行います。

例えば、「ライブラリの更新チェックをして」と頼むと、AIは勝手に調査を行い、結果をレポートとして提出してくれます。人間はそれを見て「OK」を出すだけです。

3. 賢いAIをどう使い分ける?

AIにも「得意・不得意」があります。私たちはコストと性能のバランスを考えて、2つのモデルを使い分けています。

  • Gemini 3 Pro (メイン担当)
    • 非常に高速で、大量のコード(コンテキスト)を一度に読み込めます。普段の開発はほぼこれで完結します。
  • Claude 3.5 Sonnet (専門家担当)
    • 複雑なロジックや、どうしても解決できない問題に直面した時の「セカンドオピニオン」として活躍します。

4. AIを指揮するコツ:「コンテキスト管理」

AIは非常に優秀ですが、すべての情報を一度に渡すと混乱して 「ハルシネーション(嘘)」 をつくことがあります。 AIをうまく指揮するためには、情報の渡し方(コンテキスト管理)が重要です。

① 「@」でピンポイントに指示する

「日記機能を直して」と曖昧に言うのではなく、「 @DiaryInputForm.tsx@useTopicLogic.ts を見て修正して」と具体的にファイル名を指定します。これだけで精度が劇的に上がります。

② 机の上をきれいにする (Clean Desk)

AIは「現在開いているタブ」を最優先で参照します。別の作業に移る時は、一度すべてのタブを閉じ、必要なファイルだけを開き直すことで、AIの集中力を維持させましょう。

③ 逆検索 (Impact Analysis)

逆に、どのファイルを修正すべきか分からない時は、AIに探させます。 例えば、「 トピック生成機能に関係するファイルをすべて特定し、役割を教えて 」と指示します。これだけで、人間が見落としていた意外な依存関係をAIが洗い出してくれます。

5. AIの「人格」を定義する:Project Rulesの活用

AIエージェントを単なる「検索ツール」から「専属のリードエンジニア」へと進化させる最後のピースが、 System Prompt (Project Rules) の設定です。

Antigravity(およびCursor)では、プロジェクトルートに .cursorrules というファイルを配置することで、AIの挙動を永続的に定義できます。これは言わば、 AIエージェントのための「入社時のオンボーディング資料」 です。

TubeLingoでの設定例

私のプロジェクトでは、以下のようなルールを記述し、AIに「リードエンジニア兼メンター」としての役割を与えています。

.cursorrules Example

  • Role & Behavior あなたは「TubeLingo」のリードエンジニア兼専属メンターです。 単にコードを書くだけでなく、"Why"(なぜそうするのか)を教えながら開発をリードしてください。

  • Tech Stack (Strict)

    • Framework: React + Vite
    • Language: TypeScript (Any型は禁止。厳格な型定義を行うこと)
    • Styling: Tailwind CSS
    • Backend: Netlify Functions
  • Development Protocol

    • Context First: いきなりコードを書かず、まずは関連ファイルを読み(Read File)、影響範囲を特定すること。
    • Impact Analysis: 修正による副作用を考慮し、プランを提示してから実装に移ること。
    • Verification: コード修正後は必ず npm run devtsc を実行し、エラーがないことを自律的に確認すること。

この設定による変化

このファイルを置くだけで、開発体験は劇的に変わります。

  • 「TypeScriptで書いて」と毎回言う必要がなくなる。
  • 「Netlify Functionsの作法」をAIが常に意識してくれる。
  • AIが勝手にテストコマンドを実行し、バグを潰してから報告してくれるようになる。

ツールの機能を最大限引き出すには、ツールへの「指示出し(Prompt Engineering)」そのものをコード化し、プロジェクトの一部として管理することが重要です。

✅ 設定後の確認方法(Verification)

ルールファイル(.cursorrules)を作成したら、本当にAIにその「人格」が宿ったか確認してみましょう。 Antigravityのチャット(Ctrl + L または Ctrl + E)を開き、新しいセッションで以下の質問を投げかけます。

User: 「現在の開発モードと、私の役割を確認してください。」

もし設定が正しく読み込まれていれば、AIは以下のように、定義した役割になりきって答えるはずです。

AI: 「はい、私はTubeLingoのリードエンジニア兼専属メンターです。現在は自律的なAgentモード(Skills有効)で動作しています。ご指示をどうぞ。」

これが返ってくれば、オンボーディングは成功です。AIはあなたの最強のパートナーとして動き出します。

まとめ:コーディングから「ディレクション」へ

Antigravityへの移行で、私たちの仕事は「コードを書くこと」から 「AIエージェントを指揮(ディレクション)すること」 へと変化しました。

細かいミスに悩む時間が減り、その分「どんな機能があればユーザーが喜ぶか?」という本質的な設計に時間を使えるようになりました。AIネイティブな開発環境は、エンジニアをよりクリエイティブな仕事へと導いてくれるツールだと感じています。


あなたもAIと一緒に、新しい語学学習を始めませんか?

YouTubeの「生の声」で学ぶ 📺

動画のURLを入力するだけ。
生のコメントやスラングをAIが解説します。

学んだことを、すぐに実践 ✍️

「自分」を主語にした日記を書いてみませんか?
AIチューターが自然な表現に添削します。

YouTubeの「生の声」で学ぶ 📺

動画のURLを入力するだけ。
生のコメントやスラングをAIが解説します。

学んだことを、すぐに実践 ✍️

「自分」を主語にした日記を書いてみませんか?
AIチューターが自然な表現に添削します。