vscode-copilot-release icon indicating copy to clipboard operation
vscode-copilot-release copied to clipboard

Edit and Refine Conversation History in Chat Dialog

Open GregorBiswanger opened this issue 1 year ago • 2 comments

In the chat dialog, the ideal result often emerges after a prolonged conversation. However, due to the length of the conversation, some of the accumulated contextual information becomes vague and eventually gets lost. ChatGPT allows users to click on edit in the middle of the conversation to improve the prompt, making the conversation more concise and organized. Currently, I have to delete a message in the middle of the conversation and use the cursor keys to incorporate previously written content. This process is not optimal and user-friendly.

Steps to Reproduce

  1. Engage in a lengthy conversation in the chat dialog.
  2. Notice that some contextual information becomes vague and less useful over time.
  3. Attempt to refine the conversation by editing a message in the middle of the chat.
  4. Observe the current method of deleting messages and using cursor keys to incorporate changes.

Expected Behavior

  • Ability to click on a message in the middle of the conversation and edit it directly.
  • The edited message should update the conversation context seamlessly, making the dialog more concise and organized.

Actual Behavior

  • Users must delete a message in the middle of the conversation.
  • Users then have to use cursor keys to re-incorporate previously written content, which is not optimal or user-friendly.

Environment

  • Visual Studio Code Version: 1.90.1
  • GitHub Copilot Version: v0.16.1
  • Operating System: Windows 11

Additional Information

  • Implementing an edit feature in the chat dialog would significantly improve user experience.
  • This enhancement would help maintain the clarity and relevance of the conversation context over extended interactions.

Screenshot / Video

The edit prompt in ChatGPT: chatgpt-edit

The edit prompt in Copilot Chat: copilot-edit

GregorBiswanger avatar Jun 19 '24 09:06 GregorBiswanger

Was the second response not what you wanted? It's a bit hard to read in the gif.

When you edit in ChatGPT, you end up with a conversation shaped like a tree, which is interesting but in VS Code we decided that the complexity probably isn't worth it when you can just pull previous requests from history and delete messages when absolutely needed. You probably didn't need to delete the messages in this case.

roblourens avatar Jun 28 '24 00:06 roblourens

The length of a dialogue reduces the quality of the answer. It is best to start again at a certain point with the prompt specified there, because then you only have to adjust a little.

At the moment, I often stick with ChatGPT. The conversations are much easier to manage. I can call up previous conversations again and continue to work on them. Or improve current conversations by being able to correct a course that was leading in the wrong direction.

GregorBiswanger avatar Jul 23 '24 11:07 GregorBiswanger

When you edit in ChatGPT, you end up with a conversation shaped like a tree, which is interesting but in VS Code we decided that the complexity probably isn't worth it

It's fine if don't implement conversation trees. I think it's still valuable if I can go back to a specific message and edit it, discarding all following messages.

FooBarWidget avatar Aug 19 '24 05:08 FooBarWidget

I honestly cannot believe that the VS Code GitHub Copilot plugin doesn’t allow editing a prompt after it has been sent. Trees would be nice, but they’re not essential. Often, I review the response from the LLM and refine the initial prompt to get a better answer. This iterative process works significantly better than just asking subsequent questions because the latter clutters the context and decreases the quality of the responses in longer conversations.

Other plugins, like Sourcegraph Cody, let you edit the prompt at any point in the conversation, and it’s a game-changer for maintaining clarity and productivity. The current approach feels limiting, and I hope this functionality gets reconsidered.

krystofbe avatar Dec 10 '24 10:12 krystofbe

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.

If you wonder what we are up to, please see our roadmap and issue reporting guidelines.

Thanks for your understanding, and happy coding!