아담: 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

ClaudeMeter: 실시간 Claude 사용량 추적을 위한 오픈소스 macOS 메뉴 바 앱
Tools

ClaudeMeter: 실시간 Claude 사용량 추적을 위한 오픈소스 macOS 메뉴 바 앱

ClaudeMeter는 Claude Max 구독자를 위한 무료 오픈소스 macOS 메뉴 바 앱으로, 워크플로우를 방해하지 않으면서 세션 및 주간 사용량 백분율, 재설정 타이머, 속도 지표를 표시합니다. 전체 앱은 Swift 코드, Supabase 백엔드 및 Edge Functions에 Claude(Claude Code/Opus)를 사용하여 구축되었습니다.

OpenClawRadar
벤치마크 결과: 오픈클로 오케스트레이션을 위한 6가지 저비용 모델 vs. 클로드 소넷 4.6
Tools

벤치마크 결과: 오픈클로 오케스트레이션을 위한 6가지 저비용 모델 vs. 클로드 소넷 4.6

한 개발자가 OpenClaw AI 코딩 에이전트 설정의 메인 오케스트레이터로 Claude Sonnet 4.6보다 저렴한 대안을 찾기 위해 벤치마크를 실행했습니다. 테스트는 실제 파일과 도구를 사용한 일관된 5개 작업 연속 테스트로 진행되었으며, 단계별 안내 프롬프트 없이 수행되었습니다.

OpenClawRadar
구피LM: 교육 목적으로 처음부터 구축된 9백만 파라미터 규모의 대규모 언어 모델
Tools

구피LM: 교육 목적으로 처음부터 구축된 9백만 파라미터 규모의 대규모 언어 모델

GuppyLM은 6개의 레이어, 384개의 은닉 차원, 6개의 어텐션 헤드를 가진 기본 트랜스포머 아키텍처를 사용하여 60K개의 합성 대화로 처음부터 학습된 약 9백만 파라미터 언어 모델입니다. 무료 Colab T4 GPU에서 약 5분 동안 학습하며, 물, 음식, 수조 생활에 초점을 맞춘 물고기 성격으로 말합니다.

OpenClawRadar
cq: AI 코딩 에이전트를 위한 로컬-퍼스트 지식 공유 시스템
Tools

cq: AI 코딩 에이전트를 위한 로컬-퍼스트 지식 공유 시스템

Mozilla.ai의 cq는 로컬 SQLite 저장소를 통해 AI 코딩 에이전트가 일반적인 함정에 대한 '지식 단위'를 공유할 수 있게 해주는 오픈소스 도구로, Docker API를 통한 팀 공유 옵션도 제공합니다. Claude Code 플러그인 또는 OpenCode MCP 서버로 설치할 수 있습니다.

OpenClawRadar