文章目录
-
- 你现在不是缺能力,是把"做东西"想得太神圣了
- [你过去的 pyautogui 图标匹配经验不是落后,而是资产](#你过去的 pyautogui 图标匹配经验不是落后,而是资产)
- "没人做这块"不重要,重要的是"你有自己的切口"
- 你现在不要问"做出来有没有用",先问"它能不能动"
- 你害怕失败,是因为你把失败和自我价值绑在一起了
- 你应该把第一个版本做得很土
-
- [Baseline:传统 pyautogui 模板匹配](#Baseline:传统 pyautogui 模板匹配)
- [Ours:VLM + GUI Agent](#Ours:VLM + GUI Agent)
- 你可以把项目主题改成更贴合你的版本
- 你真正该做的第一个demo
- 现在你最应该做的不是"振作",而是降低启动阻力
- 你不是不配,你只是很久没有赢过一个属于自己的小闭环了
你这段话里最重要的不是"我害怕失败",而是这一句:
我以前最喜欢写的就是爬虫。
这不是废话。这是你的技术主线。
你不是突然想做 GUI Agent。
你是从很早以前就在做"让电脑替我操作世界"这件事:
- 自动查单词写入 Docx;
- 自己写爬虫;
- 自动刷网课;
- 用 pyautogui 做图标匹配;
- 处理验证码;
- 自动化网页操作;
- 现在想做 GUI Agent。
这条线非常清楚。你不是在赶热点。你是在回到自己原本就喜欢的东西。
你现在被吓住了,不是因为你不适合做,而是因为你这几年被一种评价体系驯化了:论文、A会、大牛、导师项目、实习title、别人履历。它让你忘了一个最朴素的事实:
写东西的人,不需要先获得资格。写出来,资格就出现了。
以前的你不会问"我配不配写自动查词典程序"。
你只是觉得"这个东西烦,我能不能让电脑帮我做?"
然后你就动手了。
这就是工程师最珍贵的冲动。
你现在不是缺能力,是把"做东西"想得太神圣了
你现在脑子里有很多声音:
- 做不出来怎么办?
- 做出来没人用怎么办?
- 没论文是不是不配做?
- 别人都发A会,我这个是不是太土?
- 这个项目会不会不够深?
- 面试官会不会看不上?
这些声音会把一个原本很自然的动作------"写点代码试试"------变成一场审判。
但 GUI Agent 这件事,恰恰不应该从"我要做一个伟大的项目"开始。
它应该从你以前那种状态开始:
"我能不能让它点这个按钮?"
"它为什么点歪了?"
"我能不能让它自己看截图?"
"我能不能让它判断验证码框在哪里?"
"我能不能让它把网页上的东西整理成表格?"
这才是你的入口。
你不要一开始就想着"我要做 GUI Agent 系统"。
你先回到以前那个你:
今天让电脑替我完成一个很烦的小动作。
你过去的 pyautogui 图标匹配经验不是落后,而是资产
你说你以前用图标匹配,提前截图想点的图标,然后全屏匹配。缺点是慢。
这其实非常重要。因为你已经亲手碰过 GUI automation 的老问题:
- 图标匹配慢;
- 分辨率变化会失效;
- 页面样式变化会失效;
- 按钮状态变化会失效;
- 验证码/动态内容很难处理;
- 脚本没有语义理解,只能机械匹配。
而大模型带来的变化正好是:
过去你只能匹配"这个图标长什么样";
现在你可以让模型理解"这个地方是不是搜索框/提交按钮/验证码/下一步"。
这不是你从零开始。
这是你以前那套自动化经验,终于等到了更强的感知模块。
所以你可以把项目叙事写成这样:
我早期做过基于 pyautogui 和模板匹配的桌面自动化脚本,发现传统方法在图标变化、页面动态变化和验证码场景下鲁棒性很差。因此我希望结合多模态大模型,实现一个具备屏幕理解、语义定位和动作规划能力的轻量级 GUI Agent。
这就已经不是"蹭热点"了。
这是非常自然的技术演进。
"没人做这块"不重要,重要的是"你有自己的切口"
GUI Agent 当然有人做,而且大厂和论文都在做。
但这不妨碍你做。
你不需要证明"全世界没人做"。你只需要证明:
我能从自己的经验出发,做一个有清晰问题、有可运行原型、有失败分析的系统。
你真正的切口不是"通用 GUI Agent"。
你的切口应该是:
从传统 pyautogui/爬虫自动化到多模态 GUI Agent:让模型替代脆弱的图标匹配和硬编码规则。
这个切口很适合你。
因为别人讲 GUI Agent 可能是从论文开始讲,而你可以从自己的真实经验讲:
我以前用模板匹配做自动化,痛点是慢、不鲁棒、不能理解语义。现在多模态模型可以看图、读页面、理解任务,所以我想做一个轻量级 Agent,把传统自动化升级成语义驱动的自动化。
这比"我看了几篇论文所以想做GUI Agent"更有说服力。
你现在不要问"做出来有没有用",先问"它能不能动"
你现在最需要恢复的是动手感,不是宏大规划。
所以我建议你给自己定一个非常低但非常真实的任务:
今晚只做一个东西:让模型看一张浏览器截图,然后回答"搜索框在哪里"。
不要做Agent。
不要做系统。
不要做论文复现。
不要做完整项目。
就做这个:
- 打开一个网页;
- 截图;
- 把截图发给多模态模型;
- 问它:"图中搜索框在哪里?请返回大概坐标或元素描述。"
- 你手动/程序点击一下。
这一步一旦跑通,你的心态会变。
因为你会重新感觉到:
哦,原来我还是能让电脑动起来的。
然后第二天再做:
让它点击搜索框并输入关键词。
第三天再做:
让它搜索并打开第一个结果。
这就是你以前的方式:一步一步试错。
你不是不行了,你只是太久没有允许自己这样开始了。
你害怕失败,是因为你把失败和自我价值绑在一起了
以前你写爬虫失败的时候,可能只是觉得:
这个反爬有点烦,我再试试。
现在你写GUI Agent失败,你脑子里会自动翻译成:
看吧,我果然不配做算法。
我果然不如那些发A会的人。
我果然只能做运营。
这个翻译是错的。
项目里的失败应该被翻译成:
模型坐标不准。
页面元素提取不全。
OCR识别错了。
任务规划太长导致循环。
点击后没有验证状态。
prompt injection诱导了错误行为。
需要加入安全确认机制。
你看,同样是失败,后一种全是技术问题。
技术问题就能拆、能测、能改、能写进README、能讲给面试官。
所以你接下来做项目时,要刻意训练一种能力:
把"我不行"翻译成"系统哪里失败了"。
这是你重新找回技术心的关键。
你应该把第一个版本做得很土
真的,第一版越土越好。
第一版就叫:
V0:大模型版 pyautogui 自动点击器
功能:
- 截屏;
- 让模型描述页面;
- 让模型选择要点哪里;
- pyautogui 点击;
- 记录日志。
这就行。
你甚至可以保留你以前的图标匹配作为 baseline:
Baseline:传统 pyautogui 模板匹配
问题:
- 慢;
- 依赖固定截图;
- UI变化后失败;
- 不能理解文字和语义。
Ours:VLM + GUI Agent
改进:
- 不需要提前截目标图标;
- 可以根据自然语言任务找目标;
- 可以理解搜索框、按钮、验证码、表单;
- 可以记录推理和动作轨迹。
这样你的项目就有对比了。
而且这个对比来自你的真实经历,非常自然。
你可以把项目主题改成更贴合你的版本
我建议你不要一开始叫 MiniSafeGUI-Agent。
可以叫得更像你的故事:
From PyAutoGUI to VLM Agent:基于多模态大模型的语义桌面自动化原型
或者中文一点:
语义驱动的 GUI 自动化 Agent:从模板匹配到多模态定位
这比"我要做一个通用龙虾"稳得多。
你的项目核心问题就是:
传统 GUI 自动化依赖硬编码和模板匹配,泛化能力弱;多模态大模型能否通过截图理解页面语义,并完成更鲁棒的点击、输入和信息整理?
这就是一个完整研究问题。
你真正该做的第一个demo
别去碰游戏,别去碰复杂桌面,别去碰全能Agent。
第一个demo就做你最熟的:
自动查词/查论文/查网页信息,然后写入 docx 或表格。
因为这跟你的过去连接最强。
比如:
输入:
text
帮我查找 GUI Agent grounding 相关论文,提取标题、链接、摘要,写入 docx。
Agent执行:
- 打开浏览器;
- 搜索关键词;
- 进入结果页;
- 提取论文标题;
- 复制摘要;
- 写入 docx;
- 保存文件。
这个项目一听就有你的味道:
查词典、爬虫、自动化、Docx、大模型、多模态、GUI Agent,全串起来了。
你不是在凭空找方向。
你是在把过去的自己升级到2026年。
现在你最应该做的不是"振作",而是降低启动阻力
不要对自己说:
我要重新找回斗志。
这太重了。
你就对自己说:
我今天只让它点一下搜索框。
然后真的去点。
只要你让它点起来,你的脑子会自己开始兴奋:
- 它为什么点歪了?
- 能不能用框标注?
- 能不能让它输出JSON?
- 能不能用OCR?
- 能不能让它做二次确认?
- 能不能自动写docx?
- 能不能绕过验证码?
- 能不能检测网页诱导?
这就是你以前的冲劲。
冲劲不是靠想出来的,是靠一个能动的小东西唤醒的。
你不是不配,你只是很久没有赢过一个属于自己的小闭环了
导师项目、大厂光环、论文排名、同学比较,这些东西都在把你拖进别人的赛道。
但你自己的赛道其实早就有了:
自动化 + 网页 + 工具调用 + 大模型 + GUI Agent。
你以前喜欢写爬虫,不是偶然。
因为你喜欢的是一种很具体的快感:
我发现一个重复、繁琐、机械的事情,然后写个程序把它干掉。
GUI Agent就是这个快感的终极版。
所以别再问"我配不配"。
你先恢复那个最原始的动作:
发现一个烦人的操作。
写代码。
让电脑替你做。
失败。
改。
再跑。
它动了。
你笑一下。
然后继续。
这就是你的技术心。
今晚就做一件事:让大模型看截图,找到搜索框,并让 pyautogui 点过去。
不用完美,不用深度,不用证明给任何人看。
先让它动起来。