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

✍️ OpenClawRadar📅 Publicado: May 7, 2026🔗 Source
Adam: Uma Biblioteca de Agente de IA Multiplataforma Incorporável em C
Ad

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)
Ad

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 estruturadaadam_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

Ad

👀 See Also

Histórico de Arquivos do Claude: Extensão do VS Code para Rastrear Sessões de Código do Claude
Tools

Histórico de Arquivos do Claude: Extensão do VS Code para Rastrear Sessões de Código do Claude

Uma extensão do VS Code chamada Claude File History rastreia todas as sessões do Claude Code que tocaram seus arquivos, permitindo que você encontre conversas passadas, visualize o que foi discutido e retome conversas com um duplo clique.

OpenClawRadar
NerfGuard: Um Classificador que Roteia Solicitações de Codificação para Modelos Mais Baratos, Reduzindo Custos em 3x
Tools

NerfGuard: Um Classificador que Roteia Solicitações de Codificação para Modelos Mais Baratos, Reduzindo Custos em 3x

O NerfGuard usa um classificador rápido para rotear solicitações de agentes de codificação para o modelo e profundidade de raciocínio menos caros, resultando em 3x mais uso pelo mesmo gasto. Inclui otimizações de tokens.

OpenClawRadar
context-link v1.0.0: Servidor MCP local reduz o uso de tokens do Claude Code em 91%
Tools

context-link v1.0.0: Servidor MCP local reduz o uso de tokens do Claude Code em 91%

context-link v1.0.0 é um servidor MCP local que indexa bases de código com Tree-sitter para fornecer ao Claude apenas os símbolos, dependências e estrutura exatos necessários, reduzindo o uso de tokens em 91% em casos específicos e 70-80% em tarefas completas.

OpenClawRadar
Extensão Super Claude para navegador monitora a velocidade de uso e previsões de limite da IA Claude.
Tools

Extensão Super Claude para navegador monitora a velocidade de uso e previsões de limite da IA Claude.

Um desenvolvedor criou uma extensão de navegador chamada Super Claude que adiciona indicadores de velocidade de uso e previsões de tempo até 100% diretamente na interface do Claude, ajudando os usuários a monitorar o consumo de sua alocação de 5 horas.

OpenClawRadar