Adam : une bibliothèque d’agents IA multiplateforme intégrable en C

✍️ OpenClawRadar📅 Publié: May 7, 2026🔗 Source
Adam : une bibliothèque d’agents IA multiplateforme intégrable en C
Ad

Adam est une bibliothèque d'agent IA embarquable écrite en C. Elle propose une boucle d'agent complète — appel d'outils, mémoire, sessions, voix, streaming, sortie structurée — en un seul #include. Elle prend en charge les API cloud (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) et les modèles locaux via llama.cpp à travers la même interface. Elle se compile sur macOS, Linux, Windows, iOS, Android et WASM.

Démarrage rapide

#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, "Quelle est la capitale de la France ?"); printf("%s\n", r.final_response); // "La capitale de la France est Paris." adam_run_result_free(&r); adam_history_destroy(h); adam_settings_destroy(s); adam_cleanup(); }

make deps     # build llama.cpp + whisper.cpp
make all      # build libadam.a
make test     # run 161 tests (ASan + UBSan)
Ad

Fonctionnalités clés

  • Boucle d'agent – appel d'outils avec itération automatique jusqu'à la réponse finale
  • Trois fournisseurs – Anthropic, OpenAI, Google Gemini + toute API compatible + GGUF local via llama.cpp
  • Vision locale – compréhension d'image multimodale via llama.cpp + mmproj (Gemma 3, LLaVA, etc.)
  • Génération d'images – sortie d'image native via les modèles d'image Gemini
  • Extensions de base de données – extensions SQLite et PostgreSQL qui intègrent Adam en tant que fonctions SQL
  • 13 outils intégrés – entrée/sortie fichier, shell, calculatrice, SQL, récupération/recherche web, HTTP POST, mémoire, recherche, multi-agent
  • Mémoire à long terme – recherche hybride BM25 + vectorielle via SQLite (sqlite-memory + sqlite-vector)
  • Persistance des sessions – sauvegarde/chargement des conversations avec des clés UUIDv7
  • Bot Telegram – complet avec texte, voix, images, outils et mémoire
  • Voix – STT (Whisper cloud/local) + TTS (cloud/système) + pipeline audio complet
  • Streaming – livraison en temps réel des tokens via callback
  • Sortie structurée – adam_run_json() avec validation et réessai
  • Boucle d'évolution – agent auto-améliorant : itérer, noter, affiner la stratégie
  • Mode recherche – collecte autonome multi-itérations d'informations avec synthèse de rapport
  • Multi-agent – Agent A invoque Agent B en tant qu'outil, avec paramètres/outils indépendants
  • Gardes-fous – callbacks de validation avant envoi et après réception
  • Cache de réponses – table de hachage LRU indexée par modèle + historique des messages
  • Gestion de l'historique – clonage, résumé (compression basée sur LLM), estimation de tokens
  • Pool de threads – exécution concurrente d'agents avec file d'attente de tâches
  • Sandbox du système de fichiers – outils restreints aux répertoires explicitement autorisés
  • Allocateur Arena – mémoire sans fuite par itération avec nettoyage automatique

Cibles de compilation

make deps     # Build llama.cpp, whisper.cpp (+ mbedtls/curl sur Linux)
make all      # Build libadam.a
make test     # Build & exécute les tests unitaires (ASan + UBSan)
make chat     # Chat textuel interactif (API cloud)
make chat GGUF=models/model.gguf   # Chat textuel interactif (local)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf  # Test de vision locale
make talk     # Agent vocal (cloud)
make talk LOCAL=1  # Agent vocal (entièrement local)
make memory   # Tests du système de mémoire
make clean    # Supprime tous les artefacts de compilation

La documentation complète de l'API est disponible dans API.md avec toutes les fonctions, types et callbacks.

📖 Lire le code source complet : HN AI Agents

Ad

👀 See Also

Aura Research : Un outil local compile des documents en un wiki navigable par IA avec mémoire persistante
Tools

Aura Research : Un outil local compile des documents en un wiki navigable par IA avec mémoire persistante

Aura Research est un outil open-source qui traite des documents bruts (PDF, articles, notes, code, 60+ formats) en un wiki structuré en markdown avec des articles liés, des pages de concepts et un index principal. Il compresse le tout dans une archive .aura optimisée pour la recherche RAG et fonctionne à 100% localement sans que vos données ne quittent votre machine.

OpenClawRadar
Nouvel outil injecte des instructions dans le code Claude en fonction de l'utilisation contextuelle
Tools

Nouvel outil injecte des instructions dans le code Claude en fonction de l'utilisation contextuelle

Un développeur frustré par les limites de contexte de Claude Code en plein travail a créé un outil qui surveille l'utilisation du contexte et injecte des instructions personnalisées lorsque des seuils sont franchis — permettant à Claude d'agir sur les avertissements avant qu'il ne soit trop tard.

OpenClaw Radar
Exploiter le Signal d'Agence Cachée des LLM (Â) pour un Meilleur Appel d'Outils
Tools

Exploiter le Signal d'Agence Cachée des LLM (Â) pour un Meilleur Appel d'Outils

Un développeur a découvert que les LLM possèdent une direction d'état caché linéairement séparable appelée  qui prédit les appels d'outils avec une AUC > 0,94. En utilisant ce signal pour forcer les appels d'outils, les performances de Qwen3-1.7B sont passées de 26,7 % à 85 % (+58 % d'amélioration) et les échecs sans outil ont été réduits de 43 % à 2,6 %.

OpenClawRadar
Claudlytics : Tableau de bord auto-hébergé pour suivre l'utilisation des jetons de code Claude et les coûts
Tools

Claudlytics : Tableau de bord auto-hébergé pour suivre l'utilisation des jetons de code Claude et les coûts

Claudlytics est un serveur web Node.js qui lit les fichiers de session .jsonl locaux de Claude Code pour fournir un suivi en temps réel de l'utilisation des jetons et des coûts. Il s'exécute localement sur 127.0.0.1 et peut être accessible via un tunnel SSH pour les serveurs distants.

OpenClawRadar