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

Longeは、任意のLLM用の単一バイナリで構成される自己改善型ハーネスであり、Rustで記述されています。YC Harness Clubの講演(2026年)に基づいて構築されており、モデルの重みをエンジン、ランタイムを車として扱い、固定された重みを持つモデルを永続的なエージェントに変換します。 アーキテクチャ:Longeはバックグラウンドデーモン(`longed`)を実行し、セッションツリーを管理します。各セッションには履歴、Lua 5.4 REPL状態、サンドボックス、および設定可能な予算が含まれます。メモリ階層は三段階あり、L1はモデルのコンテキストウィンドウ(70%で自動圧縮)、L2はターン間で変数が保持される永続的なLua REPL、L3はスキル、メモリ、プロンプト、サブエージェント仕様、軌跡を含むgitバージョン管理されたファイルストアです。 モデルは一つのツールのみを認識します:`exec(code)`。これはLuaを実行します。Lua仮想マシン内のネイティブバインディングにより、ファイル入出力(ワークスペース制限)、シェルコマンド(macOSではSeatbelt、LinuxではLandlock、Windowsでは制限付きトークンによるサンドボックス)、メモリ操作、スキルとサブエージェントのCRUD、プロンプト編集、ステートレスな再帰的LLMクエリ、プロバイダー間でのモデル切り替え、コンテキスト圧縮、外部検証、および最小予算と検証器が通過するまで拒否される`done()`呼び出しが可能です。 プロバイダー:Anthropic、OpenAI互換API(DeepSeek、OpenRouterを含む)、Ollama(ローカルモデル用)。セッション中でもプロバイダーを切り替えることができ、状態を失うことなく、コストのかかるローカルモデルで日常的な作業を処理し、フロンティアAPIで困難なステップを処理できます。 サブエージェント:完了後、RAMでアイドル状態になり、ディスクにオフロードされ、メッセージ受信時に起動する永続的なセッションです。親、子、兄弟はコンテキストを直接共有するメッセージバスを通じて通信します。 サンドボックス:読み取り専用、ワークスペース書き込み、完全アクセスの三つのモードがあります。固定ルールによりストア、~/.ssh、認証情報、.env、およびバイナリ自体が常に非表示になります。シークレットは環境から削除され、ネットワークアクセスは設定しない限り拒否されます。 予算:最低限の値が上限となります。`done()`は`min_seconds`と`min_turns`より前に拒否され、`max_turns`/`max_tokens`で強制的に終了します。 反射:各受理された完了後に(およびcronで)ランタイムは全軌跡を要約し、モデルにスキル、メモリ、サブエージェント仕様、プロンプト、設定に対する差分提案を求めます。変更はgitブランチに適用され、フィットネスコマンドが再実行され、スコアが低下しない場合にのみブランチがマージされ、それ以外の場合はコックピットで人間レビューのために保持されます。 コックピット:TUI(`longe cockpit`)はセッションツリー、予算、検証器状態、軌跡末尾、保留中の反射差分を表示します。ポート7878のHTTP JSONインターフェースによりリモートアクセスが可能で、Tailscaleなどを介して利用できます。 ビルド:`cargo build --release`(Rust 1.85+、安全でないコードなし)。テストには91のユニットおよびエンドツーエンドケースが含まれ、スクリプト化された疑似モデルサーバーによって駆動されます。 ライセンス:MIT。リポジトリ:edouard-claude/longe。