Biscuit: Scaffolding LLM-Generated Code with Ephemeral UIs in Computational Notebooks
Abstract
Novices frequently engage with machine learning tutorials in computational notebooks and have been adopting code generation technologies based on large language models (LLMs). However, they encounter difficulties in understanding and working with code produced by LLMs. To mitigate these challenges, we introduce a novel workflow into computational notebooks that augments LLM-based code generation with an additional ephemeral UI step, offering users UI-based scaffolds as an intermediate stage between user prompts and code generation. We present this workflow in BISCUIT, an extension for JupyterLab that provides users with ephemeral UIs generated by LLMs based on the context of their code and intentions, scaffolding users to understand, guide, and explore with LLM-generated code. Through a user study where 10 novices used BISCUIT for machine learning tutorials, we discover that BISCUIT offers user semantic representation of code to aid their understanding, reduces the complexity of prompt engineering, and creates a playground for users to explore different variables and iterate on their ideas. We discuss the implications of our findings for UI-centric interactive paradigm in code generation LLMs.
BibTeX
@article{cheng2024biscuit,
title={{Biscuit: Scaffolding LLM-Generated Code with Ephemeral UIs in Computational Notebooks}},
author={Cheng, Ruijia and Barik, Titus and Leung, Alan and Hohman, Fred and Nichols, Jeffrey},
journal={IEEE Symposium on Visual Languages and Human-Centric Computing},
year={2024},
doi={10.48550/arXiv.2404.07387}
}