Así funciona la IA de PocketCode por dentro
Un vistazo técnico a cómo diseñamos el asistente de IA de PocketCode: autocompletado inteligente, chat contextual, y docenas de herramientas integradas con los módulos de la app.
Así funciona la IA de PocketCode por dentro
La inteligencia artificial de PocketCode no es un chatbot genérico pegado a un editor. Es un sistema integrado que entiende tu proyecto, tu código y los módulos que estás usando. En este post te contamos cómo lo hemos construido.
Arquitectura general
El sistema de IA tiene tres capas principales:
1. Autocompletado inteligente (LSP)
El autocompletado funciona mediante el protocolo Language Server Protocol (LSP). Cuando escribes código, el editor envía el contexto (archivo actual, posición del cursor, archivos abiertos) al modelo de IA, que devuelve sugerencias de completado.
Lo que hace diferente a nuestro autocompletado:
- Contexto del proyecto completo: No solo ve el archivo actual, sino la estructura del proyecto, imports y dependencias
- Modelos optimizados: Usamos temperatura 0.0 y topK=1 para máxima precisión en las sugerencias
- Cache inteligente: Separamos caché por modelo (chat vs completado) para evitar contaminación de contexto
- Fill-in-the-Middle (FIM): El modelo recibe el código antes Y después del cursor para sugerencias más precisas
2. Chat contextual
El chat de IA no es un simple prompt-response. Cuando le haces una pregunta:
- Se analiza el archivo abierto actual
- Se extrae el código seleccionado (si hay selección)
- Se incluye la estructura del proyecto
- Se envía todo como contexto al modelo
Esto significa que puedes preguntar "¿qué hace esta función?" sin tener que copiar y pegar código.
3. Herramientas de módulos (Tool Calling)
Esta es la parte más potente. La IA puede invocar docenas de herramientas para interactuar directamente con los módulos de la app. Una muestra representativa:
| Herramienta | Qué hace |
|---|---|
create_file | Crea archivos en tu proyecto |
run_in_terminal | Ejecuta comandos en la terminal integrada |
db_query | Ejecuta consultas contra la base de datos |
design_list | Lista y lee proyectos del diseñador visual |
git_status | Comprueba el estado de Git |
read_file | Lee archivos del proyecto |
semantic_search | Busca en el codebase por significado |
grep_search | Busca en el codebase por patrón |
Cuando le dices a la IA "crea un ViewModel para la lista de usuarios", no solo genera código — crea el archivo, lo coloca en la carpeta correcta y actualiza los imports necesarios.
Seguridad
Toda la ejecución pasa por validaciones estrictas:
- Command injection: Los comandos de terminal se sanitizan contra inyección
- Sandboxing: Los comandos solo pueden ejecutarse dentro del directorio del proyecto
- Timeouts: Cada operación tiene un límite de tiempo para evitar procesos zombie
- Null safety: Todas las herramientas validan valores nulos antes de ejecutar
Modelos soportados
PocketCode funciona con múltiples proveedores de IA bajo modelo BYOK (bring-your-own-key) o login OAuth con las CLIs oficiales. PocketCode no es proveedor de IA: cada petición sale del dispositivo directa al proveedor elegido, y el consumo lo pagas tú según la política del proveedor.
- Gemini (Google) — API key (BYOK). Modelo por defecto, excelente para Kotlin/Android
- OpenAI / Codex (GPT-4, o-series) — API key o OAuth vía Codex CLI
- Anthropic Claude (Sonnet, Opus, Haiku) — API key o OAuth vía Claude Code CLI
- GitHub Copilot — login con tu cuenta GitHub (13 modelos multi-proveedor)
- Custom (compatible con OpenAI) — cualquier endpoint
/v1: OpenRouter, un Ollama local, o tu propio servidor - Modelos locales y offline vía Ollama — gratis, sin API key
Todos los proveedores son gratis. PocketCode nunca cobra por el acceso al modelo; lo de pago son sus propias herramientas (Swarmcode, sync en la nube).
El usuario elige su modelo y conecta su cuenta/key en Ajustes > Claves API.
Lo que viene
Estamos trabajando en:
- RAG (Retrieval-Augmented Generation): Para que la IA busque en la documentación de Android y Kotlin antes de responder
- Multi-file editing: Editar múltiples archivos en una sola operación
- Prompt templates: Plantillas de prompts reutilizables para tareas comunes
Conclusión
La IA de PocketCode no es un componente añadido — es parte integral de la experiencia de desarrollo. Cada módulo de la app (terminal, base de datos, diseñador, Git) está conectado, y la IA puede orquestarlos todos.
Puedes ver el estado completo del desarrollo en nuestro post de estado.
Asistente de IA
Respuestas rápidas sobre esto
¿Listo para probar PocketCode?
Descarga la app y empieza a programar desde tu móvil.