Adam: C言語で書かれた埋め込み可能なクロスプラットフォームAIエージェントライブラリ

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, "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 # llama.cpp + whisper.cpp をビルド
make all # libadam.a をビルド
make test # 161個のテストを実行(ASan + UBSan)
主な機能
- エージェントループ – 最終応答まで自動反復するツール呼び出し
- 3つのプロバイダ – Anthropic、OpenAI、Google Gemini + 互換API + llama.cpp経由のローカルGGUF
- ローカル視覚 – llama.cpp + mmprojによるマルチモーダル画像理解(Gemma 3、LLaVAなど)
- 画像生成 – Gemini画像モデルによるネイティブ画像出力
- データベース拡張 – AdamをSQL関数として埋め込むSQLiteおよびPostgreSQL拡張
- 13の組み込みツール – ファイルI/O、シェル、電卓、SQL、Web取得/検索、HTTP POST、メモリ、リサーチ、マルチエージェント
- 長期メモリ – SQLiteによるハイブリッドBM25 + ベクトル検索(sqlite-memory + sqlite-vector)
- セッション永続化 – UUIDv7キーによる会話の保存/読み込み
- Telegramボット – テキスト、音声、画像、ツール、メモリを備えたフル機能
- 音声 – 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
👀 See Also

仕事を片付ける:AIコーディングエージェントのためのメタプロンプティングシステム
Get Shit Doneは、Claude Code、OpenCode、Gemini CLI、Codex、Copilot、Antigravityと連携するメタプロンプティング、コンテキストエンジニアリング、仕様駆動開発システムです。構造化されたプロンプトと検証ワークフローを提供することで、コンテキストロット(AIエージェントのコンテキストウィンドウに無関係な情報が蓄積して品質が劣化する現象)に対処します。

Claude-Skillsメンテナーが181のエージェントスキルライブラリに関するフィードバックを募集
claude-skillsのメンテナであるRezaは、11のAIコーディングツールで動作する181のエージェントスキル、250のPythonツール、15のエージェントペルソナを含むオープンソースライブラリについて、コミュニティからのフィードバックを求めています。彼は、個別のスキルアプローチが効果的かどうかを疑問視し、不足しているスキル、ペルソナベースのエージェント、ツール統合に関する意見を求めています。

トークンリデューサー:インテリジェントなコンテキスト圧縮のためのClaudeコードプラグイン
Token Reducerは、ASTベースのチャンキング、ハイブリッド検索、TextRank圧縮を使用して、リポジトリのコンテキストをローカルで処理し、トークン使用量を90〜98%削減するClaude Codeプラグインです。MITライセンスで、プラグインマーケットプレイスから利用可能です。

Mac MiniでのローカルLLMパフォーマンスベンチマーク:OpenClawとLM Studioを使用
Redditユーザーが、32GB RAM搭載のMac MiniでUnsloth gpt-oss-20b-Q4_K_S.ggufモデルをローカル実行した際のパフォーマンス数値を投稿しました。OpenClaw 2026.3.8とLM Studio 0.4.6+1を使用し、34トークン/秒の速度と0.7秒の初回トークン応答時間を達成しました。