>- make the few reasoning decisions and a cheap model do the many mechanical executions (Aider architect+editor, DSPy optimizer-LM vs task-LM, vLLM speculative draft+target, LangGraph supervisor+worker are the same shape). Use when designing or cost-optimizing a pipeline that calls an LM many times, when deciding which steps need a strong reasoner vs a cheap executor, or when adding an escalation valve for when the cheap tier degrades. cheap model, strong model plus cheap model, LLM cost optimization.
npx skills add https://github.com/agentsope/SkillAlchemy --skill agentsop-cost-tiered-models
> 一句话:一条多次调用 LM 的工作流里,少数调用需要推理,多数调用是机械执行。让一个强模型做决策,让一个便宜模型干活——按认知负荷拆分,不是按"哪个更准"拆分。
> 统一声明:Phase B 发现这个模式在 4 个 SOP 里以 4 个名字反复出现——DSPy 的 optimizer-LM vs task-LM、Aider 的 architect+editor、vLLM 的 speculative draft+target、LangGraph 的 supervisor+worker。它们是同一个形状。本技能把这个形状抽出来,命名为 cost-tiered models。详见 §7 跨框架对照。
任一情形成立时激活本技能:
不应激活(见 §6):
按认知负荷拆分:一个强模型做决策,一个便宜模型执行——而且绝大多数调用是执行。
绝大多数团队的默认是"全程一个模型"。这把两种本质不同的工作混在了一个价位上:
| 层 | 工作性质 | 调用频率 | 模型要求 | 选谁 |
|---|---|---|---|---|
| Tier-S(决策层) | 规划、推理、路由、判断、提案 | 少(每任务 1–N 次) | 推理强;执行干不干净不重要 | 最强 reasoner |
| Tier-E(执行层) | 改写、抽取、格式化、应用决定、生成草稿 | 多(占总调用 80%+) | 听话、格式干净、便宜、快 | 便宜/快模型 |
关键洞察:成本由调用次数主导,调用次数由执行层主导。所以把执行层降级到便宜模型,省下大部分成本,却几乎不碰决策质量——因为决策层调用次数少,仍然用最强模型。
推理能力和指令依从(产出干净的 diff/JSON/格式)是两种不同的能力,不总同向。Aider 的 Polyglot 数据是最干净的证据:o1-preview 单独跑 79.7%,但它当 architect 配一个便宜 editor 后,整体到 82.7%–85%——两次便宜的专门调用胜过一次又贵又全能的调用 [aider.chat/2024/09/26/architect.html]。强模型负责"想",便宜模型负责"把想法落成格式正确的编辑"。
三者都是"强决策 + 廉价执行"的拆分,只是优化目标不同。
拆分不是单向的。便宜执行者会在某些输入上失败或退化(格式错、跑题、质量塌)。正确的设计带一个回退-升级阀门:检测到执行层失败 → 把这一步升级到强模型重试。便宜执行者覆盖 80–95% 的常规输入,强模型兜底长尾。这把"省钱"和"不掉质量"同时拿到。
[Step 0] 列出工作流里所有 LM 调用
└─ 对每次调用记:它在"想"还是在"做"?预期调用频率?
[Step 1] 给每次调用打认知负荷标签
├─ 高推理(规划/路由/判断/提案/纠错) → 候选 Tier-S
└─ 机械执行(改写/抽取/格式化/应用决定/草稿) → 候选 Tier-E
规则:把"需要全局判断 / 一旦错代价高 / 频率低"的归 Tier-S,
其余尽量下沉到 Tier-E。
[Step 2] 分配模型层
├─ Tier-S → 你能负担的最强 reasoner(少量调用,单价高无所谓)
├─ Tier-E → 便宜/快模型(大量调用,单价主导总成本)
└─ 给 Tier-E 选最适配它的输出格式(弱模型用 whole/简单 schema,
不要逼它产 token 高效但易错的 diff)。
[Step 3] 度量质量 delta(必须做,否则是赌博)
├─ baseline:全程强模型的质量分 + 成本
├─ split:S+E 拆分后的质量分 + 成本
├─ 看 (质量 delta, 成本 delta) 这一对,不要只看其一
└─ 在你自己的真实任务上量,不要信别人 benchmark 的绝对数
[Step 4] 装升级阀门
├─ 定义"执行层失败"的可检测信号(格式不合法 / 测试不过 /
│ schema 校验失败 / 自评分低)
├─ 失败 → 升级到 Tier-S 重试这一步(或换执行格式重试)
└─ 记录升级率:若 >30%,说明这步本就属于 Tier-S,重新归类
[Step 5] 调拆分点(tune the split)
├─ 升级率高 / 质量掉太多 → 把更多步上移到 Tier-S
├─ 升级率近 0 / 质量持平 → 把更多步下沉到 Tier-E,再省一截
└─ 拆分点是个滑块,不是开关;按 Step 3 的数往返调
editor-diff/editor-whole)。BootstrapFinetune(student=Llama-3.2-1B, teacher=gpt-4o-mini),先在大模型优化再蒸馏 [dspy SKILL §4.1]。警告:换 task-LM 家族必须重编译/重测,大模型的 verbose CoT demo 会让小模型"鹦鹉学舌长度而无推理" [dspy SKILL Case B]。触发:硬推理编码任务;你有 o1/o3(强 reasoner,但单独跑编辑脏)。开 architect 等于把每个任务从 1 次调用变 2 次,token 成本接近翻倍。
张力:
决策规则:
| 情况 | 建议 |
|---|---|
| reasoner 执行也干净(GPT-4o / Sonnet 单跑) | 不开 architect,单跑省钱省时 |
| reasoner 执行差(o1/o3 单跑格式脏) | 开 architect:强 reasoner + 便宜干净 editor → +3pp~+5pp |
| 追 SOTA、能等慢 | o1-preview + o1-mini(whole) → 85%("probably not practical for interactive use") |
| 例行/低价值编辑 | 单跑,别拆 |
可提取操作:拆分的收益 = (质量 delta) × (任务价值) − (额外调用成本)。reasoner 执行已干净时 delta≈0,不拆;reasoner 执行差时 delta 大,拆。
Evidence: [aider.chat/2024/09/26/architect.html]。
触发:Tier-E 用便宜模型干活,部分输入上质量明显塌(代码改错、抽取漏字段、格式反复非法),但多数输入仍正常。是把整层换回强模型,还是只升级失败的那部分?
张力:
决策规则:
可提取操作:升级率是拆分点是否放对的体温计。它不是要清零,而是要稳定在低位;持续高升级率 = 拆分点划错了。
Evidence: vLLM speculative——高 QPS 下 draft 被频繁拒、speculation 反而偷算力,此时该关 [docs.vllm.ai speculative_decoding],同构于"升级率太高就别拆";Aider 编辑错误升级模型/换格式 [aider.chat/troubleshooting/edit-errors]。
最常见的默认值,也是本技能要挑战的反射。它把少量高价值决策调用和大量机械执行调用按同一个价位收费——要么为执行层overpay(全用最强),要么为决策层欠配(全用便宜,难题翻车)。先按 §2.1 分层,再选模型。
2–3 次调用、总成本可忽略的工作流,拆成 S+E 两层引入的协调/翻译开销(supervisor 翻译 worker 输出要多花 token [langgraph Case 2];architect 多一次往返)经常超过节省。拆分有固定成本,只在调用次数多、执行层占大头时才回本。
凭"便宜模型应该够用"的直觉降级,不在自己任务上量 (质量 delta, 成本 delta)。别人 benchmark 的绝对数不可移植——Aider 的 85% 是 Polyglot 上特定模型对的结果,不是你的任务的保证。必须按 §3 Step 3 自测。
逼弱 editor 产 token 高效但字节敏感的 diff,或把代码包进 JSON tool-call。弱模型在这些格式上合规率塌。便宜执行者要配它擅长的格式(whole / 简单 schema),见 OP-4。
便宜执行者必然有长尾失败。没有失败检测 + 升级回退,坏输出直接进产物。拆分必须连阀门一起设计(OP-3),否则省的钱用 debug 坏结果赔回去。
"要么全强要么全便宜"是把连续的拆分点退化成二元开关。正确做法是按升级率/质量 delta 往返微调哪些步在哪层(§3 Step 5)。
把为大模型调好的拆分/提示原样套到小模型上。DSPy 明示"为 GPT-4 优化的复杂管线在 Llama-3-8B 上通常崩" [dspy Case B]。换执行层模型家族 = 重测拆分,不是免费迁移。
本技能适用当:工作流多次调用 LM;调用间认知负荷不均;成本/延迟有约束;你能在自己任务上量质量 delta。
本技能不适用当:单次调用、无内部步骤(无角色可拆);微型工作流(拆分开销 > 节省,见反模式 2);质量是唯一目标且预算无限(直接全程最强模型);本质是"选哪个推理引擎"而非"如何分层用模型"(那是 llm-engine-selection 技能)。
同一个形状,四个名字。 每一行都是"强模型决策 + 廉价模型执行 + 失败时回退/纠正"。
| 框架 | 这个模式叫什么 | Tier-S(强/决策) | Tier-E(廉价/执行) | 升级/纠正阀门 | 公开证据 |
|---|---|---|---|---|---|
| Aider | architect + editor | architect 模型(o1-preview)出自然语言方案 | editor 模型(Sonnet/o1-mini)落成 diff | 编辑错误→升级模型/换格式重试 | Polyglot 79.7%→82.7%→85% [aider.chat/2024/09/26] |
| DSPy | optimizer-LM vs task-LM | 这里是镜像:被服务的 task-LM(gpt-4o)才贵;脚手架可降级 | optimizer-LM(gpt-4o-mini)跑提示搜索/提案 | 优化平台→重编译/换 LM 家族 | mini 优化器 + 4o 任务,质量持平成本大降 [dspy #1596] |
| LangGraph | supervisor + worker | supervisor 路由/综合/决定下一步 | worker sub-agent 执行具体子任务 | supervisor 重新路由;swarm 互相 handoff | supervisor 比 swarm 多花 token(翻译开销)[langgraph Case 2] |
| vLLM | speculative draft + target | target 模型验证、给真分布 | draft 模型(小/EAGLE/n-gram)先草拟 token | 验证拒绝→用 target 分布纠正;高 QPS 关闭 | 最高 ~2.5× 解码加速 [developers.redhat.com 2025 eagle3] |
DSPy 行里便宜的是 optimizer(脚手架/meta 层),贵的是 task(最终产物)。这不矛盾——判据始终是 §2 那一条:质量直接进最终产物的调用用强模型,只是脚手架的调用降级。在 Aider/LangGraph/vLLM 里执行层是产物的一部分但机械,所以降级;在 DSPy 里 optimizer 不进产物,所以降级。同一个原则,不同的"哪类是脚手架"。
> 先问每次 LM 调用:它的输出是最终产物,还是脚手架/草稿/可被验证的提议? 是产物且需判断 → Tier-S。是草稿/脚手架/可验证提议 → Tier-E + 升级阀门。
Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer, Q-Learning, SARSA, Actor-Critic, and more. Use when building self-learning agents, implementing RL, or optimizing agent behavior through experience.
Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer, Q-Learning, SARSA, Actor-Critic, and more. Use when building self-learning agents, implementing RL, or optimizing agent behavior through experience.
Design LLM applications using LangChain 1.x and LangGraph for agents, memory, and tool integration. Use when building LangChain applications, implementing AI agents, or creating complex LLM workflows.
Provide read-only NemoClaw maintainer policy. Use for questions about Issue Type, labels, Project fields, release labels, triage, duplicates, blocked items, and maintainer decisions. Trigger keywords - maintainer policy, workflow policy, project workflow, issue type, labels, label taxonomy, needs labels, project status, blocked issue, duplicate issue, daily release label, release train, triage policy.
Run stepped HTTP load tests with ab/wrk, ramping concurrency levels to collect p50/p90/p99 latency, detect performance inflection points, and recommend optimal concurrency. Triggered by requests like 'load test this URL', 'benchmark my API', 'find the max concurrency', or mentions of p99 latency, throughput saturation, or capacity planning.
Record episodes for an agentic env via teleoperation (keyboard, SO-ARM leader, or VR) into HDF5. Use when the user wants to teleop or record human demos.
| Investigate outliers, rare events, spikes, and suspicious records in datasets. Use as an explicit anomaly-analysis helper when you want concrete anomaly-detection workflow guidance, not generic data validation or end-to-end ML ownership.
Run any question, idea, or decision through a council of 5 AI advisors who independently analyze it, peer-review each other anonymously, and synthesize a final verdict. Based on Karpathy's LLM Council methodology. MANDATORY TRIGGERS: 'council this', 'run the council', 'war room this', 'pressure-test this', 'stress-test this', 'debate this'. STRONG TRIGGERS (use when combined with a real decision or tradeoff): 'should I X or Y', 'which option', 'what would you do', 'is this the right move', 'validate this', 'get multiple perspectives', 'I can't decide', 'I'm torn between'. Do NOT trigger on simple yes/no questions, factual lookups, or casual 'should I' without a meaningful tradeoff (e.g. 'should I use markdown' is not a council question). DO trigger when the user presents a genuine decision with stakes, multiple options, and context that suggests they want it pressure-tested from multiple angles.
Take agentsope/agentsop-cost-tiered-models from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.