mcpField
M
model-audit

model-audit

github.com/tushaarmehtaa开发1247 次安装2 周前更新
代码仓库

关于 model-audit

用于审查代码库中 AI 模型配置与调用的技能,可估算调用成本并发现优化机会,面向需要分析模型使用情况的开发者。

主要功能

  1. 01查找模型配置与 AI 调用
  2. 02将别名映射到实际模型名
  3. 03依据价格表估算调用成本
  4. 04检查缓存与批处理候选项
  5. 05标记模型选型及配置问题

适用场景

  1. 01发布前审查模型使用情况
  2. 02估算各功能的模型调用成本
  3. 03查找适合缓存的重复提示词
  4. 04发现硬编码或不一致的模型选择

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tushaarmehtaa/tushar-skills --skill model-audit

安装后在 Claude Code 中输入/model-audit确认已加载。

详细介绍

审计代码库中的每一次 AI 模型调用。输出包含实际成本计算的路由表,而不仅仅是模型名称。

阶段 1 — 查找模型配置

搜索模型定义位置:

grep -r "gpt-4\|claude\|gemini\|anthropic\|openai\|mistral\|groq\|llama" \
  --include="*.py" --include="*.ts" --include="*.js" --include="*.env*" \
  -l 2>/dev/null | head -30
grep -rn "MODEL\|model_config\|AI_MODEL\|LLM_MODEL\|OPENAI_MODEL\|ANTHROPIC_MODEL" \
  --include="*.py" --include="*.ts" --include="*.env*" -l 2>/dev/null

阅读返回的每个文件。映射别名 → 实际模型字符串。示例:AI_MODEL="claude-sonnet-4-6" 或 const FAST_MODEL = "gpt-4o-mini"。

阶段 2 — 查找每一次 AI 调用

# Anthropic
grep -rn "messages\.create\|anthropic\.messages\|client\.messages" \
  --include="*.py" --include="*.ts" --include="*.js"

# OpenAI
grep -rn "chat\.completions\.create\|openai\.chat\|completion\.create" \
  --include="*.py" --include="*.ts" --include="*.js"

# Google / Gemini
grep -rn "generate_content\|GenerativeModel\|genai\." \
  --include="*.py" --include="*.ts" --include="*.js"

# Embeddings
grep -rn "embeddings\.create\|embed_content\|embedding" \
  --include="*.py" --include="*.ts" --include="*.js"

对于每次调用,记录:

  • 触发调用的功能 / 文件 / 函数
  • 模型别名或字面模型字符串
  • 任务类型:生成、分类、摘要、嵌入、工具调用、推理
  • 大致提示词大小:小(<1K tokens)、中(1–10K)、大(>10K)
  • 调用频率:每次请求、每次用户操作、后台任务、一次性

阶段 3 — 定价参考(2026 年)

Anthropic Claude
模型输入 $/1M输出 $/1M缓存写入 $/1M缓存读取 $/1M上下文
claude-fable-5$10.00$50.00$12.50$1.001M
claude-opus-4-8$5.00$25.00$6.25$0.501M
claude-sonnet-4-6$3.00$15.00$3.75$0.301M
claude-haiku-4-5$1.00$5.00$1.25$0.10200K

与未缓存输入相比,提示词缓存可节省约 90% 的缓存读取成本。缓存前缀需至少包含 1024 个 tokens。

OpenAI
模型输入 $/1M输出 $/1M缓存输入 $/1M备注
gpt-4o$2.50$10.00$1.25支持视觉
gpt-4o-mini$0.15$0.60$0.075适合高吞吐量任务
gpt-4.1$2.00$8.00$0.50上下文更长,编程能力强
gpt-4.1-mini$0.40$1.60$0.10擅长遵循指令
gpt-4.1-nano$0.10$0.40$0.025最便宜,仅适用于短任务
o4-mini$1.10$4.40$0.55推理,经济型版本
o3$10.00$40.00$2.50高强度推理任务

Batch API:所有模型均可享受 50% 折扣。最低延迟约为 24 小时。适用于离线 / 异步工作负载。

Google Gemini
模型输入 $/1M(≤200K)输入 $/1M(>200K)输出 $/1M备注
gemini-2.5-pro$1.25$2.50$10.00最适合推理
gemini-2.5-flash$0.15$0.15$0.60快速、多模态
gemini-2.0-flash$0.10$0.10$0.40最便宜的 Gemini

上下文缓存:缓存免费,按 token 每小时计费(2.5 Pro 约为每百万 tokens 每小时 $1)。

阶段 4 — 构建路由表

输出此表:

AI MODEL ROUTING — [product name]
════════════════════════════════════════════════════════════════════════════
FEATURE                  TASK TYPE        MODEL                   $/1K CALLS
────────────────────────────────────────────────────────────────────────────
[feature]                [task]           [actual model string]   $[estimate]
[feature]                [task]           [actual model string]   $[estimate]
════════════════════════════════════════════════════════════════════════════

COST MATH (per call):
  Input tokens × (input rate / 1M) + Output tokens × (output rate / 1M)
  Example: 2K in, 500 out on claude-sonnet-4-6 = (2000 × $3/1M) + (500 × $15/1M)
                                                = $0.006 + $0.0075 = $0.0135/call

UNUSED CONFIG (defined, never called):
  [alias] → [model string]

DEPRECATED / RENAMED MODELS:
  ⚠️  [any model string that no longer exists or has been superseded]

阶段 5 — 检查缓存机会

对于每次调用中较大且稳定的前缀(系统提示词、文档、架构、示例):

  • 前缀是否 ≥1024 tokens?→ 可考虑提示词缓存
  • 前缀是否会因用户或请求而变化?→ 不可缓存
  • 每次调用是否使用相同的系统提示词?→ 缓存它;这些 tokens 可节省约 90% 的成本

标记具有大型系统提示词但未使用 cache_control 的调用。

Anthropic 模式:

{"role": "system", "content": [{"type": "text", "text": "...", "cache_control": {"type": "ephemeral"}}]}

OpenAI(自动):对于重复前缀,gpt-4o / gpt-4.1 会自动缓存输入。

阶段 6 — 检查批处理 API 候选项

满足以下条件的调用:

  • 不面向用户(后台任务、定时任务、数据集处理)
  • 可以容忍数小时的延迟
  • 调用量 > 每天 100 次

→ 标记为批处理候选项。批处理可节省 50% 成本(OpenAI)或最高 50%(Anthropic)。

阶段 7 — 调整模型规格

对于每次调用,检查模型对于任务来说是否性能过剩或不足:

可降级的情况(简单任务使用高成本模型):

  • 分类或提取 → gpt-4.1-nano、haiku 或 gemini-2.0-flash
  • 答案范围明确的简短问答 → gpt-4o-mini 或 haiku
  • 生成嵌入 → text-embedding-3-small(OpenAI),$0.02/1M
  • 简短文本摘要 → haiku、gpt-4.1-mini

以下情况保留高性能模型:

  • 多步推理或工具调用链
  • 面向用户的创意生成或长篇内容生成
  • 对正确性要求较高的代码生成
  • 出错后重试成本较高的任务

可升级的情况(低成本模型悄然失败):

  • 使用复杂架构的工具 → 至少需要 sonnet/gpt-4o
  • 长上下文推理(>50K tokens)→ 需要经验证能准确回忆长上下文的模型
  • 从嘈杂输入中提取结构化信息 → 低成本模型会臆造字段名称

阶段 8 — 最终标记

OPTIMIZATION FLAGS:
  CACHE   [feature] — large static system prompt, not cached. Estimated savings: $X/day
  BATCH   [feature] — background job, 50% savings available
  OVERFIT [feature] — using [expensive model] for [simple task], [cheap model] would work
  SCATTER [feature] — hardcoded model string outside central config, won't update on model changes
  DEPR    [model string] — deprecated, may stop working; migrate to [replacement]
  INCON   [task type] — same task using different models in different files: [file A] uses X, [file B] uses Y

评论

支持 Markdown