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

Argus: Claude Code セッションのコストと動作をデバッグするVS Code拡張機能
Claude Codeセッションのコストが、リトライループ、ファイルの重複読み取り、コンパクション前のコンテキスト詰め込みなど、明確な理由なく急上昇することがあります。~/.claude/projects/のJSONLファイルにはすべてのデータが含まれていますが、生のままでは確認が困難です。ある開発者がArgusというVS Code拡張機能を構築しました。これは、これらのトランスクリプトを解析し、セッションを詳細なメトリクス付きのタイムラインとして表示します。

AIエージェントパイプライン向けオープンソース構造的幻覚チェッカー
新しいオープンソースツールは、AIエージェントパイプラインにおける構造的失敗を検出する4つの抑制機能を提供します。これには、グラウンディングの強制、プロンプトインジェクション検出、JSON検証、ツール応答検証が含まれます。REST APIとMCPサーバーの両方で利用可能で、無料枠は月500リクエストです。

究極のUnreal Engine MCP:Claude Codeが132のツールでUnreal Engineレベルを構築・検証可能に
オープンソースのMCPサーバーが、26ドメインにわたる132のツールを提供。Claudeはアクターの生成、UPROPERTY値の設定、ビューポートのスクリーンショット取得、カメラ操作、変異後の自己修正が可能。

コアな制作上の問題に対処する5つのOpenClawプラグイン
Redditユーザーが、一般的な運用上の問題を解決する5つのOpenClawプラグインを特定しました:モデルルーティング用のManifest、統合管理用のComposio、メモリ用のHyperspell、ワークフロー自動化用のFoundry、トレーシング用のOpikです。