夜雨聆风学习资料网

ARTICLE · 1031295

我用 AI 做了个笔记助手,顺便踩些坑

我用 AI 做了个笔记助手,顺便踩些坑

问题

不知道你有没有这种时刻:脑子里突然闪过一个东西——一个命令、一个报错的解法、一个点子——赶紧找了个地方记下来,当时觉得这事稳了。过几天要用,找不到了。我在想有没有类似这样的工具:随手丢一句话进去,它帮我整理好;想找的时候用大白话问一句,它告诉我「你 7 月 9 号记过,原文在这」,而不是给我编一段。

想法

这个需求拆开是两件事:把一句话整理成结构化笔记;用大白话检索历史笔记。两件事恰好都是 LLM 擅长的,所以干脆自己写一个。

设计

整张图就是项目的全部:一个循环、四个工具、一个笔记目录。

效果

整个东西是个桌面应用,界面上就是一个聊天框,只干两件事:记笔记,查笔记。实际跑起来是这样:

踩坑经历

做下来撞了不少坑,挑三个有意思的展开说。

一,它假装查到了。你问「我之前记过什么」,它张口就答,条理清楚,看着挺对。实际上根本没检索到,答案全是模型自己编的。不知道的东西它也不慌,编得比真的还像。解法是自检门:程序回头查这条回答,出现「据我所知」「根据我的了解」这类凭自己记忆说话的措辞,打回,逼它真去检索;出现「找不到」也不放行,换个关键词再搜一轮,确实没有才准认输。答案还得带上来源文件。这道门反过来也管记笔记,说「记好了」不算数,得看它真调了写盘的工具。

二,它停不下来。另一个极端。查笔记的时候,它勤快得吓人:搜一个关键词,读一个文件,没有;换个关键词,再读一个,还是没有。工具一个接一个调,没有要停的意思。我在屏幕这头看它努力,既感动又着急:兄弟,找不到就承认吧,没人怪你。解法是预算调度。工具调用上限 30 次,硬迭代上限 40 次,到线就注入一句「请直接作答」。这时得同时跳过自检门,不然它会卡在「还想读一个」和「系统让我别读了」的拉扯里出不来。

三,上下文压缩。我们知道聊天记录越长,token 花得越多,超过模型上限直接报错,所以要压缩。我借鉴claude code做了三档压缩:单条消息太长,裁掉这条;最近几轮太长,总结这几轮;整段历史太长,总结整段。按占用比例判定,越满压得越狠。

心得

一,AI 最擅长的不是干活,是让你觉得活干完了。模型本身很强,这点我用得越久越确定,但强不等于好用。接上 API 只是开始,真正花功夫的是控制它:什么时候逼它重来,什么时候不许它再查,上下文满了怎么压。这些兜底和验证,才是 AI 应用在业务里落地要打磨的部分。

二,Agent 框架没多神秘。拆开就是「思考、调工具、看结果、再思考」这个循环,自己写一遍,比看十篇教程都清楚。

三,整份代码没什么黑科技,循环、工具、文件操作、压缩,全是很常规工程。AI 应用,大部分工作还是软件工程本身。

项目开源了:github.com/lvmaizi/easy-note。填上自己的 API key 就能跑。

相关学习资料