Despite its ubiquity in the workforce, spreadsheet programming remains challenging as programmers need both spreadsheet-specific knowledge (e.g., APIs to write formulas) and problem-solving skills to create complex spreadsheets. Large language models (LLMs) can help automate aspects of this process, and recent advances in planning and reasoning have enabled language agents, which dynamically plan, use tools, and take iterative actions to complete complex tasks. These agents observe, plan, and act, making them well-suited to scaffold spreadsheet programming by following expert processes. We present TableTalk, a language agent that helps programmers build spreadsheets conversationally. Its design reifies three design principles -- scaffolding, flexibility, and incrementality -- which we derived from two studies of seven programmers and 62 Excel templates. TableTalk structures spreadsheet development by generating step-by-step plans and suggesting three next steps users can choose from. It also integrates tools that enable incremental spreadsheet construction. A user study with 20 programmers shows that TableTalk produces spreadsheets 2.3 times more likely to be preferred over a baseline agent, while reducing cognitive load and time spent reasoning about spreadsheet actions by 12.6%. TableTalk's approach has implications for human-agent collaboration. This includes providing persistent direct manipulation interfaces for stopping or undoing agent actions, while ensuring that such interfaces for accepting actions can be deactivated.
翻译:尽管电子表格编程在职场中无处不在,但其仍然具有挑战性,因为程序员需要同时掌握电子表格专业知识(例如编写公式的API)和问题解决能力才能创建复杂的电子表格。大型语言模型(LLMs)可以帮助自动化此过程的某些方面,而近期在规划与推理方面的进展催生了语言智能体,它们能够动态规划、使用工具并采取迭代行动以完成复杂任务。这些智能体通过观察、规划和行动,使其非常适合遵循专家流程来辅助电子表格编程。我们提出了TableTalk,一个通过对话帮助程序员构建电子表格的语言智能体。其设计实现了三个设计原则——辅助性、灵活性和渐进性——这些原则源自我们对七名程序员和62个Excel模板的两项研究。TableTalk通过生成分步规划并建议三个可供用户选择的后续步骤来结构化电子表格开发流程。它还集成了支持渐进式电子表格构建的工具。一项涉及20名程序员的用户研究表明,TableTalk生成的电子表格被优先选择的概率是基线智能体的2.3倍,同时将认知负荷和用于推理电子表格操作的时间减少了12.6%。TableTalk的方法对人类-智能体协作具有启示意义,包括提供用于停止或撤销智能体操作的持久直接操作界面,同时确保此类用于接受操作的界面可以被停用。