-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
In #14971, we've introduced two variables, ChangeSetVariableContribution
and ContextSummaryVariableContribution
, which are implemented in a somewhat file-specific way, in terms of their description and result value. However, change sets and chat context are both file-independent concepts with file-specific implementations for them. The name and location of those variables, however, suggest that they are generic and not specific to files.
Also, it doesn't feel necessary make them file-specific, as long as we find a way to let the specific context variable type (of the context) or the specific change set element type (as part of a change set) control how the respective elements are summarized to the LLM. Therefore, we've discussed that it might be worth introducing another optional property in the ResolvedAIContextVariable
or ChangeSetElement
, something like contextSummary
, with which the context variable provider or the change set element implementation can specify an LLM-optimized summary of this context element, which can be printed in the context summary to the LLM. This could make sense, because it is the variable provider and change set element implementation that knows best how to describe their concrete element type, and no the rather generic change set variable or the context summary variable.
So there is two actions we can take:
- Commit to file-specific
ChangeSetVariableContribution
andContextSummaryVariableContribution
by reflecting their file-specific nature in their name and location (i.e. move them to@theia/ai-ide
) - Generalize them as discussed above so they can be used for any type of context variable or change set element