You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Environment's `llm_query(prompt)` is called during code execution
246
-
2.Creates `LMRequest` dataclass and calls `send_lm_request(address, request)`
249
+
1. Environment's `llm_query(prompt)`or `rlm_query(prompt)`is called during code execution
250
+
2.For `llm_query`: creates `LMRequest`and calls `send_lm_request(address, request)`. For `rlm_query`: invokes `subcall_fn` to spawn a child RLM (or falls back to `llm_query` at max depth).
247
251
3. Opens TCP connection to `LMHandler` at `(host, port)`
248
252
4. Sends length-prefixed JSON request
249
253
5.`LMHandler` processes via `LMRequestHandler.handle()`
Copy file name to clipboardExpand all lines: README.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,11 +77,11 @@ make quickstart
77
77
</details>
78
78
79
79
## REPL Environments
80
-
We support two types of REPL environments -- isolated, and non-isolated. Non-isolated environments (default) run code execution on the same machine as the RLM (e.g. through `exec`), which is pretty reasonable for some local low-risk tasks, like simple benchmarking, but can be problematic if the prompts or tool calls can interact with malicious users. Fully isolated environments used Cloud-based sandboxes (e.g. Prime Sandboxes, [Modal Sandboxes](https://modal.com/docs/guide/sandboxes)) to run code generated by the RLM, ensuring completely isolation from the host process. Environments can be added, but we natively support the following: `local` (default), `modal`, `prime`.
80
+
We support two types of REPL environments -- isolated, and non-isolated. Non-isolated environments (default) run code execution on the same machine as the RLM (e.g. through `exec`), which is pretty reasonable for some local low-risk tasks, like simple benchmarking, but can be problematic if the prompts or tool calls can interact with malicious users. Fully isolated environments use cloud-based sandboxes (e.g. Prime Sandboxes, [Modal Sandboxes](https://modal.com/docs/guide/sandboxes)) to run code generated by the RLM, ensuring complete isolation from the host process. Environments can be added, but we natively support the following: `local` (default), `docker`, `modal`, `prime`, `daytona`, `e2b`.
@@ -124,19 +124,19 @@ We currently support most major clients (OpenAI, Anthropic), as well as the rout
124
124
If you use this code or repository in your research, please cite:
125
125
126
126
```bibtex
127
-
@misc{zhang2025recursivelanguagemodels,
128
-
title={Recursive Language Models},
127
+
@misc{zhang2026recursivelanguagemodels,
128
+
title={Recursive Language Models},
129
129
author={Alex L. Zhang and Tim Kraska and Omar Khattab},
130
-
year={2025},
130
+
year={2026},
131
131
eprint={2512.24601},
132
132
archivePrefix={arXiv},
133
133
primaryClass={cs.AI},
134
-
url={https://arxiv.org/abs/2512.24601},
134
+
url={https://arxiv.org/abs/2512.24601},
135
135
}
136
136
```
137
137
138
138
## Optional: Trajectory metadata and logging
139
-
`RLMChatCompletion` has an optional `metadata` field (default empty) that can hold the full trajectory (run config + all iterations and sub-calls) so you can reconstruct the run. Pass an `RLMLogger` to capture it:
139
+
`RLMChatCompletion` has an optional `metadata` field (default `None`) that holds the full trajectory (run config + all iterations and sub-calls) so you can reconstruct the run. Pass an `RLMLogger` to capture it:
140
140
141
141
-**In-memory only** (trajectory on `completion.metadata`): `logger=RLMLogger()` (no `log_dir`).
142
142
-**Also save to disk** (JSONL for the visualizer): `logger=RLMLogger(log_dir="./logs")`.
0 commit comments