Saltar al contenido
Volver al inicio
Volver al blog
Feature

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.

4 min
Por Pelayo Naredo
Así funciona la IA de PocketCode por dentro

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:

  1. Se analiza el archivo abierto actual
  2. Se extrae el código seleccionado (si hay selección)
  3. Se incluye la estructura del proyecto
  4. 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:

HerramientaQué hace
create_fileCrea archivos en tu proyecto
run_in_terminalEjecuta comandos en la terminal integrada
db_queryEjecuta consultas contra la base de datos
design_listLista y lee proyectos del diseñador visual
git_statusComprueba el estado de Git
read_fileLee archivos del proyecto
semantic_searchBusca en el codebase por significado
grep_searchBusca 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.

La herramienta detrás de este artículo

Asistente de IA

Respuestas rápidas sobre esto

¿Listo para probar PocketCode?

Descarga la app y empieza a programar desde tu móvil.