Otimização de Performance e Cache
Otimize o OpenCode para velocidade e eficiência de custos. Aprenda estratégias de cache, otimização de tokens, seleção de modelos e como reduzir chamadas de API mantendo a qualidade.
Por que Otimizar?
Métrica | Impacto |
|---|---|
Tempo de Resposta | Fluxo de trabalho de desenvolvimento mais rápido |
Uso de Tokens | Custos de API mais baixos |
Qualidade | Melhores resultados com menos sobrecarga |
Escalabilidade | Lidar com projetos maiores |
Otimização de Tokens
Entendendo Tokens
Tokens são as unidades básicas que os LLMs processam:
Conteúdo | Tokens Aproximados |
|---|---|
1 palavra | 1-2 tokens |
1 linha de código | 5-15 tokens |
1 arquivo (100 linhas) | 500-1500 tokens |
Reduzir Uso de Tokens
- Limpe a conversa regularmente:
> /clear
- Seja específico nos prompts:
❌ "Fix the bug"
✅ "Fix the ZeroDivisionError in calculate_average() when list is empty"
- Leia apenas arquivos relevantes:
❌ "Read all files in src/"
✅ "Read src/utils.py"
- Use grep antes de ler:
> Search for "TODO" in src/ before reading entire files
Estratégia de Seleção de Modelo
Tarefa | Modelo | Motivo |
|---|---|---|
Perguntas simples | gpt-4o-mini | Rápido, barato |
Geração de código | gpt-4o | Equilibrado |
Raciocínio complexo | claude-sonnet-4-20250514 | Alta qualidade |
Revisão de código | claude-sonnet-4-20250514 | Análise minuciosa |
Edições rápidas | gpt-4o-mini | Velocidade |
Configuração
{
"agents": {
"quick": {
"model": "gpt-4o-mini",
"description": "Simple tasks, fast responses"
},
"complex": {
"model": "gpt-4o",
"description": "Complex tasks, high quality"
}
}
}Estratégias de Cache
Cache de Conteúdo de Arquivo
Armazene em cache arquivos acessados frequentemente:
# Pseudo-code for caching
file_cache = {}
def read_file(path):
if path in file_cache:
return file_cache[path]
content = read_from_disk(path)
file_cache[path] = content
return contentCache de Prompts
Reutilize templates de prompts:
{
"skills": {
"code-review": {
"prompt_template": "Review this code for security issues: {code}"
}
}
}Cache de Resultados
Armazene em cache respostas de IA para consultas repetidas:
{
"cache": {
"enabled": true,
"ttl": 3600,
"maxSize": 1000
}
}Processamento em Lote
Processar Múltiplos Arquivos
Em vez de:
> Read file1.py
> Read file2.py
> Read file3.py
Use:
> Read all Python files in src/ and summarize their purposes
Requisições Paralelas
{
"performance": {
"parallelRequests": true,
"maxConcurrent": 3
}
}Gerenciamento da Janela de Contexto
Monitore o Tamanho do Contexto
> /verbose
Context: 4523 tokens (15% of 32k limit)
Otimize o Contexto
- Limpe o histórico ao mudar de tópico
- Leia apenas arquivos necessários
- Resuma conversas longas
- Use subagentes para tarefas isoladas
Otimização de Rede
Pool de Conexões
{
"providers": {
"openai": {
"keepAlive": true,
"maxConnections": 5
}
}
}Agrupamento de Requisições
{
"performance": {
"batchRequests": true,
"batchSize": 10
}
}Monitoramento de Performance
Rastrear Métricas
{
"logging": {
"performance": true,
"tokenUsage": true,
"responseTime": true
}
}Analisar Logs
# Find slow requests
grep "response_time" opencode.log | awk '{print $NF}' | sort -n
# Calculate average tokens
grep "total_tokens" opencode.log | awk '{sum+=$NF} END {print sum/NR}'Perguntas de Prática (Practice Questions)
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
What is the most effective way to reduce token usage?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
Which model is best for quick, simple tasks?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
How does caching improve performance?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
What should you monitor to track performance?
Como responder
Questão de múltipla escolha com 4 opções. Selecione uma opção e escolha Verificar resposta.
How do you reduce context window usage?
Key Takeaways
- Limpe a conversa regularmente para reduzir o tamanho do contexto
- Seja específico nos prompts para minimizar o uso de tokens
- Use gpt-4o-mini para tarefas simples, gpt-4o para complexas
- Armazene em cache arquivos acessados frequentemente e templates de prompts
- Monitore uso de tokens, tempo de resposta e custo
- Processe múltiplos arquivos em lote em vez de ler um de cada vez
- A otimização de rede reduz a latência para chamadas de API