用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/mturac/everything-openai-codex --skill cost-aware-llm-pipeline命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use this skill to monitor and verify a deployed URL or public OSS launch surface after releases — checks HTTP endpoints, SSE streams, static assets, console errors, performance regressions, PR queue health, maintainer feedback, and listing-review blockers after deploys, merges, submissions, or dependency upgrades. Smoke / canary / post-deploy / PR-watch verification.
Build reputation-safe open-source marketing from verifiable project evidence, not hype, spam, or repeated public pings. Use for launch copy, directory targeting, community posts, proof packets, and maintainer-facing positioning.
Turn public launch, directory, community, or list rejections into repo fixes and better proof without arguing, spamming, or resubmitting blindly. Use after Hacker News, Product Hunt, GitHub list PR, marketplace, or community rejection.
基于 SOC 职业分类
正在显示 SKILL.md
| name | cost-aware-llm-pipeline |
| description | LLM APIの使用量のコスト最適化パターン — タスクの複雑さによるモデルルーティング、予算追跡、リトライロジック、プロンプトキャッシング。 |
| origin | ecc |
品質を維持しながらLLM APIのコストをコントロールするためのパターン。モデルルーティング、予算追跡、リトライロジック、プロンプトキャッシングを組み合わせた合成可能なパイプライン。
シンプルなタスクには自動的に安価なモデルを選択し、複雑なタスクのために高価なモデルを予約します。
MODEL_STANDARD = "codex-standard-4-6"
MODEL_FAST = "codex-fast-4-5-20251001"
_STANDARD_TEXT_THRESHOLD = 10_000 # 文字数
_STANDARD_ITEM_THRESHOLD = 30 # アイテム数
def select_model(
text_length: int,
item_count: int,
force_model: str | None = None,
) -> str:
"""タスクの複雑さに基づいてモデルを選択。"""
if force_model is not None:
return force_model
if text_length >= _STANDARD_TEXT_THRESHOLD or item_count >= _STANDARD_ITEM_THRESHOLD:
return MODEL_STANDARD # 複雑なタスク
return MODEL_FAST # シンプルなタスク(3〜4倍安価)
凍結データクラスで累積支出を追跡します。各API呼び出しは新しいトラッカーを返します — 状態を変更しません。
from dataclasses import dataclass
@dataclass(frozen=True, slots=True)
class CostRecord:
model: str
input_tokens: int
output_tokens: int
cost_usd: float
@dataclass(frozen=True, slots=True)
class CostTracker:
budget_limit: float = 1.00
records: tuple[CostRecord, ...] = ()
def add(self, record: CostRecord) -> "CostTracker":
"""追加されたレコードで新しいトラッカーを返す(selfは変更しない)。"""
return CostTracker(
budget_limit=self.budget_limit,
records=(*self.records, record),
)
@property
def total_cost(self) -> float:
return sum(r.cost_usd for r in self.records)
@property
def over_budget(self) -> bool:
return self.total_cost > self.budget_limit
一時的なエラーのみリトライします。認証やリクエストエラーでは素早く失敗します。
from openai import (
APIConnectionError,
InternalServerError,
RateLimitError,
)
_RETRYABLE_ERRORS = (APIConnectionError, RateLimitError, InternalServerError)
_MAX_RETRIES = 3
def call_with_retry(func, *, max_retries: int = _MAX_RETRIES):
"""一時的なエラーのみリトライし、それ以外はすぐに失敗する。"""
for attempt in range(max_retries):
try:
return func()
except _RETRYABLE_ERRORS:
if attempt == max_retries - 1:
raise
time.sleep(2 ** attempt) # 指数バックオフ
# AuthenticationError、BadRequestErrorなど → 即座に例外発生
長いシステムプロンプトをキャッシュして、リクエストごとに再送信しないようにします。
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": system_prompt,
"cache_control": {"type": "ephemeral"}, # これをキャッシュ
},
{
"type": "text",
"text": user_input, # 可変部分
},
],
}
]
4つのテクニックすべてを単一のパイプライン関数に組み合わせます:
def process(text: str, config: Config, tracker: CostTracker) -> tuple[Result, CostTracker]:
# 1. モデルをルーティング
model = select_model(len(text), estimated_items, config.force_model)
# 2. 予算を確認
if tracker.over_budget:
raise BudgetExceededError(tracker.total_cost, tracker.budget_limit)
# 3. リトライ + キャッシングで呼び出し
response = call_with_retry(lambda: client.messages.create(
model=model,
messages=build_cached_messages(system_prompt, text),
))
# 4. コストを追跡(不変)
record = CostRecord(model=model, input_tokens=..., output_tokens=..., cost_usd=...)
tracker = tracker.add(record)
return parse_result(response), tracker
| モデル | 入力($/1Mトークン) | 出力($/1Mトークン) | 相対コスト |
|---|---|---|---|
| Fast 4.5 | $0.80 | $4.00 | 1x |
| Standard 4.6 | $3.00 | $15.00 | 約4x |
| Deep 4.5 | $15.00 | $75.00 | 約19x |