第5章 応用テクニック
本章では、Antigravity をさらに使いこなすための応用テクニックを紹介します。
実践的な AEP (Antigravity Engineering Protocol) の定義例や、リファクタリングの手法について解説します。
5.1 AEP (Antigravity Engineering Protocol) の実装例
第3章で触れた AEP を、実際のプロジェクトでどのように定義すべきか、具体的なテンプレートを示します。この内容を AEP.md としてプロジェクトルートに配置することで、AI の挙動を強力に制御できます。
AEP.md テンプレート
# Antigravity Engineering Protocol (AEP)
## 1. 役割 (Role)
あなたは熟練したフルスタックエンジニアです。
常に「保守性」「可読性」「セキュリティ」を最優先したコードを記述してください。
## 2. コンテキスト (Context)
このプロジェクトは Go言語 (v1.21) と React (TypeScript) で構築された Web アプリケーションです。
アーキテクチャは Clean Architecture を採用しています。
## 3. 制約事項 (Constraints)
- **言語**: 日本語で回答すること。コード内のコメントは英語でも可。
- **ライブラリ**: 新規ライブラリの追加は極力避け、標準ライブラリを優先すること。
- **テスト**: 新規機能を追加する際は、必ず単体テスト (Table Driven Test) を書くこと。
## 4. ドキュメント駆動開発 (Document Driven Development)
- **Spec.md**: 仕様変更や新規機能開発の際は、まず `docs/Spec.md` を更新し、Single Source of Truth(信頼できる唯一の情報源)として維持すること。
- **Task.md**: 実装フェーズに入る前に、実行手順を `docs/Task.md` に定義すること。変更の際は必ずタスクリストを確認して更新すること。
## 5. エラーハンドリング (Error Handling)
- エラーは握りつぶさず、必ず呼び出し元に返すか、適切にログ出力すること。
- `panic` は原則使用禁止。
## 6. 出力形式 (Output Format)
- コード修正の提案時は、必ずファイルパスを明記すること。
- 修正理由を簡潔に説明すること。
このように明文化しておくことで、毎回「テスト書いて」「日本語で」と指示する必要がなくなります。プロジェクト固有のルール(命名規則やディレクトリ構成)もここに追加すると良いでしょう。
5.2 複雑なリファクタリング
Antigravity は、広範囲にわたるリファクタリングも得意とします。
手順
-
現状把握: 「現在の
src/authディレクトリの依存関係を教えて」と質問する。 -
計画立案: 「この認証ロジックを
pkg/securityパッケージに移動したい。手順を計画して」と指示する。 - 段階的実行: 「まずはファイルを移動して」「次に import パスを修正して」と段階的に指示する。
一気にすべてをやらせようとせず、ステップバイステップで確認しながら進めるのが、安全なリファクタリングのコツです。
5.3 トラブルシューティング
AI が意図しない挙動をした場合の対処法です。
- ループに陥った場合: 同じ修正を繰り返しているときは、一度「Stop」と伝え、エラーログを自分で精査してヒントを与える。
- 幻覚 (Hallucination): 存在しない関数を使おうとした場合は、「その関数は存在しません。公式ドキュメントを参照して」と指摘する。
これで一通りの解説は終了です。Antigravity は日々進化しています。このガイドをベースに、ぜひあなただけの最強のパートナーへと育て上げてください。