String: An Agentic OS Where Every App Is a Markdown File
Organizations: Seoul National University & H1R.AI · Seoul National University
Abstract
LLM agents have become a new class of software user, but every surface they work through was designed for someone else. Pages are built for human eyes, which can skim and ignore; tool schemas for programs, which pay nothing to carry definitions they never call. An agent has neither luxury: it re-reads, and pays again for, everything it is shown on every turn. We present String, an open-source runtime that gives this user an interface of its own and treats the job as an operating-systems problem. Tool knowledge moves out of the agent's context and into a common layer that renders it back one view at a time as Markdown. A single SFMD (String-Flavored Markdown) document declares an application's views, typed actions, navigation, and credentials, and the runtime handles discovery, validation, execution, state, and secrets behind two core verbs: /open to see and /act to do. Web and app turn out to be two renderings of one architecture: an SFMD site serves styled HTML to browsers and the raw document to agents, so one grammar reaches apps, files, shells, and the web, even legacy HTML, with no per-site integration. Views stay partial by design, and the staging is causal: disclosing one tier of detail a single turn too early costs up to 23 accuracy points, while proper staging drops wrong-action selection from 28% to 2%. Privilege follows provenance: a remote page may call HTTP but never the shell, and caller-supplied text never expands a stored secret. On an 87-task benchmark that pairs each task with curated skills, operationalizing those procedures as on-demand String apps yields comparable aggregate success across six models from frontier to small (+1.3pp) while using 33.5% fewer tokens among completed episodes, and the resident interface stays a constant 53 tokens at any catalog size. We report the design, the evaluation, and what three months of production use taught us.
Figures & tables
| OS concept | String construct | Realized as |
|---|---|---|
| Process / address space | Topic | per-topic doc, history, vars; serialized execution |
| Syscall interface | Slash commands | 20 verbs; one MCP tool {topic, cmd} |
| Filesystem & pages | SFMD documents | block-addressable; partial views (P1) |
| IPC | Webhook inbox | append-only messages, never executed; explicit ack |
| Package manager | /install | atomic staging; (namespace, name) identity |
| Permissions | Provenance boundary (P2) | local shell HTTP; remote HTTP only |
| Model | No skills | Skills | String | vs. Skills (pp) | Token cut mean/median |
|---|---|---|---|---|---|
| GPT-5.5 | 51.5% | 67.3% | 68.5% | 37.4% / 27.2% | |
| DeepSeek V4 Pro | 26.9% | 50.1% | 50.9% | 44.3% / 41.1% | |
| Kimi K2.6 | 33.4% | 54.0% | 53.2% | 39.2% / 36.1% | |
| Claude Opus 4.8 | 45.7% | 54.1% | 57.8% | 28.7% / 26.4% | |
| Claude Sonnet 4.6 | 33.5% | 47.2% | 48.2% | 21.7% / 19.2% | |
| Claude Haiku 4.5 | 8.8% | 30.1% | 32.1% | 29.6% / 28.4% |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Success (pre post) | Generated tokens/task (pre post) | Token cut |
|---|---|---|---|
| Qwen3.5-4B | 12/20 14/20 (60% 70%) | 345.5 122.0 | 64.7% |
| Gemma 4-E4B | 13/20 16/20 (65% 80%) | 182.8 38.6 | 78.9% |
| Qwen3.6-27B | 17/20 17/20 (85% 85%) | 419.2 201.5 | 51.9% |
| Gemma 4-31B | 16/20 18/20 (80% 90%) | 200.2 43.7 | 78.2% |
Tool-Using Agents
Tool-using agents plan and act through external tools, APIs, software interfaces, and environments to complete tasks beyond language generation.
See all 290 papers