# 文件结构 - video_gen.py:使用ffmpeg 将trace中的jpeg 合成视频webm,按30秒分片; - qwen_vl_process.py: 使用qwen-vl-max-latest,去解读视频中的动作; - trace_server.py:本地http 服务器,用来给playwright网页应用来加载trace.zip文件 - trace_action_extract_url.py:通过playwright去读取trace.zip文件,保存pw动作列表,以及每个动作前后的url。 - summarize_design.md:使用r1进行综合策略总结的设计文档 - final_summarize.py: 使用r1推理出合理的策略-子策略-动作指令三级结构。 - trace: 存放webarena 项目提供的179个人类操作轨迹zip - video: 存放每个trace转成视频的文件,目前转的视频只有167和506输出最后一个视频给qwen分析会报错,已经人工确认视频本身存在很大的稀疏性。未来可以进一步优化检测逻辑。现在先人工确认不影响。 - trace_extract:存放从trace文件提取的动作、url信息 - analysis: 存放基于summary中strategy总结的通用策略,以及评测r1和r1-distill去生成策略组合的效果。 - universal_strategy_v2.md,根据summary总结的一级策略,给gemini-2.5-pro去归纳总结了11条通用策略模板,以及映射 - task_strategy_path.py: 得到179个任务的策略组合,以及通用策略ID组合, - task_output.json:执行stask_strategy_path.jpy 输出 - evaluation.py:拿task_output.json 去测试r1和r1-distill-7b,对比输出的 US ID path与期望的匹配率 - evaluation_result.json和evaluation_result_r1_7b.json - prompt: evaluation.py使用的prompt,需要把通用策略模板定义描述告诉模型 - toy:存放测试实验脚本 - summary:执行final_summarize.py 输出的179个任务的策略总结,三层结构。 # TODO - 最终综合:调用r1对视频解读以及动作/url列表信息进行综合分析,通过推理还原出strategy和low level action; - # 存在问题 ## 2025-4-16 16:54:38 : 发现几个问题, - 一个提取动作逻辑,部分输出文件中idx序号是乱且不连续,有遗漏; - trace.zip记录了多个tab的截图,时间戳有交错,不能直接拼接成一个视频,现在拼在一起会串; - r1总结没有强调要他忽略掉一些与任务无用无关的动作, - r1 应该还要识别出trace 有没有完成任务,进行判定 - 还需要从trace.zip中提取axtree 作为上下文 基于现有产出数据,是否可以进行训练: - summary数据,有部分task提取json出错,需要进行一定的清洗; - summary数据,包含任务、动作描述、动作指令、以及总结的策略; 训练目标: - 先对所有strategy和substrategy进行语义分析,看是否存在某些通用的策略/子策略,进行抽象和聚类和编码,策略用SID,子策略用sid; - 抽象策略集合 {S},子策略集合 {s} - 重新组织数据: - task -> (S, S, S) - task & S -> (s, s, s) 未来增加上下文后: - task & S & s & context -> (a, a, a), context 包含网页内容,网页url 微调训练目标: - 使用qwen2.5vl-7b-instruct 微调, - prompt: - query: task - response: strategy - 使用gemini去对策略进行归纳 附件是GUI Agent执行网页任务进行任务策略拆解得到的策略,你的任务是去对这些策略进行抽象和归纳,提炼出一组粒度适中的通用策略,要求原有的每一个策略都能够映射到通用策略中的唯一一个策略。要求给出两个表格,一个是 | universal strategy ID | universal strategy | ,第二个表格, |task id (number) | original strategy | universal strategy | universal strategy ID |