Adam: Uma Biblioteca de Agente de IA Multiplataforma Incorporável em C

Adam é uma biblioteca de agente de IA incorporável escrita em C. Ela oferece um loop completo de agente — chamada de ferramentas, memória, sessões, voz, streaming, saída estruturada — como um único #include. Suporta APIs de nuvem (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) e modelos locais via llama.cpp através da mesma interface. Compila em macOS, Linux, Windows, iOS, Android e WASM.
Início Rápido
#include "adam.h"
int main(void) {
adam_init();
adam_settings_t *s = adam_create_settings();
adam_settings_set_provider(s, ADAM_API_ANTHROPIC, getenv("ANTHROPIC_API_KEY"), "claude-sonnet-4-20250514");
adam_history_t *h = adam_history_create();
adam_run_result_t r = adam_run(s, h, "Qual é a capital da França?");
printf("%s\n", r.final_response); // "A capital da França é Paris."
adam_run_result_free(&r);
adam_history_destroy(h);
adam_settings_destroy(s);
adam_cleanup();
}
make deps # compila llama.cpp + whisper.cpp
make all # compila libadam.a
make test # executa 161 testes (ASan + UBSan)
Principais Recursos
- Loop de agente – chamada de ferramentas com iteração automática até a resposta final
- Três provedores – Anthropic, OpenAI, Google Gemini + qualquer API compatível + GGUF local via llama.cpp
- Visão local – compreensão multimodal de imagens via llama.cpp + mmproj (Gemma 3, LLaVA, etc.)
- Geração de imagens – saída nativa de imagem via modelos de imagem Gemini
- Extensões de banco de dados – extensões SQLite e PostgreSQL que incorporam Adam como funções SQL
- 13 ferramentas embutidas – E/S de arquivo, shell, calculadora, SQL, busca/obtenção na web, POST HTTP, memória, pesquisa, multi-agente
- Memória de longo prazo – busca híbrida BM25 + vetorial via SQLite (sqlite-memory + sqlite-vector)
- Persistência de sessão – salvar/carregar conversas com chaves UUIDv7
- Bot do Telegram – completo com texto, voz, imagens, ferramentas e memória
- Voz – STT (Whisper nuvem/local) + TTS (nuvem/sistema) + pipeline de áudio completo
- Streaming – entrega de tokens em tempo real via callback
- Saída estruturada –
adam_run_json()com validação e retentativa - Loop de evolução – agente auto-melhorável: iterar, pontuar, refinar estratégia
- Modo de pesquisa – coleta autônoma de informações com múltiplas iterações e síntese de relatório
- Multi-agente – Agente A invoca Agente B como ferramenta, com configurações/ferramentas independentes
- Guardrails – callbacks de validação pré-envio e pós-recebimento
- Cache de resposta – tabela hash LRU indexada por modelo + histórico de mensagens
- Gerenciamento de histórico – clonar, resumir (compressão baseada em LLM), estimativa de tokens
- Pool de threads – execução concorrente de agentes com fila de tarefas
- Sandbox de sistema de arquivos – ferramentas restritas a diretórios explicitamente permitidos
- Alocador Arena – memória sem vazamento por iteração com limpeza automática
Alvos de Compilação
make deps # Compila llama.cpp, whisper.cpp (+ mbedtls/curl no Linux)
make all # Compila libadam.a
make test # Compila e executa testes unitários (ASan + UBSan)
make chat # Chat de texto interativo (API de nuvem)
make chat GGUF=models/model.gguf # Chat de texto interativo (local)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf # Teste de visão local
make talk # Agente de voz (nuvem)
make talk LOCAL=1 # Agente de voz (totalmente local)
make memory # Testes do sistema de memória
make clean # Remove todos os artefatos de compilação
A documentação completa da API está disponível em API.md com todas as funções, tipos e callbacks.
📖 Leia o código-fonte completo: HN AI Agents
👀 See Also

Google Lança Sashiko: Agente de Revisão de Código com IA para Patches do Kernel Linux
Engenheiros do Google disponibilizaram como código aberto o Sashiko, um sistema de revisão de código com IA agentiva projetado para o kernel Linux. Ele encontrou 53% dos bugs em um conjunto não filtrado de 1.000 problemas recentes do upstream que foram perdidos por revisores humanos.

mindpm: Um Servidor MCP Gratuito para Memória Persistente de Projetos com Claude
mindpm é um servidor MCP gratuito e de código aberto que fornece ao Claude um banco de dados SQLite local para rastrear tarefas, decisões, notas e resumos de sessão entre conversas. A configuração leva 30 segundos com o comando: claude mcp add mindpm -e MINDPM_DB_PATH=~/.mindpm/memory.db -- npx -y mindpm.

Clavis MCP Server: Gerenciamento Seguro de Credenciais para Claude Desktop
Clavis é um servidor MCP que gerencia chaves de API e tokens OAuth para o Claude Desktop, armazenando credenciais com criptografia AES-256 e fornecendo atualização automática de tokens para evitar erros de expiração no meio da conversa.

Claude Operações: Painel de Navegador para Status ao Vivo e Rastreamento de Subagentes do Claude Code
Um painel gratuito e local para navegador macOS que rastreia o status ao vivo de sessões do Claude Code, ferramenta atual, subagentes gerados e envia notificações push do OS quando a entrada é necessária.