Pular para o conteúdo
Voltar ao início
Voltar ao blog
Feature

Como a IA do PocketCode Funciona nos Bastidores

Um olhar técnico sobre como projetamos o assistente de IA do PocketCode: autocompletar inteligente, chat contextual e dezenas de ferramentas integradas aos módulos do app.

4 min
Por Pelayo Naredo
Como a IA do PocketCode Funciona nos Bastidores

Como a IA do PocketCode Funciona nos Bastidores

A inteligência artificial do PocketCode não é um chatbot genérico colado a um editor. É um sistema integrado que entende seu projeto, seu código e os módulos que você está usando. Neste post, vamos contar como construímos isso.

Arquitetura Geral

O sistema de IA tem três camadas principais:

1. Autocompletar Inteligente (LSP)

O autocompletar funciona por meio do Language Server Protocol (LSP). Quando você digita código, o editor envia o contexto (arquivo atual, posição do cursor, arquivos abertos) para o modelo de IA, que retorna sugestões de conclusão.

O que torna nosso autocompletar diferente:

  • Contexto completo do projeto: ele não vê apenas o arquivo atual, mas a estrutura do projeto, os imports e as dependências
  • Modelos otimizados: usamos temperatura 0.0 e topK=1 para máxima precisão nas sugestões
  • Cache inteligente: separamos o cache por modelo (chat vs. conclusão) para evitar contaminação de contexto
  • Fill-in-the-Middle (FIM): o modelo recebe o código antes E depois do cursor para sugestões mais precisas

2. Chat Contextual

O chat de IA não é um simples prompt-resposta. Quando você faz uma pergunta:

  1. O arquivo atualmente aberto é analisado
  2. O código selecionado é extraído (se houver uma seleção)
  3. A estrutura do projeto é incluída
  4. Tudo é enviado como contexto para o modelo

Isso significa que você pode perguntar "o que essa função faz?" sem ter que copiar e colar código.

3. Ferramentas de Módulos (Tool Calling)

Esta é a parte mais poderosa. A IA pode invocar dezenas de ferramentas para interagir diretamente com os módulos do app. Uma amostra representativa:

FerramentaO que faz
create_fileCria arquivos no seu projeto
run_in_terminalExecuta comandos no terminal integrado
db_queryExecuta consultas no banco de dados
design_listLista e lê projetos do designer visual
git_statusVerifica o status do Git
read_fileLê arquivos do projeto
semantic_searchPesquisa a base de código por significado
grep_searchPesquisa a base de código por padrão

Quando você diz à IA "crie um ViewModel para a lista de usuários", ela não apenas gera código — cria o arquivo, coloca-o na pasta correta e atualiza os imports necessários.

Segurança

Toda execução passa por validações rigorosas:

  • Injeção de comandos: os comandos do terminal são sanitizados contra injeção
  • Sandboxing: os comandos só podem rodar dentro do diretório do projeto
  • Timeouts: toda operação tem um limite de tempo para evitar processos zumbis
  • Null safety: todas as ferramentas validam valores nulos antes de executar

Modelos Suportados

O PocketCode funciona com múltiplos provedores de IA sob um modelo BYOK (traga sua própria chave) ou login OAuth por meio das CLIs oficiais. O Pocket Code não é um provedor de IA: cada requisição vai diretamente do dispositivo para o provedor que você escolher, e o uso é cobrado pelo provedor conforme a política dele.

  • Gemini (Google) — chave de API (BYOK). Modelo padrão, excelente para Kotlin/Android
  • OpenAI / Codex (GPT-4, série o) — chave de API ou OAuth via a Codex CLI
  • Anthropic Claude (Sonnet, Opus, Haiku) — chave de API ou OAuth via a Claude Code CLI
  • GitHub Copilot — login com sua conta do GitHub (13 modelos de múltiplos fornecedores)
  • Custom (compatível com OpenAI) — qualquer endpoint /v1: OpenRouter, um Ollama local ou seu próprio servidor
  • Modelos locais, offline via Ollama — grátis, sem necessidade de chave de API

Todos os provedores são grátis. O PocketCode nunca cobra pelo acesso aos modelos; o plano pago é para suas próprias ferramentas (Swarmcode, sincronização na nuvem).

Os usuários conectam sua conta ou chave de API em Configurações > Chaves de API.

O Que Está por Vir

Estamos trabalhando em:

  • RAG (Geração Aumentada por Recuperação): para que a IA pesquise a documentação de Android e Kotlin antes de responder
  • Edição de múltiplos arquivos: editar vários arquivos em uma única operação
  • Templates de prompt: modelos de prompt reutilizáveis para tarefas comuns

Conclusão

A IA do PocketCode não é um componente aparafusado por cima — é parte integral da experiência de desenvolvimento. Cada módulo do app (terminal, banco de dados, designer, Git) está conectado, e a IA pode orquestrar todos eles. Se quiser começar, confira o guia de primeiros passos.

Você pode ver o status completo do desenvolvimento em nosso post de status.

A ferramenta por trás deste artigo

Assistente de IA

Pronto para experimentar o PocketCode?

Baixe o app e comece a programar pelo seu celular.