このプロジェクトについて

affe-agentは、Effectネイティブのエージェント実行カーネルとして機能するTypeScriptライブラリで、Effect AIのLanguageModel、Prompt、Tool、Toolkitといったプリミティブとアプリケーション層の中間に位置します。エージェントアプリケーションが通常自前で再実装しがちな、セッション、ラン、ターン、ステアリング、フォローアップ、中断、ライフサイクルイベントの層を提供します。 コアモデルはセッション → サブミッション → ラン → ターンで、単一の追記専用の正規ヒストリーと型付きライフサイクルイベントを備えます。カーネルは小さく、少数のシームを通じて拡張可能です。そのシームとは、toolkit/tools、contextTransform、loop、permission、toolExecution、elicitation、InputChannel、eventSink/events、AgentSessionHost、LanguageModel、Sandboxです。バッテリーはこれらのシームに差し込むことで、コアを変更せずに機能を追加します。 主な機能は以下の通りです: - 複数のトランスポート:HTTP、RPC、AG-UI、A2A、MCP(v1とv2)、OpenAI互換のcompletions、コネクタ(Slack) - バッテリー:コーディング(サンドボックス上のファイル/シェルツール)、Web(検索、ガード付きfetch、レンダリング済みページのキャプチャ)、サブエージェント、メモリ、スキル、コンパクション、予算(トークンと金額の上限)、モデルメタデータ、オブザーバビリティ、リダクション、データ、フック、スケジューリング、ツリー(分岐可能なセッション)、セッション(ページネーション付きディレクトリ)、エクスポート(スナップショットとJSONL)、Blobストレージ、プラグイン、プリセット - Effect Workflowによる永続実行(durable execution)、クラスタサポートとDurable Streams - ポータブル実装とローカル(Node)実装を備えたサンドボックス抽象化 - スクリプト化されたTestLanguageModel、AgentProbe、Webダブル、適合性スイートを含むテストユーティリティ - Node、Bun、Deno、エッジランタイム(Cloudflare Workers)にわたるランタイムポータビリティ このライブラリはバージョン0.0.1(プレリリース)です。設計は安定していますが、基盤となるEffect v4はまだリリース候補段階であるため、GAまではEffect側のAPI変更が予想されます。プロジェクトでは、affe-agent、effect、@effect/ai-*プロバイダの正確なバージョンをまとめて固定することを推奨しています。 リポジトリにはリファレンスアプリケーションも含まれています。フルスクリーンのローカルコーディングTUI、標準的なCLIクライアント、そしてセッションごとに1つのDurable Objectを持つCloudflare Workerデプロイです。