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

O conjunto MCP de código aberto melhora a qualidade da geração de código do Claude em 15-20%.
Tools

O conjunto MCP de código aberto melhora a qualidade da geração de código do Claude em 15-20%.

Um conjunto MCP de código aberto composto por três servidores locais e uma habilidade de prompt aborda o problema do 'token ruim' na geração de código por IA, com um cliente relatando uma melhoria de 15-20% na qualidade para o Claude Code.

OpenClawRadar
Markdown como Protocolo para Interface de Agente com Execução em Fluxo Contínuo
Tools

Markdown como Protocolo para Interface de Agente com Execução em Fluxo Contínuo

Um protótipo usa Markdown como um protocolo unificado para agentes de IA transmitirem texto, código executável e dados em uma única resposta. Ele apresenta execução em streaming, onde o código é executado instrução por instrução conforme chega, e um primitivo mount() para criar interfaces React com fluxo de dados entre cliente, servidor e LLM.

OpenClawRadar
LORE.md: Um Padrão Aberto para Extrair Conhecimento Estruturado de Conversas com IA
Tools

LORE.md: Um Padrão Aberto para Extrair Conhecimento Estruturado de Conversas com IA

LORE.md é um padrão aberto para extrair conhecimento duradouro de conversas com IA em um formato estruturado. Ele captura decisões com justificativa, insights, padrões, questões em aberto e próximos passos, com tudo interligado entre sessões.

OpenClawRadar
Bernstein: Um orquestrador semelhante ao Kubernetes para agentes de codificação de IA com verificação e políticas de modelo
Tools

Bernstein: Um orquestrador semelhante ao Kubernetes para agentes de codificação de IA com verificação e políticas de modelo

Bernstein é um orquestrador para agentes de codificação de IA que inclui verificação independente das saídas dos agentes, controles de política de modelo, 13 adaptadores de agentes e agendamento determinístico baseado em Python. O projeto possui mais de 5000 testes e recursos como disjuntores, detecção de anomalias de custo e varredura de PII.

OpenClawRadar