Communitygithub.com

Pipeline LLM com Consciência de Custo

Padrões de otimização de custos para uso de APIs LLM — roteamento de modelos por complexidade da tarefa, rastreamento de orçamento, lógica de repetição e cache de prompts. Use quando os gastos com LLM precisam ser reduzidos ou ao rotear tarefas entre níveis de modelo e orçamentos.

O que é Pipeline LLM com Consciência de Custo?

Este skill fornece um conjunto de padrões para controlar os custos de APIs LLM enquanto mantém a qualidade. Ele combina roteamento inteligente de modelos (selecionando automaticamente modelos mais baratos para tarefas simples), rastreamento imutável de orçamento (evitando ultrapassar limites), lógica de repetição restrita (repetindo apenas em erros transitórios) e cache de prompts (evitando reenviar prompts longos). É ideal para desenvolvedores que constroem aplicações que chamam APIs Claude, GPT ou similares, processam lotes de itens com complexidade variada, ou precisam de garantias de orçamento em produção. O skill é implementado como uma pipeline composta, onde cada chamada de API atualiza um rastreador de custos imutável, facilitando a depuração e auditoria. As plataformas suportadas incluem Anthropic (Claude) e qualquer API compatível com modelo de custo por token. A documentação inclui referências de preços (2026) e práticas recomendadas para evitar armadilhas comuns.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/cost-aware-llm-pipeline

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Pipeline LLM com Consciência de Custo faz?

Padrões para controlar os custos de APIs LLM enquanto mantém a qualidade. Combina roteamento de modelos, rastreamento de orçamento, lógica de repetição e cache de prompts em uma pipeline componível.

Quando Ativar

  • Construindo aplicações que chamam APIs LLM (Claude, GPT, etc.)
  • Processando lotes de itens com complexidade variada
  • Precisando manter-se dentro de um orçamento para gastos com API
  • Otimizando custos sem sacrificar a qualidade em tarefas complexas

Conceitos Principais

1. Roteamento de Modelos por Complexidade da Tarefa

Selecione automaticamente modelos mais baratos para tarefas simples, reservando modelos caros para as complexas.

MODEL_SONNET = "claude-sonnet-5"
MODEL_HAIKU = "claude-haiku-4-5-20251001"

_SONNET_TEXT_THRESHOLD = 10_000  # caracteres
_SONNET_ITEM_THRESHOLD = 30     # itens

def select_model(
    text_length: int,
    item_count: int,
    force_model: str | None = None,
) -> str:
    """Seleciona modelo baseado na complexidade da tarefa."""
    if force_model is not None:
        return force_model
    if text_length >= _SONNET_TEXT_THRESHOLD or item_count >= _SONNET_ITEM_THRESHOLD:
        return MODEL_SONNET  # Tarefa complexa
    return MODEL_HAIKU  # Tarefa simples (3-4x mais barata)

2. Rastreamento de Custo Imutável

Rastreie gastos cumulativos com dataclasses congeladas. Cada chamada de API retorna um novo rastreador — nunca muta o estado.

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":
        """Retorna novo rastreador com o registro adicionado (nunca muta 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

3. Lógica de Repetição Restrita

Repita apenas em erros transitórios. Falhe rapidamente em erros de autenticação ou requisição inválida.

from anthropic import (
    APIConnectionError,
    InternalServerError,
    RateLimitError,
)

_RETRYABLE_ERRORS = (APIConnectionError, RateLimitError, InternalServerError)
_MAX_RETRIES = 3

def call_with_retry(func, *, max_retries: int = _MAX_RETRIES):
    """Repete apenas em erros transitórios, falha rapidamente nos outros."""
    for attempt in range(max_retries):
        try:
            return func()
        except _RETRYABLE_ERRORS:
            if attempt == max_retries - 1:
                raise
            time.sleep(2 ** attempt)  # Backoff exponencial
    # AuthenticationError, BadRequestError etc. → levanta imediatamente

4. Cache de Prompts

Armazene em cache prompts de sistema longos para evitar reenviá-los em cada requisição.

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "text": system_prompt,
                "cache_control": {"type": "ephemeral"},  # Armazena em cache
            },
            {
                "type": "text",
                "text": user_input,  # Parte variável
            },
        ],
    }
]

Composição

Combine todas as quatro técnicas em uma única função de pipeline:

def process(text: str, config: Config, tracker: CostTracker) -> tuple[Result, CostTracker]:
    # 1. Roteia modelo
    model = select_model(len(text), estimated_items, config.force_model)

    # 2. Verifica orçamento
    if tracker.over_budget:
        raise BudgetExceededError(tracker.total_cost, tracker.budget_limit)

    # 3. Chama com repetição + cache
    response = call_with_retry(lambda: client.messages.create(
        model=model,
        messages=build_cached_messages(system_prompt, text),
    ))

    # 4. Rastreia custo (imutável)
    record = CostRecord(model=model, input_tokens=..., output_tokens=..., cost_usd=...)
    tracker = tracker.add(record)

    return parse_result(response), tracker

Referência de Preços (2026)

ModeloEntrada ($/1M tokens)Saída ($/1M tokens)Custo Relativo
Haiku 3.5 (legado)$0.80$4.000.8x
Haiku 4.5$1.00$5.001x
Sonnet 5$2.00$10.002x
Sonnet 4.6$3.00$15.003x
Opus 4.8$5.00$25.005x
Fable 5 / Mythos 5$10.00$50.0010x
Opus 4.0 / 4.1 (legado)$15.00$75.0015x

Melhores Práticas

  • Comece com o modelo mais barato e só roteie para modelos caros quando os limites de complexidade forem atingidos
  • Defina limites de orçamento explícitos antes de processar lotes — falhe cedo em vez de gastar demais
  • Registre as decisões de seleção de modelo para ajustar limites com base em dados reais
  • Use cache de prompts para prompts de sistema com mais de 1024 tokens — economiza custo e latência
  • Nunca repita em erros de autenticação ou validação — apenas falhas transitórias (rede, limite de taxa, erro de servidor)

Anti-Padrões a Evitar

  • Usar o modelo mais caro para todas as requisições, independentemente da complexidade
  • Repetir em todos os erros (desperdiça orçamento em falhas permanentes)
  • Mutar o estado de rastreamento de custos (dificulta depuração e auditoria)
  • Codificar nomes de modelos fixos em todo o código (use constantes ou configuração)
  • Ignorar o cache de prompts para prompts de sistema repetitivos

Quando Usar

  • Qualquer aplicação que chame APIs Claude, OpenAI ou LLMs similares
  • Pipelines de processamento em lote onde os custos se acumulam rapidamente
  • Arquiteturas com múltiplos modelos que precisam de roteamento inteligente
  • Sistemas em produção que precisam de proteções de orçamento

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Habilidades Relacionadas