You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Semantic Kernel的浏览器技能问题:ChatGPT无法识别页面内容求助

Semantic Kernel浏览器技能问题解决方案

一、HTML过长无法传递的解决思路

  • 精简页面内容:使用HTML解析工具(如HtmlAgilityPack)过滤掉脚本、样式、注释及不可见元素,只保留页面核心DOM结构与可见文本;或者提取关键元素的标识(id、class、文本内容)生成极简描述,而非全量HTML。
  • 生成结构化摘要:将页面转化为自然语言+关键标识的结构化描述,例如“页面顶部导航栏含‘首页’‘产品’按钮,主体区有id为‘search-box’的输入框和文本为‘提交’的按钮”,大幅压缩传递内容。
  • 增量更新状态:通过DOM监听(如MutationObserver)捕获页面变化的部分,仅传递更新内容而非全量页面,减少每次交互的数据量。

二、XPath与HTML不符的优化方案

  • 强化标识引导:在传递给模型的页面信息中,明确标注元素的唯一标识(id、name、data属性),引导模型优先基于这些标识生成XPath(如//*[@id='search-box']),避免依赖易变的层级结构。
  • 增加XPath校验步骤:在执行模型返回的XPath前,先调用浏览器的DOM查询接口(如document.evaluate)验证有效性;若无效,自动触发模型基于校验结果重新生成,或使用备选查询方式(如文本内容+class组合)。
  • 提供示例规范:在模型prompt中加入符合当前页面结构的XPath示例,明确生成格式,降低模型输出偏差。

代码层面优化建议

在BrowserSkill中新增两个核心方法:

  • GetPageSummary():负责处理HTML的过滤、结构化摘要生成,替代直接传递原始HTML的逻辑。
  • ValidateXPath(string xpath):调用浏览器API验证XPath有效性,返回校验结果用于后续逻辑判断。

内容的提问来源于stack exchange,提问作者David Bauer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:42:12