HN 日本語サマリー

← 一覧へ戻る
プログラミング

Jukebox-OS: AIエージェントのための決定論的タイムトラベルリプレイとACIDツールサンドボックス

Jukebox-OS: Deterministic time-travel replay and ACID tool sandbox for AI agents (github.com)

9 pointsby mariuscarlsson0 コメント

要約

Jukebox-OSは、AIエージェントの実行を記録し、デバッグとテストを容易にするためのシステムレベルのランタイムです。LLMのプロンプト、トークンストリーム、ツールの呼び出し、ファイルシステム操作などを暗号化された形式で記録し、ミリ秒単位でのリプレイや、トランザクション(BEGIN/COMMIT/ROLLBACK)による安全な操作を可能にします。これにより、エージェントの予期せぬ動作やコスト超過を防ぎ、開発とデバッグの効率を大幅に向上させます。

全文翻訳

[画像: JUKEBOX — 24-HOUR DETERMINISTIC AGENT RUNTIME]

     ___________________________________________________________________________
    /                                                                           \
   |   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   |
   |   ░  ██╗██╗   ██╗██╗  ██╗███████╗██████╗  ██████╗ ██╗  ██╗              ░   |
   |   ░  ██║██║   ██║██║ ██╔╝██╔════╝██╔══██╗██╔═══██╗╚██╗██╔╝              ░   |
   |   ░  ██║██║   ██║█████╔╝ █████╗  ██████╦╝██║   ██║ ╚███╔╝   [ EST. 76 ] ░   |
   |   ░██   ██║██║   ██║██╔═██╗ ██╔══╝  ██╔══██╗██║   ██║ ██╔██╗            ░   |
   |   ░╚█████╔╝╚██████╔╝██║  ██╗███████╗██████╦╝╚██████╔╝██╔╝ ██╗           ░   |
   |   ░ ╚════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝  ╚═════╝ ╚═╝  ╚═╝           ░   |
   |   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   |
   |  =========================================================================  |
   |   ★  24-HOUR DETERMINISTIC AGENT RUNTIME • ACID SANDBOX • TIME-TRAVEL  ★    |
    \___________________________________________________________________________
            ||
      ▄████████████▄             "DROP THE NEEDLE ON ANY FRAME"  ▄████████████▄

🍒 J U K E B O X 🔮

The Deterministic Flight-Recorder, ACID Tool Sandbox & Time-Travel Runtime for Multi-Agent Systems

[画像: Created by Marius Carlsson] [画像: Live Neon Web Inspector] [画像: License: Apache 2.0] [画像: Rust Core] [画像: Python SDK] [画像: MCP Compatible]


[ 🎙️ NOW PLAYING ON TRACK #01 ] Stop letting autonomous agents trash your production database and burn $400 in runaway loops. JUKEBOX records every LLM prompt, token stream, MCP tool call, and filesystem mutation onto a cryptographic vinyl tape (.jbx)—giving your agents BEGIN / COMMIT / ROLLBACK semantics and <1ms zero-cost time-travel replay.

🍽️ Today's Specials (Features) • 🥞 The Blue Plate Special (Quickstart) • 📋 A La Carte Menu (Architecture) • 🚗 Counter Service & Drive-Thru (CLI) • 🔥 Chef's Table (Benchmarks) • 🪙 Tipping the Cooks (Contributing)


🍒 Today's Specials (Why JUKEBOX?)

Modern agent frameworks (LangGraph, AutoGen, CrewAI, OpenAI Agents SDK) are great at orchestrating prompts, but they treat side effects as fire-and-forget. When a 15-step agent workflow hallucinates on Step 12 after mutating three SQL tables and five local files on Step 8, "checkpointing the chat history" won't save you.

JUKEBOX (architected by Marius Carlsson) is a systems-level runtime written in Rust with Python bindings that brings database-grade ACID transactions and deterministic vinyl replay to any AI agent stack:

Menu ItemWhat Goes In The BoothWhy Platform Engineers Love It
💿 Vinyl CAS Flight-RecorderEvery LLM request, streaming chunk, seed, tool input/output, and clock tick is hashed via BLAKE3/BLAKE2b into a portable .jbx tape.Rewind & Replay 50-step agent runs in 0.4ms offline at $0.00 API cost. Share a failed .jbx file in a GitHub Issue like a core dump.
🛡️ Shadow Booth (ACID Tool Sandbox)Intercepts local file writes, shell commands, SQL queries, and Anthropic MCP calls inside a Copy-on-Write (CoW) WASI staging layer.Side effects only hit the real world when your verifier calls tx.commit(). If an agent fails a safety check, tx.rollback() leaves zero trace.
🎛️ Time-Travel Forking (Track B-Side)Drop the needle at Frame #9 of a failed production trace, swap gpt-4o for claude-3-7-sonnet or tweak a system prompt, and resume.Steps 1–8 resolve instantaneously from the Merkle tape; only Step 9+ hits the live network. Diff both timelines side-by-side.
🚨 Anti-Skip Needle (Loop Circuit-Breaker)Streaming semantic similarity & AST-diff monitor that watches inter-agent chatter and token burn velocity.Automatically trips the breaker when two agents enter a polite recursive death spiral—saving your cloud budget before the pager fires.

🥞 The Blue Plate Special (60-Second Quickstart)

1. Slide Into a Booth (Installation)
git clone https://github.com/socrates6969/jukebox-os.git
cd jukebox-os
pip install -e .
2. Wrap Any Agent in a Transactional Vinyl Track
import asyncio
from jukebox import Jukebox, SandboxPolicy, CircuitBreaker

jb = Jukebox(
    tape_dir="./tapes",
    sandbox=SandboxPolicy(filesystem="copy_on_write", mcp_mode="staged_acid"),
    breaker=CircuitBreaker(max_cost_usd=0.50, max_semantic_repeat=3),
)

@jb.track(name="invoice-reconciliation-agent")
async def run_accounting_agent(customer_id: str, amount_usd: float) -> dict:
    async with jb.transaction(tape_id="tr_8f92a1c4") as tx:
        tx.record_agent_turn(
            agent_name="planner",
            message=f"Staging refund of ${amount_usd} for {customer_id}",
            model="gpt-4o",
            cost_usd=0.008,
        )
        tx.stage_file_write(
            path="./tapes/staged_ledger_demo.json",
            content=f'{{"customer": "{customer_id}", "refund_usd": {amount_usd}}}',
        )

        if amount_usd > 500.0:
            await tx.rollback(reason="Refund exceeds $500 autonomous threshold")
            return {"status": "ROLLED_BACK", "tape_id": tx.tape_id}

        await tx.commit()
        return {"status": "COMMITTED", "tape_id": tx.tape_id}

if __name__ == "__main__":
    print(asyncio.run(run_accounting_agent("cust_9981", 420.00)))
3. Drop the Needle: Time-Travel Forking in Python
from jukebox import Tape

tape = Tape.load("./tapes/tr_8f92a1c4.jbx")
b_side = tape.fork(
    at_frame=3,
    override_model="claude-3-7-sonnet-latest",
    override_system_prompt="You are a strict SQL auditor. Never issue DELETE without a WHERE clause.",
)
print(b_side.replay_and_diff().to_markdown())

📋 A La Carte Menu (System Architecture)

+-----------------------------------------------------------------------------------+
|                        APPLICATION & ORCHESTRATION LAYER                          |
|     [ LangGraph ]     [ CrewAI ]     [ AutoGen ]     [ OpenAI / Anthropic SDK ]   |
+-----------------------------------------+-----------------------------------------+
                                          |  @jukebox.track / MCP Proxy
                                          v
+-----------------------------------------------------------------------------------+
|                    🍒 JUKEBOX RUST CORE RUNTIME (libjukebox) 🔮                   |
|                                                                                   |
|  +-------------------------+  +-----------------------+  +---------------------+  |
|  |   ANTI-SKIP NEEDLE      |  |  BLAKE3 MERKLE CAS    |  |   OTEL GEN_AI       |  |
|  |  • Cosine Loop Breaker  |  |  • Zero-Cost Replay   |  |   EXPORTER          |  |
|  |  • Token Budget Gate    |  |  • .jbx Binary Tape   |  |  • Spans & Metrics  |  |
|  +-------------------------+  +-----------------------+  +---------------------+  |
|                                                                                   |
|  +-----------------------------------------------------------------------------+  |
|  |               SHADOW BOOTH: TRANSACTIONAL WASI & CoW SANDBOX                |  |
|  |   [ Virtual CoW Filesystem ]   [ SQL Savepoint Proxy ]   [ MCP Stage Gate ] |  |
|  +--------------------------------------+--------------------------------------+  |
+-----------------------------------------|-----------------------------------------+
                                          |
                     +--------------------+--------------------+                   
                     |                                         |
            [ VERIFIER PASSES ]                       [ VERIFIER FAILS ]
                     |
                     v                                         v
         ( ATOMIC WORLD COMMIT )                   ( INSTANT ZERO-RESIDUE )
         Writes flushed to Disk/API                  ROLLBACK & ALERT

🚗 Counter Service & Drive-Thru (CLI & TUI)

# List recent agent flight recordings in your local booth
$ jukebox ls --tape-dir ./tapes
🍒 JUKEBOX 24-HOUR FLIGHT RECORDER // LOCAL BOOTH TAPES 🔮
------------------------------------------------------------------------------
TRACK ID         AGENT NAME                     FRAMES   COST      STATUS      
------------------------------------------------------------------------------
tr_8f92a1c4      invoice-reconciliation-agent   5        $0.0080   COMMITTED   

# Replay & cryptographically verify a .jbx Merkle tape in <1ms
$ jukebox replay ./tapes/tr_8f92a1c4.jbx

🔥 Chef's Table / The Line (Benchmarks)

MetricRaw Framework (No Sandbox)Docker Container Per Run🍒 JUKEBOX Runtime
Runtime Interception Overhead0.00 ms (Baseline)+1,420.0 ms (Cold boot)+0.34 ms per frame
Replay Steps 1–15 (Time-Travel)38,400 ms (Re-runs APIs)39,800 ms (Re-runs APIs)0.41 ms (93,000x faster)
API Cost on 10x Debug Replays$1.84$1.84$0.00 (100% CAS Hit)
Side-Effect Rollback Latency❌ Impossible (Manual cleanup)640 ms (Container teardown)0.19 ms (CoW pointer drop)
Runaway Loop Detection❌ Only after max_iterations❌ Only after max_iterations0.18 ms (Semantic AST trip)

🪙 Tipping the Cooks (Contributing & Community)

  1. Fork the Repo & Pull Up a Stool:

    git clone https://github.com/socrates6969/jukebox-os.git
    cd jukebox-os
    pip install -e . pytest
    pytest -v
    
  2. House Rules (Code of Conduct): Read our CODE_OF_CONDUCT.md and CONTRIBUTING.md.


   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
   ░  BUILT WITH CHROME, NEON & RUST BY MARIUS CARLSSON (@mariuscarlsson)   ░
   ░         "THANK YOU FOR DINING AT JUKEBOX — DRIVE SAFELY!"              ░
   ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

⭐ Star jukebox-os on GitHub • 🔮 Launch Live 24-Hr Diner Inspector