Starting pipeline...
LIVEExecution Trace
STATEVariable Space
Waiting for rlm_store()...
HOW IT WORKS

You give it a task. It writes a program. The program runs.

An LLM generates a short program with access to web search, Wikipedia, arXiv, a places database, URL fetching, and another LLM. The program executes in a sandbox. Every function call is real. The trace above shows exactly what happened.

CODE VS. TOOLS

Why code generation instead of tool selection?

The standard agent pattern: LLM picks a tool, calls it, waits for the result, picks the next tool, calls it, waits again. Each tool call is a separate round trip through the LLM. If your task needs 10 pieces of information, that is 10 sequential LLM calls just for routing.

With code generation, the LLM writes one program that orchestrates everything. It can use Promise.all to fetch 10 pages in parallel. It can use loops, conditionals, and variables. One LLM call produces the full execution plan.

TOOL CALLING (sequential)
// Round trip 1 {"tool": "webSearch", "input": "competitors"} // wait... Round trip 2 {"tool": "webFetch", "input": "competitor1.com"} // wait... Round trip 3 {"tool": "webFetch", "input": "competitor2.com"} // ...one at a time
CODE GENERATION (parallel)
const all = await Promise.all( targets.map(t => ({ site: webFetch(t.url), reviews: webSearch(t.name) })) ); await rlm_store("data", all); // One program. Parallel I/O.
INSTALL

Run it locally.

CLI
# Install
curl -fsSL https://download.hyper.space/api/install | bash

# Start
hyperspace start

# Run a task
hyperspace run "compare React meta-frameworks"

# Interactive mode
hyperspace repl