(no title)
mkw5053 | 18 days ago
I stumbled upon it in late 2023 when investigating ways to give OpenHands [2] better context dynamically.
mkw5053 | 18 days ago
I stumbled upon it in late 2023 when investigating ways to give OpenHands [2] better context dynamically.
emporas|18 days ago
The unfortunate thing for Python that the repomap mentions, and untyped/duck-typed languages, is that function signatures do not mean a lot.
When it comes to Rust, it's a totally different story, function and method signatures convey a lot of important information. As a general rule, in every LLM query I include maximum one function/method implementation and everything else is function/method signatures.
By not giving mindlessly LLMs whole files and implementations, I have never used more than 200.000 tokens/day, counting input and output. This counts as 30 queries for a whole day of programming, and costs less than a dollar per day not matter which model I use.
Anyway, putting the agent to build the repomap doesn't sound such a great idea. Agents are horribly inefficient. It is better to build the repomap deterministically using something like ast-grep, and then let the agent read the resulting repomap.
jared_stewart|18 days ago
On the efficiency point, the agent isn't doing any expensive exploration here. There is a standalone server which builds and maintains the index, the agent is only querying it. So it's closer to the deterministic approach implemented in aider (at least in a conceptual sense) with the added benefit that the LLM can execute targeted queries in a recursive manner.
jared_stewart|18 days ago
Aider builds a static map, with some importance ranking, and then stuffs the most relevant part into the context window upfront. That's smart - but it is still the model receiving a fixed snapshot before it starts working.
What the RLM paper crystallized for me is that the agent could query the structure interactively as it works. A live index exposed through an API lets the agent decide what to look at, how deep to go, and when it has enough. When I watch it work it's not one or two lookups but many, each informed by what the previous revealed. The recursive exploration pattern is the core difference.
anotherpaulg|18 days ago
As well, any files or symbols mentioned by the model are noted. They influence the repomap ranking algorithm, so subsequent requests have even more relevant repository context.
This is designed as a sort of implicit search and ranking flow. The blog article doesn’t get into any of this detail, but much of this has been around and working well since 2023.
mohsen1|18 days ago
https://github.com/mohsen1/yek
mkw5053|18 days ago
https://news.ycombinator.com/item?id=38062493
https://news.ycombinator.com/item?id=41411187
https://news.ycombinator.com/item?id=40231527
https://news.ycombinator.com/item?id=39993459
https://news.ycombinator.com/item?id=41393767
https://news.ycombinator.com/item?id=39391946
aitchnyu|17 days ago