Optimización de Rendimiento y Caché
Optimiza OpenCode para velocidad y eficiencia de costos. Aprende estrategias de caché, optimización de tokens, selección de modelos y cómo reducir llamadas a la API manteniendo la calidad.
¿Por Qué Optimizar?
Métrica | Impacto |
|---|---|
Tiempo de Respuesta | Flujo de trabajo de desarrollo más rápido |
Uso de Tokens | Costos de API más bajos |
Calidad | Mejores resultados con menos sobrecarga |
Escalabilidad | Manejar proyectos más grandes |
Optimización de Tokens
Entendiendo los Tokens
Los tokens son las unidades básicas que procesan los LLMs:
Contenido | Tokens Aproximados |
|---|---|
1 palabra | 1-2 tokens |
1 línea de código | 5-15 tokens |
1 archivo (100 líneas) | 500-1500 tokens |
Reducir Uso de Tokens
- Limpiar conversación regularmente:
> /clear
- Ser específico en los prompts:
❌ "Fix the bug"
✅ "Fix the ZeroDivisionError in calculate_average() when list is empty"
- Leer solo archivos relevantes:
❌ "Read all files in src/"
✅ "Read src/utils.py"
- Usar grep antes de leer:
> Search for "TODO" in src/ before reading entire files
Estrategia de Selección de Modelos
Tarea | Modelo | Razón |
|---|---|---|
Preguntas simples | gpt-4o-mini | Rápido, económico |
Generación de código | gpt-4o | Equilibrado |
Razonamiento complejo | claude-sonnet-4-20250514 | Alta calidad |
Revisión de código | claude-sonnet-4-20250514 | Análisis exhaustivo |
Ediciones rápidas | gpt-4o-mini | Velocidad |
Configuración
{
"agents": {
"quick": {
"model": "gpt-4o-mini",
"description": "Simple tasks, fast responses"
},
"complex": {
"model": "gpt-4o",
"description": "Complex tasks, high quality"
}
}
}Estrategias de Caché
Caché de Contenido de Archivos
Almacena en caché archivos frecuentemente accedidos:
# 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 contentCaché de Prompts
Reutiliza plantillas de prompts:
{
"skills": {
"code-review": {
"prompt_template": "Review this code for security issues: {code}"
}
}
}Caché de Resultados
Almacena en caché respuestas de IA para consultas repetidas:
{
"cache": {
"enabled": true,
"ttl": 3600,
"maxSize": 1000
}
}Procesamiento por Lotes
Procesar Múltiples Archivos
En lugar de:
> Read file1.py
> Read file2.py
> Read file3.py
Usa:
> Read all Python files in src/ and summarize their purposes
Solicitudes Paralelas
{
"performance": {
"parallelRequests": true,
"maxConcurrent": 3
}
}Gestión de la Ventana de Contexto
Monitorear Tamaño del Contexto
> /verbose
Context: 4523 tokens (15% of 32k limit)
Optimizar Contexto
- Limpiar historial al cambiar de tema
- Leer solo archivos necesarios
- Resumir conversaciones largas
- Usar subagentes para tareas aisladas
Optimización de Red
Agrupación de Conexiones
{
"providers": {
"openai": {
"keepAlive": true,
"maxConnections": 5
}
}
}Agrupación de Solicitudes
{
"performance": {
"batchRequests": true,
"batchSize": 10
}
}Monitoreo de Rendimiento
Rastrear Métricas
{
"logging": {
"performance": true,
"tokenUsage": true,
"responseTime": true
}
}Analizar Registros
# 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}'Preguntas de Práctica (Practice Questions)
Cómo responder
Pregunta de opción múltiple con 4 opciones. Selecciona una opción y elige Comprobar respuesta.
What is the most effective way to reduce token usage?
Cómo responder
Pregunta de opción múltiple con 4 opciones. Selecciona una opción y elige Comprobar respuesta.
Which model is best for quick, simple tasks?
Cómo responder
Pregunta de opción múltiple con 4 opciones. Selecciona una opción y elige Comprobar respuesta.
How does caching improve performance?
Cómo responder
Pregunta de opción múltiple con 4 opciones. Selecciona una opción y elige Comprobar respuesta.
What should you monitor to track performance?
Cómo responder
Pregunta de opción múltiple con 4 opciones. Selecciona una opción y elige Comprobar respuesta.
How do you reduce context window usage?
Key Takeaways
- Limpia la conversación regularmente para reducir el tamaño del contexto
- Sé específico en los prompts para minimizar el uso de tokens
- Usa gpt-4o-mini para tareas simples, gpt-4o para las complejas
- Almacena en caché archivos accedidos frecuentemente y plantillas de prompts
- Monitorea el uso de tokens, tiempo de respuesta y costos
- Procesa múltiples archivos por lotes en lugar de leer uno por uno
- La optimización de red reduce la latencia para llamadas a la API