Architecting open, accountable, and trustworthy AI-IDEs
摘要
Generative artificial intelligence (AI) is boosting the use of LLM-based conversational assistants in many domains. In software engineering, numerous integrated development environments (IDEs) offer conversational assistants to improve productivity, leading to AI-IDEs. However, the integration of assistants into IDEs is often ad-hoc, rigid and opaque. Moreover, the assistant-generated code is frequently untraceable, and developers struggle to trust it. Given the diversity of software construction processes, AI-IDE architectures should be: (i) open, permitting the on-demand configuration of assistive tasks, and enabling the coordination of assistants potentially built atop diverse LLMs; (ii) accountable, tracing the assistant contributions and exploiting this information to obtain project insights; (iii) trustworthy, allowing the customisation of safeguard protocols for the assistive tasks. To fill this gap, we propose an open, extensible, accountable architecture for AI-IDEs, which incorporates validation loops for trustworthy assistance. We have implemented this architecture as an extensible plugin for Java development within Eclipse, called Caret. We have conducted offline evaluations and a user study, which demonstrate that Caret can be easily extended with new tasks, and its handling of context and validation loops results in effectiveness improvements up to 147.34% compared to the baseline. Overall, our architecture facilitates the seamless integration of LLM-based conversational assistants into IDEs, coping with new assistive demands for specific needs, offering detailed accountability of development contributions, and incorporating configurable validation loops for trustworthy development.