Skip to content

Generalize or move ChangeSetVariableContribution and ContextSummaryVariableContribution #15001

@planger

Description

@planger

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:

  1. Commit to file-specific ChangeSetVariableContribution and ContextSummaryVariableContribution by reflecting their file-specific nature in their name and location (i.e. move them to @theia/ai-ide)
  2. Generalize them as discussed above so they can be used for any type of context variable or change set element

Metadata

Metadata

Assignees

No one assigned

    Labels

    theia-aiissues related to TheiaAI

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions