前两天周末我又给 YuAI Tools 新增了好几个功能,备忘录、定时器等。
其中最重要最牛的一个功能,是我在 AI 语音输入法的基础上做的,叫语音指令。就是通过语音控制 YuAI Tools 里所有功能。
比如语音记录待办、语音记录备忘录、语音设置定时器或闹钟等。
加完之后,我坐在那儿测试,突然愣了一下。
我意识到一件事:这不就是一个 Agent 吗?
YuAI Tools 是我自己做的一个 macOS 效率工具,最开始的动机很简单——Alfred 太不思进取了,自从买了终身会员后感觉它就没怎么更新过,所以我想还是自己写一个吧。
后来慢慢加功能,加了全局搜索、进程管理、剪贴板历史、书签搜索,又加了语音输入……每次加功能,我都觉得这只是在"把工具做完整"。
直到加了语音指令。
按下 Ctrl+Alt+J,说一句"倒计时 20 分钟",计时器就启动了。
说"记一下明天带雨伞 标签生活",备忘录里就多了一条。
说"关掉 Chrome",进程就被 kill 了。
感觉很酷。但我测试着测试着,有个声音冒出来:这玩意儿背后的逻辑,不就是 Agent 的逻辑吗?
现在程序的处理流程是这样的:
说话 → 语音转文字 → LLM 识别意图 → 执行对应 Tool → 返回结果
这不就是标准的 ReAct 循环?
只不过我现在的 Tool 都是手写死的,LLM 只负责"选哪个 Tool + 提取参数",执行逻辑全是我自己写的 switch-case。
表面上看,这是一个"工具"。
但本质上,它已经有了 Agent 的骨架:用自然语言表达意图,AI 来理解,然后调用工具完成。
差的,只是"工具"还是我定义的,不是 AI 自己找的。
我想了半天,觉得区别就一句话:
工具是你告诉它能做什么,Agent 是它自己知道能做什么。
现在我说"倒计时 20 分钟",它只会触发 timer_start,仅此一个。
但如果是真正的 Agent,我说"提醒我在会议开始前 10 分钟关掉音乐",它应该能自己拆:创建一个闹钟,到时间后自动执行 kill 音乐进程的动作。
我现在做不到这个。
因为所有的 Tool 都是我一个个手写进去的。LLM 的自由度,仅限于"从 26 个选项里选一个"。
这和真正的 Agent 能力,差了很大一截。
测完 26 个语音指令之后,我有个有点尴尬的发现:
有些指令,确实很好用。比如上面说的设置定时器、记备忘录、创建待办,说一句就能搞定,比打开界面操作快多了。
但有些,也真的有点多余。
比如"打开书签"、"锁屏"——这几个,有说话那点功夫,我直接用键盘也就完成了。
为什么会这样?
因为现在这些工具,本质上还是"单步操作"。一句话,一个动作,完事。单步的事情,语音不一定比键盘快。
语音指令真正的价值,应该是处理那些"需要多步协作"的复合任务。而那个,才是 Agent 的领域。
说实话,我不确定 YuAI Tools 要往哪儿走,还没太认真思考,可能有两个方向吧。
方向一,把它改造成一个 Agent。难度很大,虽然有框架可以用,但我没研究过,做起来不会轻松。
方向二,接入现有的 Agent,把 YuAI Tools 变成一个工具层,提供 MCP 接口给 Agent,然后让 Agent 调我的这些接口,完成更复杂的任务。
方向三,把它做成 Agent 上层的调度工具,通过语音控制和可视化的界面降低一些 cli Agent 的使用门槛。或者封装成组合多 Agent 完成复杂任务的工具层,即解决 Token 合理分配的问题,也让这个过程更直观的被看到。
当然,现在想这些还有点早。26 个指令,已经覆盖了我大部分高频场景,目前够用了。
但那个"发现自己在做 Agent"的瞬间,让我觉得——很震惊,很多时候你可能不是在做你以为自己在做的东西,在做的构成中可能就发现或走向了一个新的方向,重要的还是得先开始。
慢慢走,慢慢看吧。
YuAI Tools 下载地址和文档,见 https://yuai.life/yuai-tools
祝好。
非著名程序员,全栈开发工程师,长期专注系统开发与架构设计。
功能待开通!
自2月份开始,我对ChatGPT的精彩表现感到非常着迷,它展现出了真正的智能。随后,我陆续注册了ChatGPT Plus会员,申请了GPT-4 API权限等。起初,我通过简单的数学和逻辑题来测试它的智能水平;后来,我开始将其视为搜索引擎,不仅用于搜寻概念性知识,还用于解决技术问题、技术方案,甚至是公司业务应用。如今,ChatGPT已经逐渐融入了我的工作和生活。 然而,由于日常工作繁忙,我总是根据需要解决的问题,寻找针对性的方案,而没有认真研究过基于ChatGPT的应用现状。因此,我决定花时间了解一下ChatGPT相关的热门开源项目,并将所得到的信息整理和记录在此。 lencx/ChatGPT
shadowsocks 使用的 sockets5 代理,而一般只有浏览器支持,所以使用 shadowsocks 可以实现科学上网,但是其他的应用却仍无法科学上网,所以要想实现全局科学上网需要 Proxifier 支持。 Proxifier介绍 Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。支持 64位系统,支持Xp,Vista,Win7,MAC OS ,支持socks4,socks5,http代理协议,支持TCP,UDP协议,可以指定端口,指定IP,指定域名,指定程序等运行模式,兼容性非常好。有点类
问题 搭建好 svn 之后可以正常拉下库,但是 commit 的时候报以下权限错误。 > $ svn commit -m "test" svn: E170001: Commit failed (details follow): svn: E170001: Authorization failed 解决 问题是因为 svn 权限配置问题。
webcron 源码地址 功能列表 基本任务创建、启动、手动执行、暂停 任务日志 任务执行结果邮件通知 任务分组 任务运行实例控制 缺点 任务只能在单机跑 不能添加用户 评价 安装部署简单,功能页面简洁,适合任务量不多个人或者小型项目组使用。 gocron 源码地址 功能列表 基本任务创建、手动执行、禁止执行、删除 任务依赖 任务分组 超时、重试 可以选择任务执行结果通知不同用户,通知类型包括邮件(并支持模板配置)、slack、webhook。 任务日志 支持分布式,添加执行任务节点,创建任务可指定任务可运行的节点(如果是单例模式,会选择一台执行) 用户管理 登录日志 执行方式支持
我电脑上原本装了Xcode,但是我电脑是128G,用了两年东西越来越多硬盘不够用了,而我本身开发中很少用Xcode所以就把它卸载了,卸载之后发现Xcode占了11G左右的空间。。 卸载Xcode之后执行git,报错如下: > $ git status xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode t