5月30号,清华大学智能视觉实验室往 GitHub 上传了一个仓库。没有发布会,没有预热,连 README 都写得挺克制——"Syll: 多模态全交互智能体框架"。
但如果你认真看完这个项目的技术报告和 Demo,会发现它做的事情跟市面上那些 Agent 框架不太一样。不是又一个"AI帮你写代码"的工具,而是一个试图住在你的桌面环境里、用你的方式学会做事、还能随时让你检查它在干什么的框架。
一个框架,三条路
现在主流的桌面 Agent 基本走两条路:要么纯 GUI 操作(截图-识别-点击),要么纯 API/CLI 调用。两条路各自有道理,但也各有硬伤。
纯 GUI 的方式,面对 Photoshop、Blender、Godot 这类视觉软件还行,但批量处理文件时就笨得要命——明明一行命令能解决的事,非要一通截图点击。纯 API/CLI 的方式倒是干净利落,可一碰到闭源桌面软件就傻眼了——这些软件压根没有对外接口,你连它的数据结构都摸不到。
Syll 的做法是把 GUI、CLI、MCP/API 放进同一个执行回路。需要观察界面时走 GUI,需要批量处理时切 CLI,需要连接服务时走 MCP/API。不是在三种方式之间做单选题,而是让 Agent 根据任务场景自己选路。
据项目技术报告的描述,Syll 把 GUI 控制视为动作空间的一等公民,而不是 API 不可用时的临时补丁。它得学会观察屏幕、定位目标、处理弹窗、等待状态变化,同时在适当的时候切到命令行或工具接口,避免把所有问题都变成笨拙的点击。
这个设计思路说起来简单,做起来挺难。因为三种操作方式的输入输出格式完全不同,要把它们统一在一个执行回路里,需要一个足够灵活的动作抽象层。Syll 的做法是让每个动作节点都携带模态标记(视觉/文本/结构化),调度器根据当前任务状态和可用通道动态选择下一步走哪条路。
示教即技能:你做一遍,它就会了
桌面 Agent 最大的门槛从来不是技术,而是教学成本。
你明明知道自己要做什么——每周五导出数据、做透视表、发邮件——但你得把这个流程翻译成脚本、规则、prompt 或插件配置。知识传递的方向是人迁就机器:你得学会用机器的语言告诉机器你想要什么。
Syll 选了另一条路:示教即技能。
你照习惯把事情做一遍,Syll 在后台记录:哪些界面元素是关键视觉锚点、鼠标键盘和窗口状态如何变化、当时的任务上下文是什么、哪些步骤可以复用、哪些下次需要重新判断。
得到的结果不是一段死板录屏,而是一份可以再次调用、继续修正的技能。它学到的是"你如何完成这个任务",而不是一个孤立的按钮坐标。
据机器之心报道,这套机制的实现方式是:Syll 在录制过程中同时捕获视觉截图(关键帧)、鼠标/键盘事件序列、窗口焦点变化和任务上下文。回放时不是机械重放坐标,而是重新感知当前界面状态,用视觉锚点做定位校准,只在需要判断的地方暂停等待用户确认。
说白了,它记住的是"逻辑"而不是"像素"。
这个思路跟 Anthropic 技能体系里的 SKILL.md 规范有异曲同工的地方——都是把过程性知识从模型权重里拿出来,变成可编辑、可复用的文件。但 Syll 更进一步:它不要求你手动编写技能文件,而是从你的操作行为中自动提取。
全程可查:不是黑盒,是玻璃房
桌面 Agent 最让人不放心的地方,不是它偶尔失败,而是它失败的时候你不知道发生了什么。
它点了哪里?调用了什么工具?为什么切换了动作通道?在哪一步出了错?大部分 Agent 框架要么只输出最终结果,要么给你一个原始日志文件,你得自己从中扒线索。
Syll 做了一个设计:每一步操作都有记录,全程可视可查。它看见了什么、调用了什么工具、在哪一步等待、哪里重试、为什么切换动作通道——每一次屏幕操作与界面状态变更都可以被记录、回放与审计。
用户始终保有对关键决策的最终把控权,形成"机器执行 → 人审核"的验证闭环。这在高敏感场景(比如操作财务软件、处理客户数据)里是一个硬需求——你不能让一个 Agent 在你的电脑上"先做了再说"。
据项目主页的描述,Syll 的审计体系是跟执行引擎紧耦合的,不是事后追加的日志层。每个动作节点在执行时同步生成审计记录,包含时间戳、动作类型、输入参数、执行前后的屏幕状态截图。这些记录可以在 Web UI 的时间线上逐帧回放。
本地优先:你的数据不出你的电脑
最后一个设计决策,可能是当下最关键的那个。
Syll 的记忆、技能、规则和偏好,都以本地可编辑文件的形式组织。你的操作记录、你教会它的技能、你的个人偏好,全部存在你自己的电脑里。不上云,不经过第三方服务器。
这在 AI 时代有多稀缺?看看市面上的 AI 助手,哪个不是把数据往云端送?你用它的服务,它用你的数据。Syll 的方案是:你可以选择本地运行,隐私安全你说了算。
从工程角度看,这个架构选择也带来了灵活性。普通用户可以在前端面板完成模型配置、技能管理、定时任务;开发者可以接入自己的模型 provider、替换工具模块、开发技能插件。Syll 的代码规范约束比较严格,摒弃了过度封装和冗余逻辑,各模块有清晰的调用链路和独立的抽象边界。
它同时支持本地模型(通过 vLLM / Ollama)和云端模型(OpenAI / Anthropic / OpenRouter),你可以按场景混用——敏感任务走本地小模型,复杂推理调云端大模型。
几个值得琢磨的点
Syll 目前还处于 public alpha 阶段,文档不全,安装有门槛,支持的场景也有限。但有几个方向值得持续关注:
示教范式的上限在哪? "你做一遍它就会了"听起来很美,但复杂任务的变体怎么处理?如果界面改版了、流程有分支了、异常情况出现了——示教出来的技能能不能泛化?这可能是 Syll 后续迭代的核心挑战。
多模态执行回路的调度开销。 在三种通道之间切换听起来灵活,但每次切换都有上下文重建的成本。对于高频操作场景,调度策略够不够高效?
本地架构的信任扩散。 数据在本地确实安全了,但"本地"也意味着"你得自己运维"。对普通用户来说,本地部署的门槛依然存在。
Syll 的项目主页写了一段话,大意是:它不是替你做主的机器,而是慢慢熟悉你的伙伴。
这个定位在当前的 Agent 赛道里是稀缺的。大部分 Agent 框架追求的是"更自动化"——帮你做更多事、做更快。但 Syll 追求的是"更可信"——让你看得见它在做什么、让你能随时介入、让你教会它而不是它教会你。
方向对了,但路还长。
项目链接:GitHub - THU-SAGE/syll
夜雨聆风