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

Reverse-Engineered Airtable内部APIがMCP経由で公開:Claude Code向け60以上のツール
ある開発者がAirtableの内部APIをリバースエンジニアリングし、60以上のツールを備えたMCPサーバーを構築しました。これにより、Claude Codeや15以上のIDEがデータベースビュー、計算フィールド、拡張機能を制御できるようになります。すでに2000人以上のユーザーに利用されており、無料でオープンソースです。

続:Claudeコードで繰り返されるワークフローを自動検出するツール
Zokuは、Claude Codeのイベントシステムにフックしてセッション間のツール操作を記録し、繰り返されるワークフローパターンを特定し、それらのパターンをClaudeに通知して積極的に提案または実行できるようにするローカルツールです。設定不要、依存関係なし、すべてのデータはローカルの~/.zoku/に保存されます。

ノーションとMCPを使用した、コード不要のClaude用永続メモリシステム
放射線科医がNotion内に「Cognitive Hub」を構築し、ClaudeがMCPを通じて読み書きすることで、構造化された知識ベースと、会話ごとに必要な情報のみを読み込むルーティングテーブルを実現。毎日使用して1ヶ月後には70ページ以上に成長。

Claude Code as a Compiler: AI開発のための実践的な再構築
Redditの投稿によると、Claude Codeはアシスタントではなく、文字通りの意味でのコンパイラとして機能しているとのことです。英語を動作するソフトウェアに翻訳するコンパイラであり、これはグレース・ホッパーのA-0やFORTRANといった歴史的なコンピューティングのブレークスルーに類似しています。著者は、3段落の英語による説明から6ファイルにわたる約400行のコードを生成し、25分で2つの問題点を発見したと述べています。