A 2024 Foundations of Digital Games paper co-authored with Bahar Bateni and Adam M. Smith on controlling generated output statistics while enforcing constraints.
Jediah Katz builds AI coding agents at Anysphere, the company behind Cursor. His work on Cursor’s agent harness—the instructions, tools, and context surrounding a model—focuses on helping agents handle longer tasks while using context efficiently. He also works on Grok Bot, previously worked at Figma, and taught computer science at Penn. His public profile describes those roles.
Giving agents the context they need
As models have become better at finding information themselves, Katz and his colleagues have moved away from supplying every potentially useful detail at the start of a session. In his account of dynamic context discovery, the agent retrieves information when a task calls for it.
For example, Cursor can save a long tool response to a file instead of truncating it; the agent can then inspect the relevant parts. When a conversation is summarized to make room in the context window, the agent can search the original history for details the summary lost. Cursor also makes descriptions of external Model Context Protocol (MCP) tools available as files, so agents can look them up when needed. MCP tools can give agents access to resources such as production logs, design files, and internal documentation. In an A/B test of runs that called an MCP tool, Cursor reported a 46.9% reduction in total agent tokens, with substantial variation depending on the number of installed MCP servers. Katz credits these techniques to a team of Cursor employees.
Measuring and improving the harness
In work with Stefan Heule, Katz describes combining benchmarks with experiments on real usage. Cursor measures how much agent-generated code remains in a user’s codebase and uses a model to assess whether subsequent user responses suggest satisfaction. Those signals help the team evaluate changes that may look promising in a benchmark but matter less in practice.
The team also adapts prompts and tools to individual models. For example, a model trained to edit files with patches may make more mistakes or spend more reasoning tokens when given an unfamiliar editing format. When users switch models mid-conversation, Cursor changes the harness and adds instructions to help the incoming model interpret a history produced with different tools.
Katz, Connor O’Keefe, and Calvin Yee describe a further set of token-efficiency improvements: shortening system prompts, loading less-used tools on demand, improving cache reuse, and numbering every tenth line in file reads instead of every line. They also reduced prompting that encouraged subagent use and changed the tool arguments so an agent chooses a different model for a subagent only when directed by the user or the harness. Cursor reported that the combined changes reduced user token costs by 7% without reducing agent quality.
Procedural generation research
Katz also co-authored You-Only-Randomize-Once with Bahar Bateni and Adam M. Smith. The 2024 paper addresses a problem in procedural content generation: a designer may want generated outputs to follow both hard constraints and a desired distribution of design elements. The authors use the order in which a constraint solver makes decisions to influence those statistics while still enforcing global constraints, demonstrating the method on generated tile grids.
Smarter models are absorbing coding tricks that once lived in prompts and guardrails. Jediah Katz explains why that makes yesterday’s harness thinner while increasing the value of runtime infrastructure, security, efficiency, and higher-level agent orchestration.
A harness has at least two distinct responsibilities: a runtime that executes and preserves work, and a context-and-orchestration layer that controls model calls, tools, memory, and behavioral guidance.
Smarter models can absorb coding behaviors once supplied by scaffolding, including repository exploration, persistent work, file editing, testing, and self-checking.
The data flywheel explains the apparent contradiction: a harness makes harder tasks usable, usage teaches models those skills, obsolete scaffolding is deleted, and the harness moves to a new frontier.
New knowledge-work agents need fresh scaffolding for communication, risky actions, website workflows, memory, and coordination among long-lived coordinators and worker fleets.
Runtime durability, scoped permissions, security controls, and cost optimization remain harness responsibilities because model weights cannot provide persistent compute or enforce external authority boundaries.
Design temporary interventions for removal: centralize and log behavioral shims, use composable primitives such as subscriptions, and consider the visibility tradeoff when exposing internal details to users.