microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.88k stars 29.52k forks source link

Chat: Allow a way for participants to direct requests to other participants #232837

Open bwateratmsft opened 4 weeks ago

bwateratmsft commented 4 weeks ago

Currently there is intent detection built in so that if a request is not directed at any particular participant, the intent detection will try to direct it to the appropriate participant. However, it would be very helpful if participants could tell VSCode "I'm not the right participant to answer this query", allowing it to perform intent detection and assign to a different participant. I think this approach--where a participant just says it can't answer a query--mitigates some of the security risk of allowing participants to call each other.

For example, @azure gets asked a lot of workspace-related questions that would be much better answered by the @workspace participant. If we could redirect the questions to @workspace that would be helpful to end users.

/cc @isidorn

isidorn commented 4 weeks ago

Sort of a way for participants to "yield" to a request. I was discussing this with @jrieken previously but we did not get far.

bwateratmsft commented 4 weeks ago

Yeah, that's a good word for it. I imagine that a user experience would need to get built that would allow them to override the behavior, i.e. say "No, I really want @azure to answer that question".

roblourens commented 4 weeks ago

How would you detect this, and is there a better way to get it right in the first intent detection step?

bwateratmsft commented 3 weeks ago

Right now, we're using OpenAI function calling to direct appropriate questions to a homemade workspace context plugin, that essentially just calls the copilot_codebase lmTool. It works, but it's not nearly as good an experience as what @workspace can do. For example, one thing we like that @workspace provides is linkification of the file references.

roblourens commented 3 weeks ago

In the scenario you're describing, you're talking about people using @azure explicitly right?

For example, one thing we like that @workspace provides is linkification of the file references.

fwiw, I would also like to make it much easier for other extensions to build experiences like ours, with less effort.

bwateratmsft commented 3 weeks ago

In the scenario you're describing, you're talking about people using @azure explicitly right?

Yes, I should've specified that.

charris-msft commented 2 weeks ago

@isidorn - this is another feature that would be very helpful for @azure! Let me know if there is any information or help you need to help move this along.