Capitulo 4: Integracion con IA en Zed
Capitulo 4: Integracion con IA
Zed integra IA en todo el flujo de edicion: prediccion de codigo, transformaciones inline, agentes autonomos y soporte para multiples proveedores de modelos.
Anterior: Capitulo 3: LSP y Lenguajes | Siguiente: Capitulo 5: Colaboracion
Funcionalidades de IA en Zed
Zed ofrece tres niveles de asistencia con IA:
- Edit Prediction: Completado predictivo en cada pulsacion de tecla
- Inline Assistant: Transformaciones de codigo descritas en lenguaje natural
- Agent Panel: Agentes que leen, editan archivos y ejecutan comandos
Edit Prediction (Prediccion de Ediciones)
La prediccion de ediciones sugiere codigo en cada pulsacion de tecla. A diferencia del autocompletado tradicional, predice tu proxima edicion completa, no solo la siguiente palabra.
Proveedores Disponibles
| Proveedor | Descripcion |
|---|---|
| Zeta | Modelo open-source de Zed, entrenado con datos abiertos. Gratuito. |
| GitHub Copilot | Requiere suscripcion a Copilot |
| Supermaven | Servicio de completado rapido |
| Mercury Coder | Prediccion multi-linea |
| Sweep | Prediccion contextual |
| Ollama | Modelos locales sin conexion |
Configurar Zeta (por defecto)
Zeta viene activado por defecto. No requiere API key ni configuracion adicional:
{
"features": {
"edit_prediction_provider": "zeta"
}
}
Configurar Copilot
{
"features": {
"edit_prediction_provider": "copilot"
}
}
Configurar Supermaven
{
"features": {
"edit_prediction_provider": "supermaven"
}
}
Usar Predicciones
- Aceptar sugerencia:
Tab - Rechazar sugerencia: Sigue escribiendo o presiona
Escape - Las sugerencias aparecen en texto atenuado mientras escribes
Inline Assistant (Asistente Inline)
El asistente inline te permite seleccionar codigo, describir un cambio en lenguaje natural y que el modelo reescriba la seleccion.
Uso Basico
- Selecciona el codigo que quieres transformar
- Presiona
Ctrl+Enterpara abrir el prompt inline - Describe el cambio deseado
- El modelo reescribe la seleccion en el lugar
Ejemplos de Uso
# Selecciona una funcion y pide:
"Agrega manejo de errores con Result"
# Selecciona un struct y pide:
"Implementa Display trait para este struct"
# Selecciona un bloque y pide:
"Convierte esto a async/await"
# En la terminal, selecciona el prompt y pide:
"Comando para buscar archivos .rs modificados hoy"
Cursores Multiples
El inline assistant funciona con cursores multiples. Selecciona varias regiones con Cmd+D / Ctrl+D y aplica la misma transformacion a todas simultaneamente.
Configuracion del Inline Assistant
{
"assistant": {
"version": "2",
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
}
}
Agent Panel (Panel de Agentes)
El Agent Panel es un agente autonomo que puede leer archivos, editar codigo, ejecutar comandos en terminal, buscar en la web y acceder a diagnosticos.
Abrir el Agent Panel
Usa la paleta de comandos > “assistant: open agent” o el atajo correspondiente.
Capacidades del Agente
El agente tiene herramientas integradas:
- Leer archivos del proyecto
- Editar archivos con cambios precisos
- Ejecutar comandos en la terminal
- Buscar en el proyecto con grep/find
- Acceder a diagnosticos del LSP
- Buscar en la web para informacion actualizada
Configuracion de Reglas
Puedes definir reglas para el agente en .zed/rules.md en tu proyecto:
# Reglas del Proyecto
- Usa TypeScript estricto
- Sigue el patron de arquitectura hexagonal
- Los tests deben usar vitest
- Escribe comentarios en español
Permisos de Herramientas
Controla que puede hacer el agente en settings:
{
"assistant": {
"tools": {
"terminal": {
"enabled": true,
"requires_approval": true
},
"file_edit": {
"enabled": true,
"requires_approval": false
}
}
}
}
Proveedores de IA
Anthropic (Claude)
{
"language_models": {
"anthropic": {
"api_key": "tu-api-key",
"version": "1"
}
},
"assistant": {
"default_model": {
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
}
}
OpenAI
{
"language_models": {
"openai": {
"api_key": "tu-api-key",
"version": "1"
}
},
"assistant": {
"default_model": {
"provider": "openai",
"model": "gpt-4o"
}
}
}
Google (Gemini)
{
"language_models": {
"google": {
"api_key": "tu-api-key"
}
},
"assistant": {
"default_model": {
"provider": "google",
"model": "gemini-2.0-flash"
}
}
}
Ollama (Modelos Locales)
Ejecuta modelos de IA localmente sin enviar datos a la nube:
# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Descargar un modelo
ollama pull codellama
ollama pull deepseek-coder
Configuracion en Zed:
{
"language_models": {
"ollama": {
"api_url": "http://localhost:11434"
}
},
"assistant": {
"default_model": {
"provider": "ollama",
"model": "deepseek-coder"
}
}
}
Usar Multiples Proveedores
Puedes configurar varios proveedores y cambiar entre ellos por tarea. El selector de modelo en el Agent Panel te permite elegir el modelo para cada conversacion.
MCP Servers (Model Context Protocol)
Extiende las capacidades del agente con servidores MCP que proporcionan herramientas adicionales.
Configuracion de MCP
En tu settings.json o .zed/settings.json:
{
"context_servers": {
"my-server": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"],
"env": {}
}
}
}
Servidores MCP Populares
- filesystem: Acceso extendido al sistema de archivos
- github: Interaccion con repositorios de GitHub
- database: Consultas a bases de datos
- web-search: Busqueda en la web
Buenas Practicas con IA
- Se especifico en tus prompts: “Agrega validacion de email al campo input” es mejor que “mejora esto”
- Revisa siempre el codigo generado antes de aceptarlo
- Usa modelos locales con Ollama para codigo sensible
- Combina proveedores: Zeta para completado rapido, Claude para refactoring complejo
- Define reglas en
.zed/rules.mdpara que el agente siga tus convenciones
Anterior: Capitulo 3: LSP y Lenguajes | Siguiente: Capitulo 5: Colaboracion