コストの内訳と基本式
- コスト ≒ 入力トークン × 単価 + 出力トークン × 単価 + 付帯リソース(ベクトルDB/ネットワーク)
- 最適化は「トークン削減」「再利用」「安価リソースへの置換」の3軸で考える。
ベストマッチ
最短で課題解決する一冊
この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。
パターン1:モデル選定の二段構え(Tiering)
- 既定は軽量モデル、難問や高リスクのみ高性能モデルへ昇格。
- ルール/判定器(小型モデル or ルーブリック)で自動切替。
function route(query: string): 'lite' | 'pro' {
if (query.length > 600 || /法律|医療/.test(query)) return 'pro';
return 'lite';
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
パターン2:プロンプト最適化とキャッシュ
- システムプロンプトを短縮し、固定部分はキャッシュキーに含める。
- 複数回同一質問が来る場合は応答キャッシュを優先。
import { createHash } from 'crypto';
function keyOf(model: string, system: string, user: string) {
return createHash('sha256').update(model + '\n' + system + '\n' + user).digest('hex');
}
async function cachedAsk(kv: Map<string, any>, req: {model: string; system: string; user: string}) {
const key = keyOf(req.model, req.system, req.user);
const hit = kv.get(key);
if (hit) return hit;
const res = await callLLM(req); // 実際のAPI呼び出し
kv.set(key, res);
return res;
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
パターン3:RAGの再設計でトークン削減
- 検索結果は要約して圧縮、重複を除去してから投入。
- kの固定ではなく「しきい値(スコア)で動的決定」。
function selectContexts(docs: {text: string; score: number}[], maxTokens = 1200) {
const filtered = docs.filter(d => d.score > 0.6).sort((a,b) => b.score - a.score);
return packToBudget(filtered.map(d => d.text), maxTokens); // 文字数ベースで近似
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
パターン4:ストリーミングと早期停止
- ストリーミングで早めにUIへ反映。十分な回答に達したら停止(人/自動)。
const stream = await callLLMStream(req);
let acc = '';
for await (const chunk of stream) {
acc += chunk;
if (isEnough(acc)) break; // しきい値で早期停止
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
パターン5:バッチ/並列効率化
- 同型の小リクエストはまとめて処理、接続・初期化コストを圧縮。
- 埋め込みもバッチ投入で単価/スループット改善。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
運用:ガードレールと可視化
- 予算ガード:1リクエスト/日次/月次の上限を設定し、超過時は低コスト経路に切替。
- ダッシュボード:トークン/コスト/品質(CSAT, 解決率)のトレードオフを継続監視。
type Budget = { perReq: number; daily: number };
function within(b: Budget, used: {req: number; today: number}) {
return used.req <= b.perReq && used.today <= b.daily;
}さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
チェックリスト
- キャッシュ(応答/埋め込み/検索結果)を実装した
- RAGのk・入力サイズを動的最適化している
- 早期停止/部分回答で無駄トークンを削減している
- ルーティングで軽量/高性能モデルを使い分けている
- 予算ガードと可視化がある
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
まとめ
コスト最適化は“削るだけ”ではありません。ユーザー体験を損なわず、再利用・選択・圧縮・監視を回すことで、品質と費用のバランス点を継続的に更新できます。
さらに理解を深める参考書
関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。
この記事をシェア







