아담: C 언어로 제작된 임베디드 크로스 플랫폼 AI 에이전트 라이브러리

✍️ OpenClawRadar📅 게시일: May 7, 2026🔗 Source
아담: C 언어로 제작된 임베디드 크로스 플랫폼 AI 에이전트 라이브러리
Ad

Adam은 C로 작성된 내장형 AI 에이전트 라이브러리입니다. 단일 #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 + llama.cpp를 통한 로컬 GGUF
  • 로컬 비전 – llama.cpp + mmproj(Gemma 3, LLaVA 등)를 통한 멀티모달 이미지 이해
  • 이미지 생성 – Gemini 이미지 모델을 통한 네이티브 이미지 출력
  • 데이터베이스 확장 – Adam을 SQL 함수로 내장하는 SQLite 및 PostgreSQL 확장
  • 13가지 내장 툴 – 파일 I/O, 셸, 계산기, SQL, 웹 가져오기/검색, HTTP POST, 메모리, 연구, 멀티 에이전트
  • 장기 메모리 – SQLite를 통한 하이브리드 BM25 + 벡터 검색(sqlite-memory + sqlite-vector)
  • 세션 영속성 – UUIDv7 키를 사용한 대화 저장/불러오기
  • 텔레그램 봇 – 텍스트, 음성, 이미지, 툴, 메모리를 갖춘 완전한 기능
  • 음성 – STT(Whisper 클라우드/로컬) + TTS(클라우드/시스템) + 전체 오디오 파이프라인
  • 스트리밍 – 콜백을 통한 실시간 토큰 전달
  • 구조화된 출력 – 검증 및 재시도가 포함된 adam_run_json()
  • 진화 루프 – 자기 개선 에이전트: 반복, 점수 매기기, 전략 개선
  • 연구 모드 – 자율적 다중 반복 정보 수집 및 보고서 종합
  • 멀티 에이전트 – 에이전트 A가 독립적인 설정/툴을 가진 에이전트 B를 툴로 호출
  • 가드레일 – 전송 전 및 수신 후 검증 콜백
  • 응답 캐시 – 모델 + 메시지 기록을 키로 하는 LRU 해시 테이블
  • 기록 관리 – 복제, 요약(LLM 기반 압축), 토큰 추정
  • 스레드 풀 – 작업 큐를 통한 동시 에이전트 실행
  • 파일 시스템 샌드박스 – 명시적으로 허용된 디렉터리로 제한된 툴
  • 아레나 할당자 – 자동 정리를 통한 반복당 제로 누수 메모리

빌드 대상

make deps     # llama.cpp, whisper.cpp 빌드 (Linux에서는 mbedtls/curl 추가)
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

👀 See Also

RiserFlow MCP 서버, OpenClaw에 이커머스 기능 추가
Tools

RiserFlow MCP 서버, OpenClaw에 이커머스 기능 추가

RiserFlow라는 오픈소스 MCP 서버는 OpenClaw가 제품을 의미적으로 검색하고, 장바구니를 관리하며, 상점 관리 시스템에 실제로 반영되는 주문을 할 수 있도록 합니다. 현재 Bitrix를 지원하며, 다른 플랫폼을 위한 어댑터 패턴을 갖추고 있습니다.

OpenClawRadar
자율 코딩 워크플로우가 클로드 코드를 활용해 하룻밤 사이에 16만 3천 줄의 코드를 배포했습니다
Tools

자율 코딩 워크플로우가 클로드 코드를 활용해 하룻밤 사이에 16만 3천 줄의 코드를 배포했습니다

한 개발자가 자율적인 워크플로우를 구축하여 하룻밤 사이에 72개의 작업을 완료했으며, 163,643줄의 코드와 6,400개 이상의 통과 테스트를 생성했으며, 첫 시도 성공률은 85%였습니다.

OpenClawRadar
🦀
Tools

Wakehook: 실제 기상 시간에 OpenClaw 아침 자동화 트리거, Cron이 아님

Wakehook는 구글 헬스/Fitbit 수면 데이터를 읽고 실제로 일어났을 때 OpenClaw에 user.awake 이벤트를 POST합니다. 자체 호스팅 가능, 폴링 방식, 공개 URL 불필요.

OpenClawRadar
🦀
Tools

Terry Tao, LLM 에이전트를 사용해 24개의 Java 애플릿을 JavaScript로 포팅하다 — 원본 코드에서 버그 발견

테렌스 타오가 LLM 코딩 에이전트를 사용하여 1999년에 만든 자바 애플릿 24개를 단 몇 시간 만에 자바스크립트로 포팅했습니다. 에이전트는 원본 코드에서 버그 2개를 찾아냈고, 드래그 처리 관련 사소한 버그 하나만 새로 만들었습니다.

OpenClawRadar