15 pontos por GN⁺ 2026-02-02 | 2 comentários | Compartilhar no WhatsApp
  • pi-coding-agent é um framework de agente de programação projetado para minimizar funcionalidades complexas e permitir que o usuário tenha controle total do contexto e transparência
  • Os componentes centrais são quatro: pi-ai, pi-agent-core, pi-tui e pi-coding-agent, cada um responsável por integração com API de LLM, loop do agente, UI de terminal e integração com CLI
  • Mantém o prompt de sistema e o conjunto de ferramentas abaixo de 1000 tokens, buscando uma simplificação extrema ao fornecer apenas quatro ferramentas: read/write/edit/bash
  • Restrições de segurança, subagentes, modo de planejamento e suporte a MCP foram todos excluídos, priorizando em vez disso observabilidade total e controle
  • Com resultados de benchmark e experiência de uso real, demonstra que um design simples e transparente pode ser competitivo o suficiente em relação a agentes complexos

pi-ai e pi-agent-core

  • pi-ai oferece uma API unificada de integração com provedores de LLM como Anthropic, OpenAI, Google, xAI e Groq
    • Inclui streaming, chamadas de ferramentas, suporte a raciocínio (trace), rastreamento de tokens e custos, além de compatibilidade com navegadores
    • Com apenas quatro APIs principais (OpenAI Completions/Responses, Anthropic Messages, Google Generative AI), é possível se comunicar com a maioria dos modelos
  • Faz o tratamento unificado das diferenças de API entre provedores
    • Ex.: diferenças no nome do campo max_tokens, posição do campo de reasoning, falta de suporte ao papel developer etc.
    • Como cada um reporta tokens de forma diferente, não é possível calcular custos com precisão; o pi-ai faz o rastreamento em regime de best effort
  • O recurso de context handoff permite trocar de modelo ou provedor no meio da sessão
    • Ex.: ao mudar de Anthropic → OpenAI → Google, o conteúdo de raciocínio é preservado ao ser convertido em tags ``
  • Oferece definições de modelo com segurança de tipos por meio de um registro de modelos
    • Faz parsing de dados do OpenRouter e models.dev para gerar automaticamente informações de custo e recursos por modelo
  • Suporte completo a interrupção de requisição (abort) e retorno de resultados parciais
    • Ao interromper o streaming com AbortController, é possível aproveitar os resultados intermediários como estão
  • Adota uma estrutura separada para resultados de ferramentas
    • Retorna separadamente o texto para o LLM e os dados para exibição na UI, com validação de argumentos via TypeBox/AJV
    • No futuro, está previsto adicionar streaming de resultados de ferramentas
  • O loop do agente repete automaticamente o processamento de mensagens, a execução de ferramentas e o feedback de resultados
    • A estrutura baseada em eventos facilita a implementação de uma UI reativa
    • Parâmetros de controle desnecessários (como número máximo de etapas) foram removidos para simplificar

pi-tui

  • pi-tui é um framework de UI de terminal baseado em Node.js, com suporte a atualizações em tempo real com flicker mínimo
    • Usa renderização diferencial (differential rendering) para atualizar apenas as linhas alteradas
    • Minimiza o flicker com sequências de saída sincronizadas (CSI ?2026h/l)
  • Entre duas abordagens de TUI, adota o modo de saída estilo CLI que mantém o buffer de scrollback
    • Aproveita os recursos nativos do terminal, como rolagem natural e busca
    • Estrutura semelhante à de Claude Code, Codex e Droid
  • Usa uma UI em retained mode
    • Cada componente armazena em cache seu próprio resultado de renderização e redesenha apenas quando há mudanças
    • Permite atualizações eficientes sem rerenderizar a tela inteira
  • Desempenho e uso de memória são mínimos, na faixa de algumas centenas de KB, permitindo lidar bem com sessões grandes

pi-coding-agent

  • pi-coding-agent é um agente de programação baseado em CLI que oferece os seguintes recursos
    • Suporte a Windows/Linux/macOS, gerenciamento de sessões (retomar/ramificar), troca de modelo e carregamento de AGENTS.md por projeto
    • Autenticação OAuth, mudança de tema em tempo real, exportação da sessão em HTML e modo headless (JSON/RPC)
  • O prompt de sistema é conciso, com menos de 1000 tokens
    • Especifica apenas as quatro ferramentas read, write, edit e bash
    • Remove explicações desnecessárias e regras complexas; o usuário pode expandir livremente com AGENTS.md
  • O conjunto de ferramentas é composto pelo mínimo de 4
    • Usa apenas read, write, edit e bash, o que é suficiente para a maioria das tarefas de programação
    • Ferramentas adicionais podem ser ativadas opcionalmente (ex.: grep, find, ls)
  • Modo YOLO aplicado por padrão
    • Sem restrições para acesso a todo o sistema de arquivos nem para execução de comandos
    • Remove prompts de segurança e etapas de validação prévia; em vez disso, recomenda-se usar ambiente em contêiner
  • To-do embutido, modo Plan, MCP, background bash e subagentes foram todos removidos
    • To-do/Plan foram substituídos simplesmente por gestão baseada em arquivos (TODO.md, PLAN.md)
    • O MCP foi excluído por causa de desperdício de tokens e complexidade, sendo substituído pela abordagem CLI+README
    • Para background bash, recomenda-se usar tmux
    • Subagentes foram desativados por falta de visibilidade; quando necessário, ele chama a si mesmo via bash
  • Dá grande importância à observabilidade
    • Todos os comandos, acessos a arquivos e saídas são exibidos de forma transparente
    • Em contraste com a estrutura de “caixa-preta” de outros agentes, como Claude Code

Benchmarks

  • Foi testado no Terminal-Bench 2.0 com o modelo Claude Opus 4.5
    • Em comparação com Codex, Cursor, Windsurf e outros, mostrou desempenho competitivo
    • O arquivo de resultados (results.json) foi enviado ao repositório público
  • Agentes simples como Terminus 2 também mostraram desempenho semelhante, comprovando a eficácia da abordagem minimalista

Conclusão

  • pi é um agente de programação que prioriza controle de contexto, simplicidade e transparência em vez de funcionalidades complexas
  • Tanto no uso real quanto nos benchmarks, mostrou eficiência equivalente à de agentes maiores
  • Os recursos previstos para o futuro são basicamente compactação de contexto (compaction) e streaming de resultados de ferramentas
  • O projeto é open source e garante liberdade para fazer fork e expandir
  • A principal lição é: “simplicidade é controle, e controle é produtividade

2 comentários

 
GN⁺ 2026-02-02
Comentários do Hacker News
  • Parece que você criou um projeto realmente muito legal e bem pensado
    Também concordo totalmente com a importância de context engineering e de uma estrutura de conversa em árvore
    O fluxo linear de conversa tradicional é limitado demais, então era incômodo colaborar com LLMs em pesquisa ou geração de ideias
    Eu também fiz uma ferramenta pessoal com uma filosofia parecida, construindo bem o contexto para reutilizá-lo depois, ou executando missões paralelas e trazendo só os bons resultados
    A sua versão é uma implementação muito mais valiosa. Fico feliz por ter conhecido o Pi graças a isso

    • Eu também tentei algo parecido. Gerencio um arquivo Markdown chamado MIND_MAP.md em formato de grafo e registro citações inline
      A ideia é manter memória entre sessões e reduzir desperdício de contexto ao criar subagentes
      Dá para ver no meu código de exemplo
  • Sinto que a relação entre OpenClaw e Pi-agent é parecida com a de ollama/llama-cpp
    O primeiro recebe mais atenção, mas na prática o segundo é mais impressionante
    Claude Code é aceitável no momento por causa dos benefícios da assinatura, mas quando o mercado se estabilizar e os preços de API ficarem parecidos, uma experiência premium com cobrança por token talvez seja a melhor escolha
    No fim, acho que um framework de agentes customizável vai superar aplicativos fechados

    • Na verdade, acho mais provável que os preços de API caiam ainda mais e que os benefícios da assinatura do Claude Code aumentem
      A estrutura de custo de inferência é mais eficiente do que parece, e há verba de P&D suficiente
      Todas as ferramentas estão melhorando aos poucos, e os concorrentes também não são perfeitos
    • O Pi também pode ser integrado a assinaturas. A OpenAI permitiu usar a assinatura do GPT no Pi
      Pessoalmente, fico feliz em ver o projeto do Peter recebendo atenção
      Ainda há muitos PRs no lado do OpenClaw, mas no Pi isso é algo como 1/100, então é bem mais fácil de manter
    • É praticamente a mesma situação da relação entre ChatGPT e GPT-3
      A OpenAI também dizia: “não sabemos por que o ChatGPT é tão popular, o GPT já existia via API”
    • Também acho que ele pode acabar sofrendo enshittification no fim
    • O nome “pi” é um pouco confuso. Já existe outro “Pi” muito conhecido, então fico me perguntando por que escolheram esse nome
  • É surpreendente que o Google ainda não ofereça suporte a tool call streaming
    Eles nem fornecem um tokenizer local, então o AI Studio fica contando tokens via chamada de API toda vez, numa estrutura bem ineficiente

    • O AI Studio tem um bug em que continua contando tokens mesmo quando você não está digitando
      O uso de CPU chega a 100%, a ponto de meu notebook parecer consumir mais energia que um cluster de TPUs
    • Na verdade, a Anthropic também não fornece tokenizer
  • As medidas de segurança de outros agentes de código em geral não passam de security theater
    O Codex executa comandos dentro de um sandbox de SO (por exemplo, macOS Seatbelt), então não é totalmente inútil

    • Acho que toda tool call que não seja leitura deveria exigir aprovação manual
      Mesmo sendo chato, ainda é melhor do que recuperar comandos errados depois
    • Meu Codex, quando peço para corrigir um SDK fora do sandbox, modifica o arquivo com Python
    • Executar um agente fora de um contêiner é perigoso. É o básico do básico
    • Eu conectei o Codex a um repositório no GitHub para gerar PRs automaticamente
      Sem tocar no banco de dados, deixo que ele altere só UI e código de camada intermediária
    • Fico curioso se o Codex desativa o sandbox arbitrariamente, como o Claude Code faz
    • O modo YOLO só deveria ser usado dentro de um contêiner. O acesso deve ser limitado apenas aos recursos necessários
  • Já vi alguns power users migrando para o Pi, e eu também estou considerando isso
    As vantagens do Pi são o controle total do contexto e uma estrutura de ferramentas expansível
    Há vários exemplos, como system prompts, extensões de todo e adaptadores MCP
    Se você entende limitações de desempenho de contexto e problemas como context rot e contextual drift, o valor do Pi fica evidente
    Coletânea de links relacionados

    • O Pi é a parte que mais merece atenção no moltXYZ
      O Armin claramente está à frente do seu tempo
      O Claude Code ainda tem hooks e gerenciamento de contexto superficiais
  • Eu ainda uso Cursor
    Pensei em migrar para o Claude Code, mas no meu codebase pequeno o Cursor é muito mais rápido
    Só que a UI de revisão de diff não se integra ao Git, então isso incomoda
    É difícil distinguir mudanças feitas pela IA das que eu mesmo fiz, e sinto que a revisão integrada ao Git é mais importante

    • O ponto forte do Cursor é o loop de feedback curto
      O Claude Code passa a sensação de que você precisa confiar e deixar por conta dele, e isso dá insegurança
      O essencial é poder trocar de modelo livremente. O desempenho varia conforme a linguagem ou o tipo de tarefa
    • Se você instalar a extensão Claude Code para VS Code, pode aproveitar ao mesmo tempo a exploração de codebases grandes e a integração com CC
    • O Claude Code, por padrão, não tem índice do projeto, então sai explorando arquivos um por um
      Eu criei um hook que injeta a lista de arquivos no contexto no início e melhorei a velocidade assim
      Também fiz uma ferramenta customizada para editar vários arquivos ao mesmo tempo, o que deixou tudo cerca de 3 vezes mais rápido, mas desativei por causa de alguns casos de exceção
    • Eu também sou um desenvolvedor solo bootstrapped e uso Claude para automatizar tarefas pequenas
      Por exemplo, automação de testes de frontend ou ajustes em landing pages
      As funcionalidades principais eu gerencio em uma instância separada do Claude, num loop de feedback bem próximo
    • O Cursor também está melhorando. Em breve vai adicionar um recurso de blame para linhas escritas por IA, para verificar qual modelo escreveu o quê e com qual prompt
  • O texto sobre arquitetura minimalista de agentes foi marcante
    Gostei da filosofia de “se não for necessário, não construa”
    Eu uso OpenClaw para gerenciar vários workflows em paralelo — suporte ao cliente, monitoramento de deploy, code review etc.
    A chave é context engineering
    O modelo workspace-first do OpenClaw mantém aprendizado entre sessões com AGENTS.md, TOOLS.md e o diretório memory/
    Dá para observar em logs o processo de aprendizado do próprio agente
    Gosto da abordagem de reconhecer modelos de ameaça realistas em vez de cair em teatro de segurança
    Também concordo que ter vários agentes especializados em paralelo é melhor do que um agente generalista
    Seria interessante comparar Pi e OpenClaw no Terminal-Bench

  • Gostei do texto sobre por que Armin Ronacher usa o Pi
    Foi pelo post do Armin que descobri pela primeira vez que o Pi é o harness de agentes do OpenClaw

  • O Pi tem uma estrutura baseada em JavaScript, então combina bem com a arquitetura de sandbox do navegador
    Acho que isso está alinhado com a direção futura dos agentes de IA
    Só gostaria que o autor fosse mais flexível com vendor extensions
    Discussão relacionada

    • A frase “padronize a interseção e exponha a união” me marcou
  • Eu ainda não uso modo YOLO
    Parece que ainda faltam uns 6 meses para o ferramental ficar completo
    Quase nunca há necessidade de o agente executar comandos arbitrários
    Basta integrar ao sistema de permissões coisas como lint, busca, edição e acesso à web
    Um runtime com sandboxing e controle de permissões, como Deno ou Workerd, já serve como primeira linha de defesa
    Por isso, é difícil entender por que a Anthropic escolheu Bun — a arquitetura de segurança é quase inexistente