Need Help? Designing Proactive AI Assistants for Programming
<|reference_start|>Need Help? Designing Proactive AI Assistants for Programming: While current chat-based AI assistants primarily operate reactively, responding only when prompted by users, there is significant potential for these systems to proactively assist in tasks without explicit invocation, enabling a mixed-initiative interaction. This work explores the design and implementation of proactive AI assistants powered by large language models. We first outline the key design considerations for building effective proactive assistants. As a case study, we propose a proactive chat-based programming assistant that automatically provides suggestions and facilitates their integration into the programmer's code. The programming context provides a shared workspace enabling the assistant to offer more relevant suggestions. We conducted a randomized experimental study examining the impact of various design elements of the proactive assistant on programmer productivity and user experience. Our findings reveal significant benefits of incorporating proactive chat assistants into coding environments and uncover important nuances that influence their usage and effectiveness.<|reference_end|>
@article{chen2024need,
    title={Need Help? Designing Proactive AI Assistants for Programming},
    author={Valerie Chen, Alan Zhu, Sebastian Zhao, Hussein Mozannar, David
  Sontag, Ameet Talwalkar},
    journal={arXiv preprint arXiv:2410.04596},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.04596},
    primaryClass={cs.HC}
}