World's Fair 2025
The Eyes Are The (Context) Window to The Soul: How Windsurf Gets to Know You — Sam Fertig, Windsurf
Overview
This talk explores how AI coding tools can better understand and assist developers by deeply understanding context. The core thesis is that generating code is no longer the primary challenge; instead, the difficulty lies in creating code that integrates seamlessly into existing, complex codebases, adheres to specific standards, and aligns with individual developer preferences. This is achieved by focusing on the "what" and "how much" of context, rather than simply increasing context window sizes.
Who should watch
- AI Engineers
- Product Managers
- Developers building or integrating AI coding tools
- Those struggling with AI code generation fitting into existing projects
- Teams looking to improve developer productivity with AI
Key takeaways
- The main challenge in AI coding is not code generation itself, but generating code that fits existing large codebases, organizational policies, and personal preferences.
- Context is the key differentiator for AI coding tools, making suggestions feel intuitive and personalized.
- Windsurf approaches context through two main pillars: heuristics (user behavior within the IDE) and hard evidence (code, documentation, rules, memories).
- The formula for relevant AI output is defined as: prompt + codebase state + user state.
- Optimizing the relevance of context within the LLM's window is more effective than simply increasing the window size, which also helps manage latency.
- Windsurf leverages its background in GPU optimization, originating from Exafunction, to excel at finding relevant context quickly, even in large codebases.
- The company emphasizes that they do not store or train on user data, processing information only within the editor and using stateless, pass-through servers.
Notable quotes
*It is hard to generate code for you. Not because any of you are particular troublemakers. Maybe you are, but it's hard to generate code that fits into an existing large codebase.*
*The answer is context.*
*The problem is not necessarily giving LLMs more and more context, but giving it more relevant context as it relates to your user state and as it relates to the state of your codebase.*
Unofficial community note. Prefer the recording for nuance.