There’s been a lot of talk recently about how Windsurf’s context retrieval is better than other products. One rebuttal I’ve seen is that all products “index your codebase”.
But indexing code ≠ context retrieval. It is necessary but not sufficient.
Thought I’d share a bit about what we’re doing under the hood to get the best results.
Indexing & embedding search is a tablestakes RAG technique. Btw, even for this technique there are approaches that make this more or less effective. One thing we are doing is AST parsing code and chunking along semantically meaningful boundaries - not random blocks of code. This means that when a code chunk is retrieved, it is a full function or class, not just an arbitrary block of consecutive code.