Адам: Встраиваемая кроссплатформенная библиотека AI-агентов на C

✍️ OpenClawRadar📅 Опубликовано: 7 мая 2026 г.🔗 Source
Адам: Встраиваемая кроссплатформенная библиотека AI-агентов на C
Ad

Adam — это встраиваемая библиотека AI-агента, написанная на C. Она предлагает полный цикл агента — вызов инструментов, память, сессии, голос, потоковую передачу, структурированный вывод — в виде одного #include. Поддерживает облачные API (Anthropic, OpenAI, Google Gemini, Groq, Together, xAI) и локальные модели через llama.cpp с единым интерфейсом. Компилируется на macOS, Linux, Windows, iOS, Android и WASM.

Быстрый старт

#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, "Какова столица Франции?"); printf("%s\n", r.final_response); // "Столица Франции — Париж." adam_run_result_free(&r); adam_history_destroy(h); adam_settings_destroy(s); adam_cleanup(); }

make deps     # сборка llama.cpp + whisper.cpp
make all      # сборка libadam.a
make test     # запуск 161 теста (ASan + UBSan)
Ad

Ключевые возможности

  • Цикл агента – вызов инструментов с автоматической итерацией до получения окончательного ответа
  • Три провайдера – Anthropic, OpenAI, Google Gemini + любые совместимые API + локальный GGUF через llama.cpp
  • Локальное зрение – мультимодальное понимание изображений через llama.cpp + mmproj (Gemma 3, LLaVA и др.)
  • Генерация изображений – нативный вывод изображений через модели Gemini
  • Расширения баз данных – расширения SQLite и PostgreSQL, встраивающие Adam как SQL-функции
  • 13 встроенных инструментов – файловый ввод/вывод, оболочка, калькулятор, SQL, веб-запросы/поиск, HTTP POST, память, исследование, мультиагент
  • Долговременная память – гибридный поиск BM25 + векторный через SQLite (sqlite-memory + sqlite-vector)
  • Сохранение сессий – сохранение/загрузка диалогов с ключами UUIDv7
  • Telegram-бот – полнофункциональный с текстом, голосом, изображениями, инструментами и памятью
  • Голос – STT (Whisper облачный/локальный) + TTS (облачный/системный) + полный аудио-конвейер
  • Потоковая передача – доставка токенов в реальном времени через колбэк
  • Структурированный выводadam_run_json() с валидацией и повторными попытками
  • Цикл эволюции – самоулучшающийся агент: итерация, оценка, уточнение стратегии
  • Режим исследования – автономный многократный сбор информации с синтезом отчета
  • Мультиагент – Агент A вызывает Агента B как инструмент с независимыми настройками/инструментами
  • Ограничения – колбэки валидации до отправки и после получения
  • Кэш ответов – LRU хеш-таблица с ключом по модели и истории сообщений
  • Управление историей – клонирование, суммаризация (сжатие на основе LLM), оценка токенов
  • Пул потоков – параллельное выполнение агентов с очередью задач
  • Песочница файловой системы – инструменты ограничены явно разрешенными директориями
  • Арена-аллокатор – без утечек память на итерацию с автоматической очисткой

Цели сборки

make deps     # Сборка llama.cpp, whisper.cpp (+ mbedtls/curl на Linux)
make all      # Сборка libadam.a
make test     # Сборка и запуск модульных тестов (ASan + UBSan)
make chat     # Интерактивный текстовый чат (облачный API)
make chat GGUF=models/model.gguf   # Интерактивный текстовый чат (локальный)
make vision GGUF=models/model.gguf MMPROJ=models/mmproj.gguf  # Локальное тестирование зрения
make talk     # Голосовой агент (облачный)
make talk LOCAL=1  # Голосовой агент (полностью локальный)
make memory   # Тесты системы памяти
make clean    # Удаление всех артефактов сборки

Полная документация API доступна в API.md с описанием каждой функции, типа и колбэка.

📖 Читать полный исходный код: HN AI Agents

Ad

👀 Смотрите также

Расширение Microsoft DebugMCP для VS Code предоставляет AI-агентам возможности отладки.
Инструменты

Расширение Microsoft DebugMCP для VS Code предоставляет AI-агентам возможности отладки.

Microsoft DebugMCP — это расширение для VS Code, которое предоставляет полный доступ к отладчику VS Code для ИИ-агентов программирования через Model Context Protocol (MCP), позволяя им устанавливать точки останова, пошагово выполнять код, проверять переменные и вычислять выражения.

OpenClawRadar
Переход от правил CLAUDE.md к обеспечению соблюдения на уровне инфраструктуры с помощью Citadel
Инструменты

Переход от правил CLAUDE.md к обеспечению соблюдения на уровне инфраструктуры с помощью Citadel

Разработчик обнаружил, что добавление более 100 строк правил в файл CLAUDE.md снижает их соблюдение, при этом 40% правил в его файле были избыточными. Решением стало перенос контроля с инструкций на инфраструктуру с использованием хуков жизненного цикла, навыков и файлов кампаний, что привело к созданию открытой системы Citadel.

OpenClawRadar
Markdown как протокол для агентного пользовательского интерфейса с потоковым выполнением
Инструменты

Markdown как протокол для агентного пользовательского интерфейса с потоковым выполнением

Прототип использует Markdown в качестве унифицированного протокола для потоковой передачи текста, исполняемого кода и данных в одном ответе AI-агентов. Он поддерживает потоковое выполнение, где код запускается построчно по мере поступления, и примитив mount() для создания React UI с потоком данных между клиентом, сервером и LLM.

OpenClawRadar
OpenObscure: Открытый локальный брандмауэр конфиденциальности для ИИ-агентов
Инструменты

OpenObscure: Открытый локальный брандмауэр конфиденциальности для ИИ-агентов

OpenObscure — это открытый межсетевой экран для защиты приватности, работающий на устройстве и располагающийся между ИИ-агентами и провайдерами языковых моделей. Он использует FF1 Format-Preserving Encryption для шифрования персональных данных перед отправкой запроса с вашего устройства. Включает обнаружение PII с полнотой 99,7%, сканирование когнитивного межсетевого экрана и работает на macOS/Linux/Windows с поддержкой iOS/Android.

OpenClawRadar