乐于分享
好东西不私藏

自己搭 AI 工具箱:25 个小工具,一套架构管

自己搭 AI 工具箱:25 个小工具,一套架构管

很多人以为 AI 只能写个一次性小脚本

很多人跟我聊起 AI,第一反应都是「写个小脚本」——翻译个文档、下个视频,用完就丢。这想法不怪,但容易把路走窄:工具越攒越多,每个各写各的,没有一个统一入口,换台电脑就找不着,跑起来还得记一堆命令。

我攒这套系统的时候,想的不是再写一个小工具,而是先把架构立住——让零散的活能拼到同一个框里。拼进去之后,加功能就变成填一张表,而不是重写一套。

让零散变系统,靠的是一个「统一契约」

真正把这一堆串起来的,不是某个更聪明的模型,而是三件事:一张入职表、一个加载器、一个总管。

最关键是先定死「每个工具长什么样」。我在系统里立了一条规矩:一个工具就是一个文件夹,里面必须有一份 tool.yaml 写明「它是干嘛的、要什么参数、触发词是什么」,再加一个 execute() 函数干活。比如翻译工具,tool.yaml 里写清关键词「翻译 / 文档 / Excel」,要一个文件、一个目标语言;底下 translate.py 只管实现 execute()。所有工具都按这张表来,长得一模一样。

再说加载器,它负责自动点名。系统一启动扫一遍工具目录,看到有 tool.yaml 的文件夹,就自动把它当成一个「员工」注册进系统——加新工具不用改主程序一行代码,建个文件夹、填好表就行。我现在工具箱里已经装了二十多个这种员工。

最后是总管,负责派活和隔离。你打字说「帮我把这份合同翻成英文」,意图匹配器按关键词打分,挑最像的那个员工;真跑的时候,每个工具在独立子进程里执行,一个崩了不影响别的。底层我再统一封了一个 LLM 客户端,不管接的是哪家的兼容接口,工具只管调一个 call_llm,不用关心协议细节。下视频、做翻译这些脏活,GitHub 上早有成熟开源库,我直接当零件接进来,不用自己造轮子。

差的从来不是模型,是架构

这事最深的感受:大家说「AI 只能做小工具」,其实卡住的从来不是模型能力,是没人把架构搭起来。一个统一的脚本规范,比多接十个模型都管用——它让加功能变成「装插件」,而不是「重写一套」。

GitHub 上能借的轮子多的是,真正费脑子的,是把业务想清楚、把它们串成一条流水线。我现在这套东西,难点不在算法,在那一开始定下的契约和加载逻辑——那才是把零散变系统的关键。你如果也攒了一堆零散脚本,不妨先定一个自己的契约,再让加载器替你点名:攒着攒着,就是一套系统了。

觉得有用就点个关注,攒着慢慢看。