趋近智
虽然直接API访问因其稳定性和结构化特性而成为LLM代理与外部系统对接的首选方式,但许多有价值的信息来源和功能只能通过图形用户界面(GUI)获取。构建能够让大型语言模型(LLM)代理与这些用户界面交互的工具,能够极大增强其操作功能。还将讨论促进人工输入的工具,这可被视为一种特殊的用户界面交互形式。
与用户界面交互允许代理执行诸如从缺乏API的网站提取数据、控制桌面应用程序或自动化遗留系统中的流程等任务。此外,工具可以设计为明确请求人工输入或确认,为需要人工判断或授权的任务建立联系。
自动化GUI是一项复杂的任务,因为用户界面是为人类感知和交互而设计的。它们可以是动态的,元素会根据状态或用户操作而变化。用于GUI自动化的工具通常充当桥梁,将LLM的指令转换为用户界面上的操作,然后将用户界面的响应解析回LLM能理解的格式。
对于基于网页的用户界面,浏览器自动化库是标准方法。诸如Selenium、Playwright或Puppeteer之类的库允许编程控制网页浏览器。LLM代理可以使用基于这些库之一构建的工具来:
LLM会发出高级命令,例如“在example.com上查找名为‘无线鼠标’的产品并提取其价格。”然后,该工具会将其转换为一系列浏览器操作:
example.com。search-query)。网页UI自动化面临的一个主要难题是其脆弱性。网页经常变化,昨天有效的选择器今天可能失效。设计依赖更稳定的标识符(例如data-testid属性或ARIA标签)而不是高度不稳定的标识符(例如基于DOM结构的复杂XPath表达式)的工具很重要。
由于UI框架的多样性(Windows Forms、WPF、Qt、Cocoa等),与桌面应用程序用户界面交互通常比网页用户界面更具挑战性。常见方法包括:
桌面UI自动化工具需要精心设计以指定操作和目标元素,通常依赖于元素的属性,如名称、类型或窗口层级。
一种更简单但非常有效的用户界面交互形式涉及明确请求人工输入或确认的工具。LLM无需尝试操控复杂的GUI,工具会向用户呈现问题或一组选项,并等待其响应。这对以下情况很重要:
例如,LLM代理规划市场活动时可能使用这样的工具:
LLM: "该活动的预算估计为5,000美元。您是否批准此预算并继续启动该活动?选项:[批准], [拒绝], [请求更多信息]"
该工具会向用户显示此消息和选项(例如,在聊天界面、弹出对话框或电子邮件中)。用户的选择随后返回给LLM。
交互流程图,说明LLM代理如何使用用户界面交互工具来自动化应用程序用户界面或请求人类用户输入。
构建用户界面交互工具时,请考虑以下几点:
login_to_website(url, username_field_id, username, password_field_id, password, submit_button_id)或get_text_from_element(selector)。data-*属性。click(点击)、type_text(输入文本)、select_option(选择选项)、read_text(读取文本)、take_screenshot(截图)。LLM的主要职责是理解整体目标,并将其分解为用户界面交互工具可执行的一系列步骤。这包括:
对于请求人工输入的工具,LLM负责为人类用户清晰简洁地 формулировать 问题或选项。
与用户界面交互的工具可以非常强大,因为它们潜在地执行人类用户可以执行的任何操作。这引出了一些考量:
data-testid)。通过慎重设计可以与用户界面交互或请求人工输入的工具,您可以大幅扩展LLM代理在多样化环境中运行和处理否则无法完成的任务的能力。这些工具虽然构建和维护复杂,但弥合了LLM推理能力与许多系统的交互性之间的差距。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造