Hacker News new | ask | show | jobs
by fritzo 370 days ago
In my experience, the 2nd most costly function in agents (after LLM calls) is diffing/patching/merging asynchronous edits to resolve conflicts. Those conflict resolution operations can call out to low-level libraries, but they are still quite expensive optimization problems, compared to serialization etc.
2 comments

What diffing/patching/merging library are you working with? Or are you building your own?
I've used google's old diff-match-patch, a faster python binding of that C++ library fast-diff-match-patch, and biopython (which amazingly supports unicode!)
can you be more specific about this?
1. follow rich hickey's advice and orchestrate all llms to mutate a single shared state

2. let those llms operate asynchronously in parallel

3. when an llm wants to mutate the global state but the state has changed since it's checkout, try to safely merge changes using an expensive diff algorithm (which is still cheaper than the llm); on failure retry