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

Brunnfeld Agentic World: Multi-Agenten-Simulation einer mittelalterlichen Wirtschaft ohne Verhaltensvorgaben
Eine TypeScript-Simulation, in der 20 LLM-Agenten autonom in einer mittelalterlichen Dorfwirtschaft handeln, ohne Verhaltensanweisungen, Ziele oder Handelsstrategien. Die Agenten erhalten pro Tick etwa 200 Token-Wahrnehmungen und interagieren über eine deterministische Engine, die Physik, Rezepte und Marktmechaniken verarbeitet.

WhatsApp KI-Assistent entwickelt mit Claude Code als OpenClaw-Alternative
Ein Entwickler hat einen WhatsApp-KI-Assistenten mit Claude Code als agentisches Gehirn erstellt, mit einem lokalen Relay-Server für WhatsApp-Webhooks und einem MCP-Server als Brücke. Das Projekt umfasst Arcade für bereichsspezifische Authentifizierung zu Google Kalender, Gmail und Slack.

Markdown Manager: Ein einfacher Markdown-Editor für macOS
Markdown Manager ist eine kostenlose, quelloffene macOS-Anwendung zur Verwaltung von Markdown-Dateien, die Funktionen zur Dokumentenkonvertierung und Vorschau bietet.

n8n-mcp-lite: MCP-Server reduziert Token-Verbrauch für Claude mit n8n-Workflows um 80 %
Ein neuer Open-Source-Model-Context-Protocol-Server namens n8n-mcp-lite hilft Claude dabei, n8n-Automatisierungs-Workflows zu analysieren und reduziert dabei den Token-Verbrauch um etwa 80%. Das Tool begegnet dem tokenintensiven Charakter visueller Knoten-Automatisierungen durch gezieltes Workflow-Scannen und präzise Updates.