
2026/08/21 0:40
オートリソリット:ライブランタイムを備えたプログラミングエージェント
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Autolith v0.35.0 は、SBCL 2.6.6 ランタイムを使用してユーザー権限で直接動作する Linux(x86-64/aarch64)、macOS(arm64)および BSD システム向けのターミナルベースプログラミングエージェントです。安全なサンドボックスとは異なり、このシステムはレポジトリ内部で生成されたコードを実行することによって複雑なコーディングタスクを簡素化することを目的としています。過大コンテキストの処理には、
rlm.complete を介してモデルウィンドウ外にコンテンツアドレスオブジェクトとしてコンテンツ(例:Lisp ファイル 121 ファイルで合計約 3.1 MB)オフロードする方式が用いられ、クエリのために新しいプロセスを起動するのを避けるために Rust ベースの fff ライブラリを使用してインデックスを高速に保っています。その堅牢なアーキテクチャは、ランタイム、ツールレジストリ、および会話状態を含む単一のプロセス内で動作し、ソースコード、ライブミューテーション、実験的なワーカーイメージのために別々のライフタイムを持つことでデータ破損を防いでいます。主な革新点には、エージェントロジックを即座に更新する self.redefine、再起動なしでクラッシュからの完全な回復を可能にする永続的チェックポイント、状態検査用のアペンディングミューテーションジャーナルが含まれます。ユーザーは変更を実行(self.exercise)、差分を表示(self.diff)したり、安全にミューテーションをプライベート Git ヒストリにコミットしたりできます。インストールにはピンされたビルドのため Nix を推奨しますが、バイナリも利用可能であり、ユーザーはインストーラーで URL パイピングリスクについて読む必要があります。--immutable モードは評価ツールを控えつつ安全な読み取り専用検査を有効にします。このシステムは ChatGPT Codex、Grok、Fireworks AI、Anthropic などを対象とするさまざまなモデルエンドポイントをサポートし、デフォルトは gpt-5.6-sol(gpt-5.6-terra でテスト済み)です。記録されたセッションは、ピュアなイメージを用いたエージェントクラッシュからの破損と回復の能力を実証しています。本文
Autolith:リブランタイムを備えたターミナルプログラミングエージェント
Autolith は、ターミナル内で動作し、開発者のリポジトリと直接連携するエージェントです。ファイルの編集、ワークスペース検索、コマンド実行、対話履歴の保持、そして生成されたコードが即座に反映される機能を備えています。
主な特徴
- リポジトリ作業
- ファイルシステム、シェル、検索ツールの可視化を提供します。
- 超大規模コンテキスト
- モデルのウィンドウ容量を超えて、コーパス全体に対する再帰的推論が可能です。
- 継続性
- 対話履歴、記憶、アジェンダ(予定)、チェックポイントを保持し、復旧機能を持っています。
- ライブ Lisp
- SBCL ランタイム上で検証・テスト・拡張が可能であり、コードを実行します。
- 開発者向け要件
- エージェントは Inspectable(検査可能)、Extendable(拡張可能)、Recoverable(復旧可能)である必要があります。
Autolith · 駐在型エージェント (Resident Agent)
インストール方法
Autolith v0.35.0 は以下のプラットフォームに対応しています。
- Linux (x86-64, aarch64)
- macOS arm64
- FreeBSD x86-64
- NetBSD/OpenBSD x86-64
インストール時の注意点:
- バイナリリリースには、SBCL 2.6.6、Lisp 依存パッケージ、ネイティブヘルパーが含まれます。
- Linux 環境では
およびglibc
ビルドが提供されます。musl - 更新: インストールされたリリースは最新タグを確認し、更新実行前に必ず確認してください。
- 推奨方法: 完全にビルド状態を固定したい場合は Nix を使用することをお勧めします。
プロバイダ対応:
- ブラウザのデバイスフローまたは API キーによるサインインに対応しています。
- サブスクリプション: ChatGPT Codex、Grok、Fireworks AI
- API 課金: Anthropic API(トークン単価)、OpenCode (zen/go)
- その他: OpenAI 互換エンドポイントは REPL から登録可能です。
- デフォルトモデル:
gpt-5.6-sol
⚠️ セキュリティ警告
- URL をシェルにパイプすることは危険です。インストール前にインストーラーの内容を必ず確認してください。
- 可能であれば Nix を採用してセキュリティを高めてください。
- Autolith は、モデルが生成したコードをあなたのユーザー権限で実行します。
- プロセス境界は信頼性を保護していますが、悪意のあるコードへの防御ではありません。
- これはセキュリティサンドボックスではなく、開発エージェントとしてご活用ください。
起動方法
1. バイナリインストーラーの場合
$ autolith auth $ autolith
2. 推奨方法:Nix を使用する場合
$ nix run github:luciusmagn/autolith -- auth $ nix run github:luciusmagn/autolith
3. リポジトリからソースコードをビルドする場合
$ git clone https://github.com/luciusmagn/autolith $ cd autolith $ ./script/bootstrap $ ./script/check $ ./bin/autolith auth $ ./bin/autolith
キャプチャ済みセッションの実例
ChatGPT Codex サブスクリプション(モデル:
gpt-5.6-terra)を使用して録画された実際の動作です。シミュレーションではなく、編集もなしに再現可能です。再生中の待機時間は 2 秒で制限されています。
セッション 1: コンテキストウィンドウよりも大きなコーパスへの対応
ワークスペースのルートにある
autolith-source.txt(約 3.1 MB)を対象として rlm.complete を使用します。これはリポジトリ内のファイルにヘッダーを付与して連結したものです。
- タスク: ソース内で定義されたすべての条件クラスを列挙し、サブシステムごとにグループ化、定義ファイルを示すこと。(予算:32 回呼び出し、400,000 トークン、深さ 2)
- プロバイダ: ChatGPT Codex (
, High effort)gpt-5.6-terra - 壁時間: 回答まで 3 分 15 秒(全体セッションで 4 分 36 秒)
- トークン使用量: ルート対話で使用量は 59.6K(入力 58.7K + 出力 915)。コーパス自体はプロンプトに含まれません。
- 成果物 (アティファクト): サブシステム 14 つにグループ化された全 83 つの条件クラスと定義ファイル。
- トレース:
で完全なフレーム対話を確認可能です(inference:s2Wb1o2
で確認)。resource.read - 再現方法:
その後、上記のプロンプトを入力します。find src -name '*.lisp' | sort | while read f; do printf ';;;; FILE: %s\n' "$f"; cat "$f"; done > autolith-source.txt && autolith
セッション 2: エージェントの破壊と復旧
実行中の
terminal-ui--duration-text のソースを表示し、ライブで再定義してフォーマットを変更します。意図的にエラーを発信して機能を壊し、self.eval で失敗を検証、復旧イメージへの切り替えを行います。
- タスク: 24 時間以上の継続時間を
形式に変換。短時間で変異(Mutation)をコミットし、意図的なエラー発生後に復旧する。Dd H:MM:SS - プロバイダ: ChatGPT Codex (
, High effort)gpt-5.6-terra - 壁時間: クラッシュと復旧起動を含む約 6 分
- トークン使用量: 総計 289.0K(大部分が診断ターンにおけるクラッシュコンテキスト)
- 成果物 (アティファクト): プライベートイメージコミット「Format long activity durations」。壊れたフォーマッターによりプロセスが停止しましたが、Autolith はクラッシュカプセルを作成し、クリーンな復旧イメージを起動して対話履歴を復元しました。
- トレース: アップデート専用の変異ジャーナル、クラッシュカプセル、プライベートコミットの再生スクリプト。
- 再現方法: ワークスペース内の任意の場所で
を実行後、上記のプロンプトを入力します。autolith
セッション 3: 環境の保持と再開 (Quit & Resume)
autolith-demo-parse-fraction 関数を定義・検証し、プライベートイメージコミットとして保持します。終了 (quit) と再起動 (resume) の間でも状態が維持されます。
- タスク: 文字列 "3/4" を有理数として解析する関数を定義。ゼロの分母処理を追加し、アジェンダを完了させる。
- プロバイダ: ChatGPT Codex (
, High effort)gpt-5.6-terra - 壁時間: 2 つのプロセスにわたって合計 10 分 11 秒(各
前に完全な検証スイートを実行)。persist - トークン使用量: 再開された対話での総使用量は 601.1K。
- 成果物 (アティファクト): プライベートイメージコミットが作成され、終了前と再起動後で関数の定義が一致することを確認可能。アジェンダエントリは完全に復元され「完了」マークされます。
- トレース: アップデート専用の対話ストア、2 つのコミットの再生スクリプト、ワークスペースアジェンダ。
- 再現方法:
を実行 → 第 1 プロンプト入力 →autolith
呼び出し →(quit)
実行 → 第 2 プロンプト入力autolith resume
アーキテクチャと機能
エージェントとツールの動作は 1 つのプロセス内で行われる
Autolith は別のエージェントプロセスをラップするものではなく、ターミナルプログラミングエージェントそのものです。Common Lisp イメージには以下の要素が含まれています。
- プロバイダクライアント、ターミナルインタフェース、ツールレジストリ
- 対話状態、永続的記憶、ワークスペースアジェンダ
- 「次は何をすべきか」を決定するコード
コンテキストの仕組み:
- 環境はプロンプトではありません:
はコーパスをアドレス指向(content-addressed)オブジェクトとしてインターン化します。モデルはラベル、サイズ、ダイジェストのみを受け取ります。rlm.complete - 有界な推論: 明確な呼び出しとトークン予算の下で、ヘイプ分離された Lisp 環境を駆動します(有界なスライス、検索、サブ推論)。
- 透明性: すべての実行は読み取り可能な推論トレースを残します。
高速検索とイミュータブルモード
- 高速検索: ワークスペース検索は
(高速 Rust 検索ライブラリ)を用いてインプロセスで実行されます。クエリごとに新しいプロセスを開始せず、インデックスを温めたまま維持します。fff - イミュータブルモード (
):--immutable- アクティブイメージの変更なしに検査を行いたい場合に使用します。
- 評価、変異、永続化、チェックポイント、ロールバックツールの使用を抑制します。
- 只読みの検査および復旧情報のみを保持します。
再起動せずに実行中のエージェントを更新する
Autolith は実行中のイメージ内の関数、メソッド、クラス、マクロ、条件、グローバル設定を検査・置換できます。
- 調査的変更: 直ちに効果を発揮し、アップデート専用の変異ジャーナルに記録されます。検証後に破棄するか、プライベートイメージコミットとして保持します。
- 永続的コミット: 有用な変更はプライベートイメージコミットとなり、完全な実行可能な Lisp 再生スクリプトとマニフェストをプライベート Git ヒストリーに保持します。
- ソースリポジトリにパッチを適用するのではなく、アクティブなエージェントを変更します。
代表的な変異トランザクションフロー例
→ lisp.source TERMINAL-UI--DURATION-TEXT target self ← complete tracked DEFUN → self.redefine (defun terminal-ui--duration-text ...) ← アクティブイメージにコンパイルおよびインストール済み → self.exercise (assert (string= "1d 2:00:00" ...)) ← ジャーナリングされたアサートが通過した → self.diff ← 再構築可能なライブ変異 1 つ → self.commit "Show days in long durations" ← プライベートイメージコミット commit-id complete reconstruct.lisp がプライベート Git に保持済み
異なる種類の状態は別々に管理される
ソースコード、対話履歴、有用な事実、ライブ変異、正確なヘイプ、使い捨ての実験はそれぞれ異なる寿命を持ちます。Autolith はこれらを単一のデータベースに依存せず、別々に保持します。
永続的サファイス(再構築のエビデンス)
- 対話履歴: クラッシュテール修復を備えたアップデート専用の携帯可能な S-式(S-expressions)。正確な再開コマンドを含む。
- 記憶: ワークスペースまたはグローバルの事実、設定、決定事項。有界したプロンプトによる呼び出しが可能。
- アジェンダ: ショートなワークスペースタスクおよびメモ。すべての要求時に完全に表示可能。
- プライベートイメージコミット: 永続的なユーザー固有の定義と設定のための完全な再生スクリプト。プライベート Git に保持される。
- 世代(Generations): セーブされたアクティブコア、正確な追跡済みソースコミット、再構築スクリプト、マニフェスト、ジャーナル位置情報。
- ワーカーイメージ: 親系関係と永続的な注記を備えたイミュータブルな実験用 SBCL コア。決してアクティブエージェントとして選択されない。
- 復旧: クラッシュを検査し、ダメージを受けたコアをロードせずに既知の動作世代を選択できる、別々にビルドされた純粋なイメージ。
© 2026 Lambda Symbolics OÜ
Autolith · 2026 年 8 月 22 日改訂