Cursor Team on the Future of Programming

Lex Fridman Podcast

Episode →

Reformatted for readability — timestamps removed, lightly restructured. Not verbatim.

Contents

    Note: full verbatim transcript not available for this episode. Content below represents section summaries and selected quotes from the source.

    00 – Introduction

    Lex introduces the Cursor founding team and frames the conversation as exploring AI's role in programming beyond just one editor. The discussion aims to examine human-AI collaboration in engineering complex systems, positioning it as fundamentally about "the future of programming" rather than a product launch.

    59 – Code Editor Basics

    Michael explains that code editors are "souped up word processors" leveraging code's structural nature to provide syntax highlighting, navigation, and error checking. Arvid emphasizes that speed and fun are underrated aspects of editor design, noting that "Fast is fun" drives their development decisions.

    09 – GitHub Copilot

    The team describes Copilot as the first major LLM consumer product and "killer app for LMs," with Aman crediting it for motivating his switch from Vim to VS Code in 2021. They note that even imperfect suggestions work well because users can iterate by typing another character.

    27 – Cursor

    The team explains forking VS Code rather than building an extension because they believed AI capabilities would improve dramatically and require deeper editor integration. Aman argues that "being even just a few months ahead...makes your product much, much, much more useful" in the rapidly evolving AI space.

    54 – Cursor Tab

    Cursor Tab predicts the next action a programmer will take, not just the next characters. Aman describes it as using sparse MOE models for long context with "speculative edits" variant of speculative decoding to achieve low latency while handling "incredibly pre-fill token hungry" prompts.

    08 – Code Diff

    The team describes optimising diff interfaces for different contexts — autocomplete diffs prioritise speed while multi-file diffs need intelligent highlighting of important changes. Arvid notes that as models improve and generate larger changes, helping humans verify diffs becomes increasingly critical, describing this as "the verification problem."

    20 – ML Details

    Aman explains that Cursor uses "an ensemble of custom models" alongside frontier models, with specialised models for Tab prediction and applying code changes that outperform frontier models on these specific tasks. The Apply model handles the "surprisingly hard" task of merging proposed code into existing files without errors.

    54 – GPT vs Claude

    Aman identifies Sonnet as "net best" across speed, code editing, context processing, and reasoning, noting that o1 excels at reasoning-intensive problems but "doesn't feel like it understands your rough intent as well." He argues frontier models perform well on benchmarks but degrade when pushed beyond their training distribution.

    28 – Prompt Engineering

    Arvid describes "Preempt," an internal system inspired by React's declarative approach for dynamically formatting prompts. The system uses JSX-like components with priorities (e.g., cursor line gets highest priority) that automatically render to fit context windows, allowing easier debugging across evaluation sets.

    54 – AI Agents

    Arvid expresses enthusiasm for agents for well-specified tasks like bug fixes but notes they're "not yet super useful for many things." He emphasises that programming often requires rapid iteration and initial versions to clarify intent, making instant interactive models preferable to long-running autonomous agents for most work.

    Running Code in Background

    Arvid describes the "Shadow Workspace" concept — a hidden Cursor window where AI can modify code and receive feedback from language servers without affecting the user's main session. On Linux, they use file system mirroring stored in memory; Mac and Windows implementations require more complex kernel-level extensions.

    Debugging

    Aman notes that even frontier models like o1 perform poorly at bug detection when naively prompted. The team attributes this to bugs being underrepresented in pre-training compared to code generation, and proposes training models to synthetically inject bugs, then training reverse models to detect them.

    Dangerous Code

    The team advocates explicitly marking dangerous code sections with repeated comments, arguing this helps both humans and AI remember functions' criticality. Arvid notes that "until we have formal verification for everything," such explicit warnings help prevent mistakes with high-impact consequences.

    Branching File Systems

    This section discusses using memory-based file system mirroring to allow background AI operations without affecting the user's files. Aman describes a "lock on saving" mechanism where the language model holds the save lock while operating on unsaved in-memory state.

    Scaling Challenges

    The team discusses managing growing model capabilities and code change sizes, emphasising the need for better verification and review mechanisms. As models generate larger changes across multiple files, the human cognitive load for verification increases, requiring new approaches beyond traditional code review.

    RLHF vs RLAIF

    Sualeh describes using RL to exploit "passive K curves" where predicting 10 variations is more likely to include the right answer than a single prediction. The team trains models on human preferences for specific suggestions, rewarding outputs humans prefer while punishing others.

    Fields Medal for AI

    Sualeh recounts a bet from June 2022 about whether an AI would win an IMO gold medal by 2024. Though technically one point short of gold, the recent DeepMind results nearly fulfilled this prediction, demonstrating progress in formal reasoning.

    END OF AVAILABLE CONTENT — Scaling Laws, Future of Programming sections listed but not extracted