はじめに
今年の4月頃から、実務で本格的に AI 駆動開発を進めています。
最初は「めっちゃ便利じゃん🎵」とテンション高めだったのですが ——
実際に開発が始まると、1日のAPIコストに冷や汗…。
同じように困っている人も多いと思うので、
今回は 私が日常的に実践して効果が高かった“コスト節約テクニック” をまとめました。
こんな人に読んで欲しい
- これから AI 駆動開発をやってみたい人
- 従量課金モデルのコストが気になる人
- AI の“無駄遣い”を抑えたい人
なぜ AI は無駄にトークンを使ってしまうのか?
開発を進める中で、コストが増えているタイミングには共通点がありました。
- 会話が長くなり、壁打ちの回数が増えたとき
- リポジトリ内の巨大ファイルを読み込ませたとき
- エージェントに大量のファイルを自動読み取りさせたとき
つまり、
「コンテキストが不要な情報で埋まる」→ コスト増&精度低下
という構造が発生していたわけです。
コンテキストとは?
会話や読み込んだファイルなど、AI が一度に扱う情報の集合
トークン上限と精度低下
AIの読める量には上限があり、上限に近づくと重要情報を忘れやすくなり精度が下がります
💡 AI に節約してもらうための実践Tips
ここからは個人的に効果が高かった対策を紹介します。
1. 会話が長くなったら要約して新しいスレッドへ
長い会話のまま作業を続けると、AIが全部の履歴を読み続けるため無駄が増えます。
そこで、要約して必要情報だけを次のスレッドへ渡す運用にしました。
例:次のスレッドへ引き継ぐフォーマット
次のスレッドで作業を続けたいので、以下の形式でまとめてください:
- ファイル構成(主要ファイル):
- 現在のタスク:
- 直前の変更内容:
- 次に行う作業:
- 注意点(制約/前提):
ポイント:
- スレッドをリセットするだけでAIの精度が回復しやすい
- 必要情報だけ残るため混乱が減る
- 最もコスト効果が高い対策
2. ルールを固定化して毎回送らない
毎回コーディングルールやロール設定を書くと無駄が発生します。
定型のルールは 「AIの設定(Rules)」 へ。
固定しておくと良いもの
- 命名規則(キャメルケース / スネークケース)
- コンポーネント設計方針
- コメントの書き方
- ロール設定
- 開発環境(Node.js のバージョンなど)
- FW / 使用コマンド
ポイント:
- プロンプトの“毎回送りコスト”をゼロにできる
- 出力の品質が安定する
3. ファイルを分割し、構造はREADMEで伝える
巨大ファイルは人間にもAIにも負担。
中規模を超えたら“分割 + READMEで構造説明”が最強。
分割前(悪い例)
src/
massiveModule.js // 3000行。すべての処理が混在
分割後(良い例)
src/
/components/
GiftList.tsx
SantaCard.tsx
CountdownTimer.tsx
/services/
giftApi.ts
santaApi.ts
/hooks/
useGiftSelection.ts
useCountdown.ts
/utils/
formatDate.ts
currencyUtils.ts
README.md ← ファイル/ディレクトリの役割と依存関係を記載
README.md(構造説明テンプレ)
# 構成
/components
GiftList.tsx — ギフト一覧表示
SantaCard.tsx — サンタ情報カード
CountdownTimer.tsx — クリスマスまでのカウントダウン
/services
giftApi.ts — ギフト関連のAPI
santaApi.ts — サンタ情報API
/hooks
useGiftSelection.ts — ギフト選択状態管理
useCountdown.ts — カウントダウン状態管理
/utils
formatDate.ts — 日付フォーマット関数
currencyUtils.ts — 通貨表示ユーティリティ
※ 依存関係:
GiftList.tsx -> useGiftSelection.ts, giftApi.ts
CountdownTimer.tsx -> useCountdown.ts
SantaCard.tsx -> santaApi.ts
ポイント:
- AI に渡すコード量を減らせる
- 役割や依存関係の誤解を防げる
- 分割だけより“README 併用”が格段に効く
4. diff または必要ファイルだけ渡す
大規模プロジェクトでは特に効果が大きいです。
diff だけ渡す
diff --git a/src/components/forms/GiftForm.tsx b/src/components/forms/GiftForm.tsx
index 123abc..456def 100644
--- a/src/components/forms/GiftForm.tsx
+++ b/src/components/forms/GiftForm.tsx
@@ -15,7 +15,9 @@
- const handleSubmit = () => { ... }
+ const handleSubmit = () => {
+ // バリデーション追加(ギフト数チェック)
+ }
参照ファイルを限定
今回の修正対象は以下のみです:
- src/components/forms/GiftForm.tsx
- src/hooks/useGiftSelection.ts
他のファイルは参照せず、この差分だけを考慮してください。
ポイント:
- AI が無関係なファイルを読み込むのを防げる
- 複雑な修正でもコストを抑えて安全に作業できる
おわりに
AI駆動開発では、知らぬ間にトークンが消えていきがちです。
今回紹介した4つを押さえるだけで、コストと混乱を大きく減らせます。
どれもすぐ始められるので、ぜひ日々の開発に取り入れてみてください!