🚀NEW COURSEVibe Coding AI Apps with Claude Code 🤖✨Enroll now
← All papers  /  Aug 28, 2026
Agents

String: An Agentic OS Where Every App Is a Markdown File

First page
String: An Agentic OS Where Every App Is a Markdown File
The curator’s take

Jookyung Song, Nojun Kwak, and Simyung Chang treat the agent interface as an operating-systems problem, moving tool knowledge out of context into a layer that renders one Markdown view at a time behind two verbs, /open and /act.

Ask this paper

Key points
01

The premise: Pages are built for humans who can skim and tool schemas for programs that pay nothing for unused definitions; an agent re-reads and re-pays for everything on every turn, so it needs its own surface.

02

SFMD: A single String-Flavored Markdown document declares an application's views, typed actions, navigation, and credentials, and the runtime handles discovery, validation, execution, state, and secrets.

03

One grammar, two renderings: An SFMD site serves styled HTML to browsers and the raw document to agents, so apps, files, shells, and even legacy HTML are reachable with no per-site integration.

04

Staging is causal: Disclosing one tier of detail a single turn too early costs up to 23 accuracy points, and proper staging drops wrong-action selection from 28% to 2%.

05

Numbers: On an 87-task skill-paired benchmark, running procedures as on-demand String apps gives comparable success across six models (+1.3 pp) with 33.5% fewer tokens, and the resident interface stays a constant 53 tokens at any catalog size.

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.

Every Monday
Get next week’s papers.
Subscribe on Substack