このプロジェクトについて
BareAgent は、Node.js 向けの軽量で依存関係ゼロのエージェントオーケストレーションライブラリであり、AIエージェントに think→act→observe ループを提供します。LangChain、CrewAI、AutoGen のような重厚なフレームワークとは異なり、BareAgent はモノリシックなフレームワークではなく、組み合わせ可能な構成要素に焦点を当てており、コア部分は何もインポートしません。
主な機能は次のとおりです:
- Loop: 目標が完了するまで実行される中心的な think→act→observe サイクル。ポリシーガバナンス、コンテキストエンジニアリング、トランスクリプトのトリミングのためのオプトインの拡張ポイントを備えています。
- Planner & runPlan: 目標をステップDAGに分解し、依存関係を考慮しつつステップごとのリトライを行いながら、ステップを並列ウェーブで実行します。
- recurse (RLM): 難しいタスクを分解し、サブタスクをファンアウトし、結果を検証し、最終回答を合成する再帰的分解プリミティブ。モデル駆動のスポーン、強制ファンアウト、データ駆動のパーティショニングをサポートします。また、モデルが述べた数値に頼るのではなく、スキャン型検索でコードとして数え上げることで、コーパスに対する正直な計数(honest counting)を実現します。
- Memory: 差し替え可能な Store インターフェース(JSON、SQLite、litextx)を介した、セッションを越えた永続ストレージと想起。
- Governance: オプションの bareguard 統合により、すべての LLM およびツール呼び出しに対する単一のポリシーゲートと、監査ログ、予算上限、人間による承認チェックポイントを提供します。
- Resilience: バックオフとジッターを伴うリトライ、サーキットブレーカー、プロバイダーのフェイルオーバー。
- Providers: OpenAI互換API、Anthropic、Gemini、Ollama、CLIPipe、カスタムプロバイダーをサポート。すべてが、プロンプトキャッシュ層の報告を含む、正直なトークン/コストメトリクスを備えた正規化された形状を返します。
- Tools: あらゆる関数をツールにできます。組み込みのWebブラウジング(barebrowse)、モバイル制御(baremobile)、シェル実行。MCP Bridge は IDE 設定から MCP サーバーを自動検出します。
- Cross-language: stdin/stdout を介したJSONLにより、Python、Go、Rust、Ruby、Javaからサブプロセスとして実行できます。
- Streaming: リアルタイム進行状況のための構造化JSONLイベント。
- Evaluator & refine: 述語、ルーブリック、またはエージェント型批評者によって出力を判定し、制限付きの generate→evaluate→regenerate ループを実行します。
- Scheduler: Cron または相対トリガーによるジョブスケジューリングと、再起動をまたいだジョブ永続化。
- Checkpoint: トランスポートを自由に選択できる人間の承認ゲート。
- Spawn: 共有監査ログと予算を持つ子エージェントをフォークします。
- Defer: 後でウェイカーによって実行されるアクションをキューに入れます。
- SkillRegistry: メタツールカタログを介して、オンデマンドでスキルを表面化します。
- stash: 完了した作業をライブのコンテキストウィンドウからコンパクトに除外するか、トークン圧力下で自動的に折りたたみます。
このライブラリは、完全に理解できるほど軽量でありながら、車輪の再発明を避けられるほど完全であるように設計されています。必須の依存関係はゼロで出荷されます。オプションのピアとしては、ガバナンス用の bareguard、SQLiteストレージ用の better-sqlite3、スケジューリング用の cron-parser があります。Apache 2.0 ライセンスです。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.