Adam: Eine einbettbare, plattformübergreifende KI-Agenten-Bibliothek in C

Adam ist eine einbettbare KI-Agentenbibliothek in C. Sie bietet einen vollständigen Agenten-Loop – Tool-Aufrufe, Gedächtnis, Sitzungen, Sprache, Streaming, strukturierte Ausgabe – als einzelnes #include. Sie unterstützt Cloud-APIs (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) und lokale Modelle über llama.cpp über dieselbe Schnittstelle. Kompiliert auf macOS, Linux, Windows, iOS, Android und WASM.
Schnellstart
#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, "What is the capital of France?");
printf("%s\n", r.final_response); // "The capital of France is 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)
Hauptmerkmale
- Agenten-Loop – Tool-Aufrufe mit automatischer Iteration bis zur endgültigen Antwort
- Drei Anbieter – Anthropic, OpenAI, Google Gemini + jede kompatible API + lokales GGUF über llama.cpp
- Lokales Sehen – multimodales Bildverständnis via llama.cpp + mmproj (Gemma 3, LLaVA usw.)
- Bildgenerierung – native Bildausgabe über Gemini-Bildmodelle
- Datenbankerweiterungen – SQLite- und PostgreSQL-Erweiterungen, die Adam als SQL-Funktionen einbetten
- 13 integrierte Tools – Datei-I/O, Shell, Taschenrechner, SQL, Web-Fetch/Suche, HTTP-POST, Gedächtnis, Recherche, Multi-Agent
- Langzeitgedächtnis – hybride BM25 + Vektorsuche via SQLite (sqlite-memory + sqlite-vector)
- Sitzungspersistenz – Speichern/Laden von Konversationen mit UUIDv7-Schlüsseln
- Telegram-Bot – voll ausgestattet mit Text, Sprache, Bildern, Tools und Gedächtnis
- Sprache – STT (Whisper Cloud/Lokal) + TTS (Cloud/System) + vollständige Audio-Pipeline
- Streaming – Echtzeit-Token-Auslieferung via Callback
- Strukturierte Ausgabe –
adam_run_json()mit Validierung und Wiederholung - Evolutionsschleife – selbstverbessernder Agent: iterieren, bewerten, Strategie verfeinern
- Recherche-Modus – autonome Multi-Iterations-Informationssammlung mit Berichtssynthese
- Multi-Agent – Agent A ruft Agent B als Tool auf, mit unabhängigen Einstellungen/Werkzeugen
- Schutzmechanismen – Callbacks zur Validierung vor dem Senden und nach dem Empfangen
- Antwort-Cache – LRU-Hash-Tabelle, geschlüsselt nach Modell + Nachrichtenverlauf
- Verlaufsverwaltung – Klonen, Zusammenfassen (LLM-basierte Komprimierung), Token-Schätzung
- Thread-Pool – gleichzeitige Agentenausführung mit Auftragswarteschlange
- Dateisystem-Sandbox – Tools auf explizit erlaubte Verzeichnisse beschränkt
- Arena-Allokator – leckfreie Speicherverwaltung pro Iteration mit automatischer Bereinigung
Build-Ziele
make deps # Build llama.cpp, whisper.cpp (+ mbedtls/curl auf Linux)
make all # Build libadam.a
make test # Build & run unit tests (ASan + UBSan)
make chat # Interaktiver Text-Chat (Cloud-API)
make chat GGUF=models/model.gguf # Interaktiver Text-Chat (lokal)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf # Lokaler Vision-Test
make talk # Sprachagent (Cloud)
make talk LOCAL=1 # Sprachagent (vollständig lokal)
make memory # Gedächtnissystem-Tests
make clean # Alle Build-Artefakte entfernen
Die vollständige API-Dokumentation ist in API.md mit jeder Funktion, jedem Typ und jedem Callback verfügbar.
📖 Den vollständigen Quelltext lesen: HN AI Agents
👀 Siehe auch

Das Claude-switch CLI-Tool automatisiert das Wechseln zwischen Claude Max-Konten, wenn Nutzungslimits erreicht werden.
Ein Entwickler hat claude-switch erstellt, ein 250-zeiliges Bash-CLI-Tool, das Claude Code-Anmeldedaten aus dem macOS Keychain speichert und wiederherstellt, um zwischen Konten zu wechseln, wenn eines Nutzungslimits erreicht. Das Tool eliminiert die erneute Browser-Authentifizierung und erhält die Arbeitsablaufkontinuität.

Octopoda: Open-Source-Speicherschicht für lokale KI-Agenten
Octopoda ist eine Open-Source-Gedächtnisschicht, die lokalen KI-Agenten persistente Erinnerungen zwischen Sitzungen, semantische Suche, Schleifenerkennung und Absturzwiederherstellung bietet. Es läuft vollständig offline mit einem 33 MB großen Embedding-Modell und integriert sich mit LangChain, CrewAI, AutoGen und dem OpenAI Agents SDK.

Schwarzes LLAB: Open-Source-Architektur für dynamisches Modell-Routing und Docker-isolierte KI-Agenten
Ein Entwickler hat Black LLAB als Open-Source-Projekt veröffentlicht, ein System, das Mistral 3B nutzt, um Anfragen zwischen lokalen und Cloud-Modellen zu routen und KI-Agenten in isolierten Docker-Containern mit OpenClaw-Integration auszuführt.

OpenClaw Alexa Voice Proxy ermöglicht bidirektionale Sprachinteraktion
openclaw-alexa-voice ist ein Node.js-Proxy, der eine Alexa Custom Skill mit dem OpenClaw-Gateway verbindet und ein dreistufiges Antwortsystem für Sprachabfragen bietet. Er verarbeitet schnelle Antworten unter 1 Sekunde, Agentenantworten unter 12 Sekunden und zurückgestellte komplexe Abfragen, die asynchron innerhalb von 2 Minuten bearbeitet werden.