4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのAI駆動開発:トークンをムダにしない4つのコスト節約テクニック

Last updated at Posted at 2025-12-05

はじめに

今年の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つを押さえるだけで、コストと混乱を大きく減らせます。
どれもすぐ始められるので、ぜひ日々の開発に取り入れてみてください!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?