Hacker News new | ask | show | jobs
by dmd 386 days ago
I'm confused by what you mean by this, because most LLM interfaces other than the very very basic ones do already have branching and history editing? E.g. pretty much every third party LLM interface? Are you talking about something more than that?
2 comments

Yes. Here is a scenario:

Let's say you ask an LLM to help you with a programming task. The LLM gives you a solution and you copy that into your code. While getting to the result of this solution, spanned over multiple messages, you give it more context about your code base. You ask it to help with multiple sub problems and it answers with suitable responses containing code snippets.

Now, you change your mind and want to actually write your program in a different language. You could at this point just tell that to the LLM and it would change course from here on out. Everytime it is queried the full history including the original problem is sent to it. The change in programming language is taken into account because it eventually gets to the point where you changed your mind.

But instead what you'd probably want is the solution it gave you initially and all the little solutions to all the sub problems but in the newly chosen programming language! You'd like to simulate or re-evaluate the conversation but with the newly chosen programming language.

I haven't seen that implemented in a usable way but as I said, this is not a trivial feature either.

Checkout cursor. It doesn't have the old branch "rebasing" you are describing, but going back into the history reverts changes made after that point by default. (And honestly I am not convinced automatically rebasing that way is better than rerunning the prompts with changes in most cases, it seems too likely to go off the rails to me)
You'd also want to have some mechanism to ensure deterministic generation if you add rebasing, I think? Though I might be behind the times in my understanding of how LLMs work.
Neither Claude, OpenAI, nor Gemini let you do either, so it's not ubiquitous.

You can't delete messages, you can't branch, and you can't edit the LLM's messages. These are basic, obvious, day-1 features I implemented in my own LLM UI that I built over 3 years ago, yet I'm still waiting for flagship providers to implement them.

It's pathetic how rare good UX is in software.

Can you list some UIs with these features?

Right, but anyone who wants those features can use a 3rd party front end like LibreChat.
You can certainly branch with Gemini in AIStudio.