how is that better than AI Coding tools?
They do more sophisticated things such as creating compressed representations of the code that fit better into the context window. E.g https://aider.chat/docs/repomap.html.
I have never found embeddings to be that helpful, or context beyond 30-50K tokens to be used well by the models. I think I get better results by providing only the context I know for sure is relevant, and explaining why I'm providing it. Perhaps if you have a bunch of boilerplate documentation that you need to pattern-match on it can be helpful, but generally I try to only give the models tasks that can be contextualized by < 15-20 medium code files or pages of documentation.
Also they can use multiple models for different tasks, Cursor does this, so can Aider: https://aider.chat/2024/09/26/architect.html