MoreRSS

site iconSXCW | 试行错误修改

反复探索,不断试错。重在实践和落地。希望能和你一起找到「改变」的突破口!同行的人比目的地更重要。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

SXCW | 试行错误的 RSS 预览

假期有了,目的地还没想好:我做了个工具,把机票价格摊在地图上|NL164

2026-08-23 08:11:27

买过机票的人,都会遇到同一个开场白。

打开任何订票 App,屏幕先问一句:你想去哪?搜索框空着,光标一闪一闪,等你输入一个城市名。页面底下还有「热门目的地」,三亚、成都、北京,整整齐齐。它默认你心里已经有答案了。

可是我的情况常常是这样的:假期是有的,预算也是有限,就缺一个「想去的地方」。

前段时间,我和夫人对上了几天空闲,想出去走走。我们翻翻过去出行的花销,机票每次都占到一大半。飞哪,经常需要考虑钱的问题。哪里有合适的机票,我们就去哪。

于是我们打开订票 App。它先让我们选目的地。行,那选一个,广州出发,看价格,退出页面。换一个城市,再看价格,再退出。来回几个回合,最后瘫在沙发上发现:便宜的票里有凌晨的红眼航班,有不管行李的廉价航司,看完票面价还得再加上机建燃油,加完,那个价格已经不太美丽。几轮下来累得发晕,手机一放:不去了。

不知道你有没有同感,选机票特别累,远超做攻略。累到什么都不想干了。

我的问题其实很单一:我只有时间,我只要便宜。可这些 App 都缺少对目的地的横向比较。我想,是否能像一张地图一样,铺开,告诉我,去地图上不同点,它们的机票差距有多大。

现在有 AI,自己动手丰衣足食。花了一晚上把点子做成设计:输入出发地和日期,它把全国的机票都搜一遍,按总价排成一列,铺成一张地图。哪里便宜,一眼看见。

写出来、跑通、打包,叫「飞哪里」。

An image to describe post

先有日期,再有目的地

飞哪里 FlyWhere,头一眼就跟所有机票 App 不一样:「目的地」输入框,默认是「全国探索」。你只需确定下来「从哪走」、「出发日期」、「回程日期」、「几个人」。

直接搜索低价目的地,而且是按照自己的要求来选。你不用再被特价机票哄着,去一个个点开查看。

飞哪里 FlyWhere 查的不止一座城,是全国几十个主要城市的去程和回程都查一遍,再两两搭配成真正能买的往返。你会得到一个价格从高到低的机票列表,而且是每个不同目的地的,按「价格」「时长」「直飞优先」排序,会自动选取前 10 个。

An image to describe post

我最喜欢的,可以切换地图模式,直观看到,从所在的城市开始,向四面八方伸出去几十条线,每个终点钉着一个数字,写着这座城市的往返总价。

An image to describe post

我第一次跑出这个画面的感觉,还挺奇妙的:我不用费劲巴拉找目的地,所有的目的地都把价格举在手里,排着队给我看。贵的、便宜的,一眼就看出来了,不用来回切换。

这里还做了一个小细节,为了方便决策,地图上的城市标记,会显示目的地当前的天气。只要查询时间在半个月之内,天气就会做个简单预报。

An image to describe post

还有一个细节,我们平时出发,肯定不是什么出发时间都会接受,比如:不想要三更半夜的。那很方便,我们只要设置好出发时间范围,比如:8:00-12:00,就能得到这个范围的航班,少了很多无意义的打扰。

An image to describe post

把决策信息摆在一起,能更方便决策。一口气能看到多个目的地,快速了解距离、位置、天气、价格,非常省事,同时能很好对比。

把价格摊开,不和「699 起」玩猜谜

以为这就完了?还有它那份「坦白」。

我被机票 App 培养出来的一个习惯:看到「699 起」,先自动加上机建、燃油的预判,心里再算一遍。很多 App 的玩法,是先把一个很低很低的数字放出来,等你点进去了,价格一层一层往上涨。

飞哪里,不干这种事。它把每一笔拆得清清楚楚:票面、费用、票面加费用之后的每个总价。连费用怎么估,都写在页面上:800 公里以内按 90 元估,以上按 120 元估。接口拿到准确的,就用准确的。你要改人数,它在本地重算一遍就出总价,不重新查一次航班。

An image to describe post

买机票花的是真金白银,每次被价格忽悠进去,都浪费我的时间。

AI 给你点参谋

现在 AI 这么能干,让它帮你选不行吗?

还真不行,首先需要有数据。刚有想法时,第一要务就是查清楚有什么机票数据能被获取。还好发现了飞猪 CLI,那太好了。

先通过正常的查机票接口,让 AI 替我们把机票数据查出来。AI 通过 CLI 几秒就全都查出来,换作以前,至少需要我操作 20 次。

查出来多个航班之后,你可以通过筛选条件快速选择。如果还不好选择,你可以点开「AI建议」。(需要你配置上你的 AI Key,或者更方便,你直接授权你本地的 CLI,类似:Claude、Codex、Pi、OpenCode、Kimi Code 等等)

An image to describe post

它只能在查出来的航班里,挑三个角度给你讲:优先考虑、最省钱、少折腾,每个下面配一句人话为什么这么建议,像「这家最省,但要转机五个小时」。

An image to describe post

价格排序永远是它扫出来的真实顺序,AI 只负责把取舍讲给你听,减轻你的选择困难。

去过的地方,排后面

飞哪里,还有一个我喜欢的细节。如果之前也飞过一些地方,不想重复看到相同的目的地,这时,你可以标记「已去过」。

点一下,城市在地图上会淡一层,排队时自动往后退。下次搜索,它不会再热情地冲到你面前。你的注意力可以放在全新的探索上。

之前那些痛苦的查机票经历,让我一心只想让选机票变得更简单。

它不替哪座城市打分,它就是你自己那份私人的旅行档案。它记得你。

数据只留在本地

飞哪里,不住在云端:查询记录储存在这台电脑里,条件、天气、当时的筛选都保存下来,想回头翻出来对比,直接打开就是,用不着重复请求网络。不过你如果隔了太久时间,再查价格,还是建议重新查询,因为飞机票价会一直变化。

An image to describe post

同时,你自己申请的飞猪 Key 和 AI Key,也都是保存在你本地,不会被上传,可以放心使用。

为了更方便你使用,除了 GitHub 地址,我还打包了一个 macOS 的安装包,这样你可以直接安装,不用在意飞猪 CLI 的安装。而网页版,我也给飞猪 CLI 做了一个快捷安装,你点击即可。

飞哪里不替你买机票

飞哪里离一站式购票还差得远。航班信息它查得准,但登录、占座、支付这些,它全都不碰。你看好哪座城市、哪个便宜,决定好了,回你常用的 App 去买就行,最终价格以订单页为准。

这其实是我故意的。它只回答我真正被困扰的问题,「这个假期去哪、航班值不值」,不掺和订票那些小花活。查归查,买归买,分得清楚。

希望帮到更多人

看完你应该也体会到,它可以用一个词形容:方便。一开始就是为了解决我自己的痛苦,如果你也有类似困扰,希望这个工具,能替你把答案在地图上点亮起来。

价格、查询、记录,全都明明白白摆着;AI 不干预,数据不离家。

现在它开源了,GitHub 地址:https://github.com/AyingAI/flywhere。有 AI 的朋友,你直接从 GitHub 获取更方便。

为了方便不懂技术的用户,我也打包了一个 Mac 应用,可以直接安装,往应用程序一拖就好。网盘地址:https://pan.baidu.com/s/1RArMlUpwMc77ISb0sQnSMw?pwd=wutb

查的是真实航班,需要飞猪的能力,所以要一个小密钥:去飞猪 AI 开放平台免费领一个,填进去就行。

An image to describe post

下一次出发之前,我还会继续打开它,买机票不会再痛苦。

希望你有出行的时候,想起「飞哪里」:根据票价,哪里便宜就飞哪里。

不需要最强的 Agent,Pi 够轻量、够顺手|NL163

2026-08-02 12:00:15

最近总有人问我,哪个 AI 工具最强。

Claude Code?Codex?还是 Pi?

说实话,这个问题我答不上来。「最强」这个东西,我没法验证。我能验证的只有一件事:把它交给我手里那件具体的活,它能不能跑完。

我用过了不少 Agent 工具。有些确实很强,功能完整,适合复杂的开发。但用得越久我越觉得,对大多数人来说,真正的门槛从来不是模型够不够强,而是能不能把一个具体的工作交出去,让它稳定地跑完。

这篇想聊聊我一直在用的 Pi,和我拿它做的那些事。不一定适合所有人,但如果你也想让 AI 干点真实工作,也许能少走点弯路。

An image to describe post

它先把流程跑起来

我最初接触 Pi,是因为 Claude Code 接第三方,运行起来很慢,一个任务经常等很久。

Pi 足够轻量,速度快,让我想要尝试它。

平时很多工作,还无需写复杂代码,反而我需要输出很多调研、设计、文档。同样的 API,跑起来 Pi 总是完成的又好又快。

把零散的资料整理成调研报告,把产品文档写进飞书,读一张表格然后整理出结论,把调研过程沉淀进自己的知识库。这些活有个共同点:一次问答搞不定,得靠一串重复动作。查,读,归档,再查,再整理。我经常需要编排成工作流,来将工作自动化。

Pi 的价值就在这里:它能把这条链路跑起来,还能让每一步的产出落在文件里,落进我的知识库。调研不再是聊完就散的一段对话,而是可以继续追问、继续积累的东西。

An image to describe post

编程一样干得出色

最早是用 codex,很好用,但不够快,烧 token 厉害,很容易就触发 5 小时限制。

于是我将 codex 登录在 Pi 上,那会是 gpt-5.5,同样的任务,Pi 不仅速度快了,而且 token 消耗只需要原来的 1/5 不到,挺惊讶的。

并且由于少了复杂 harness 的限制,在处理非编码或者轻量开发时,效果往往更好。因为现在的模型的能力越来越强,harness 既是一种脚手架,同时也是一种限制。所以,接触限制,反而能带来不错的效果。

前阵子 gpt-5.6 sol 出来之后,我在打磨 AgentBoard,让 Pi 检查整个项目的使用体验,再照着改。它帮我把那个项目打磨一下,非常流畅,无论是提出改进建议,还是改进代码,做得都很出色。

An image to describe post

轻量化底座

Pi 是一个轻量底座,让你手里已有的模型能干上活。模型就是 AI 的大脑,你订了哪个,就用哪个,直接登录用,不用再买一套新的。

它的 harness 很薄,上下文很干净,给模型留出更多智能去处理问题。很多工具会在后台悄悄塞一大套预设规则,模型每次干活,都得背着这套包袱。Pi 框架减到最薄,让模型直接干活。所以拿一个顶级模型去跑,速度很快,效果往往更好。智力很高,约束很少,反而能发挥出更强的能力。

它默认的能力也不多,就读写文件、编辑、执行命令这几样基础活。派小助手、先做计划再动手,官方明说了不内置。要用,你自己加。这个取舍我很喜欢:它把「哪些能力值得进工作流」的决定权,留给了你,由你来定。

模型自由还有一层实际的好处:省钱。我平时会把第三方 API 接在 Pi 上,token 更省,省钱就是实惠。同一个壳,模型随你换,哪个划算用哪个。

很多人可能没听过 Pi,但你八成听过 OpenClaw。OpenClaw 在早期演进中,底层就长在 Pi 这个内核上。它俩的关系,有点像引擎和整车。这个故事倒不代表 Pi 更强,但说明一件事:一个轻量、可组合的内核,能成为不同产品探索的起点。

An image to describe post

一样能有 Web UI

终端,使用命令行,确实会劝退不少人。

可以从 Pi Web 开始。这是 B 站 UP主「第四种黑猩猩李超」(GitHub 上是 agegr)开源维护的项目,地址在 github.com/agegr/pi-web 。他给 Pi 套了一个本地网页界面,会话、模型、技能都看得见摸得着,还能浏览项目文件。无需你记住命令,可以先把它当一个本地 AI 工作台来用。

我用了非常多,里面还内置了 skill 市场,比如我之前常用的 hyperframe 生成视频,就是通过在 Pi 上跑的。使用体验很好,很推荐。

终端 Otty

就在使用 Pi 过程中,我还经常使用终端,发现了一个让我用得舒服的小工具 Otty(https://otty.sh)。

它是一个更适合跑 Agent 的 macOS 终端。标签页、分屏、任务状态、通知、会话恢复,都做得比系统自带终端友好。经常同时开好几个终端任务的人,不用再对着一堆散乱窗口发懵,也更容易知道哪个任务在跑、哪个任务在等你处理。

它算不上必需品。但当你开始频繁用 Pi、Claude Code 这类终端 Agent 之后,一个好终端会让体验好很多。

别急着找最强 Agent

如果你要做复杂的开发、长周期的协作,功能完整的工具确实更省心。但如果你只是想跑通一件明确的小事,轻一点的反而更自然。

对普通人来说,最值得做的第一步,就是挑一件你本来就会重复做的事。不用先学概念,也不用配一套复杂自动化。把一份调研整理成报告,把固定结构的内容写进飞书,从表格里提取信息形成摘要,把零散资料沉淀进自己的知识库,都行。

An image to describe post

先让 Agent 真的替你完成一次工作。

然后再判断,它值不值得进入你的日常。

配图不必把话说满:我开源了一个思维笔触的 Skill|NL162

2026-07-25 11:25:52

前段时间,我在给一篇文章配图的时候,遇到一个说大不大说小不小的烦恼。

AI 现在生成的图,越来越精美了。但就是有一种说不清的「不对」。

反倒是在「橙线插画」中,看到喜欢的风格,原地址是https://github.com/orange2ai/orange-line-illustration。喜欢那种人与物巨大的反差感,同时也喜欢这种线条感。

回看过往的一些插图。我会感觉表达太满了。

一说哲学,就开始画星空、碎裂的人脸、光柱从云层射下来。一说商业,就一堆 3D 图标、渐变色、等距视角的办公楼。一说未来感,就是霓虹灯、赛博城市、穿着披风的人站在天台。

太具体,反而让图少了一些品味的韵味。

想起网上有一些马克笔画出的粗线条手绘,我喜欢那种画风。一张白纸,几笔黑线,一点点就能让你停下来多看两秒的东西。

折腾自己想要的画风

画面是白的。线条是黑的。留白多一点。意思不要说满。小时看过一些哲学小漫画,挺喜欢的,就是看一眼能懂,再一看还能多想一点。

An image to describe post

这套风格,我给起名叫 Thought Strokes,你可以理解成「思想的笔触」。不是把文本翻译成图。是用几笔线条,把文本背后那个看不见的结构画出来。在 Pinterest 上,找了几张马克笔粗线条画风的图片,都丢给 Codex 去消化,转成画风提示语。

规则只有几条。

第一,16:9 宽幅。 我考虑公众号排版用途,竖图太占地方,方图又差点意思。宽幅刚好。

第二,黑线白底。 不搞复杂的颜色过渡。不搞渐变。就是纯白背景上,用黑色马克笔的笔触去画。

第三,画里永远有一个小孩。

这个小孩我管他叫「小问号」。圆圆的头,小小的点眼睛,穿一件有点大的外套,手像小手套一样。他不说话,但他在画里做各种各样的事:提水桶、盖房子、浇水、站在巨大的数据块面前发呆。

为什么是小孩?因为小孩身上有一种天然的尺度感。

一个成年人站在巨大的东西前面,你可能会觉得荒诞或者滑稽。但一个小孩站在那里,整个画面就变成了一种提问。小孩让世界重新变大了。他提醒我,在那些我习以为常的概念里,还有一些我没有看清的东西。

第四,只能用一种颜色。

暖橙偏珊瑚色,色号是 #FF7A45。这个颜色在画面里能占多少?不能超过 8%。

而且它不是随便用的。你不能拿它去涂小孩的衣服,不能让画面变热闹。它只能填在整张图最关键的那个东西上:一把钥匙、一段水流、一小块泥土、一点火、一格亮起来的数据。

颜色不再是装饰,它可以是意义的指针。

真正重要的不是画风

刚开始折腾的时候,我以为把上面这些规则定死,效果就会好。

后来发现,不是。

画风只是第一层。真正决定一张图有没有力量的,是它有没有读懂句子里的「关系」。

什么意思?

比如这句话:「比较是偷走一切欢乐的窃贼。草在你浇灌的地方才会更绿。」

如果只看字面,AI 可能会画一个影子偷东西,或者画一个人浇草地。看起来也许还行,但总觉得少了点什么。

因为这句话的重点不是「偷」这个动作。而是两片草地。

一片是你的。一片是远处的、看起来更绿的。你的水本来应该浇在自己脚下。却被远处那块草地牵走了。那个被牵走的水流,才是「被偷走的东西」。

所以画面里必须有两块草坪。必须有水的方向。水从自己的草坪流向远方。小孩站在自己的那一块上,水壶歪了,水流向了另一边。橙色的水流就是被偷走的注意力。

这种「方向」,就是句子里的关系。

An image to describe post

我又试了另一句话:「我们每个人都在建造自己的房子。有时候你以为自己在为学校、为公司、为团队而建,但你始终是在建造自己的房子。」

字面上看,关键元素是房子和建造。但如果只画小孩在建房子,意思不够。

这句话真正的结构是一个反转:你以为在给别人建,最后发现是给自己住的。

所以画面里必须有这个反转。小孩在外面砌砖,房子的剖面切开,里面已经放着他的床、他的鞋、他的一件外套。钥匙最后回到他手里。

An image to describe post

读者看第一眼,是小孩在建房子。再看一眼,看到了剖面里的床和鞋。然后忽然意识到:哦,他一直在建他自己的生活。

这种「意识到的过程」,是 AI 配图最难做出来的东西。但也是最值得做的。

它现在最擅长画什么

我让 Thought Strokes 试了很多句子,发现有几类关系它画得特别对。

反转。 你以为在交差,实际在造自己的生活。你以为在给别人打工,最后自己是那个房东。需要一张图,把「你以为的」和「实际是的」同时画出来。

比较。 句子里有两样东西在暗暗较劲。一块在脚下的草地,一块远处的更绿的草地。水只有一壶,它往哪边流?需要看到选择。

时间跨度。 有些句子讲的是「五年」。「大多数人都想要那棵九十英尺高的竹子,却不想经历那五年的过程。」字面上是竹子和人,实际上是一件事:时间。看不见的五年,和最后一口气冲出来的六周。

画这句话的时候,我让画面里加上五个时间标记。地上几乎没变化,地下每一年都不一样。最后,竹子在一端突然长高。表面安静,地下很忙。

看不见的成长。 根在土壤下面蔓延。习惯在你看不到的地方建立。这些句子需要一个剖面,把隐藏的东西切开给你看。

误认。 你以为那是一道门,走近发现是镜子。你以为自己在跑向目标,其实在绕圈。需要有「你以为的」和「实际是的」两个层。

如果你不确定一句话里藏着什么关系,一个最简单的办法是问自己:这句话让我停下来想了什么?那个让你停下来的东西,就是图要画的东西。

适合用在什么地方

我觉得几类内容特别适合 Thought Strokes。

文章的配图。很多观点本身是抽象的:「工具反过来塑造了我们」「自由太轻也会让人窒息」「比较偷走了注意力」。摄影图很难适配,3D 图又显得轻飘飘。线条插图刚好,它不会抢正文,但会给文章留一个你能呼吸的气口。

公众号封面。16:9 宽幅、白底、一点色彩,放在文章开头,读者在点进来之前先看到这张图,会隐约觉得这篇文章有点不一样。

读书笔记和短句。很多书里有些话,适合单独拿出来想一想。小孩和巨大物件的画面,刚好能把这些话变成小寓言。

An image to describe post

它还在长

这个 skill 不是什么完成品。更像一个正在长根的东西。

我还有很多想优化的地方:小孩在不同画面里的样貌一致性、复杂句子的理解深度、颜色的克制程度偶尔还是会跑。每次重画,都像在跟一个小朋友说:不对,不是这样,你再看一遍这句话,想一下它到底在说什么。

测试了,目前使用 Seedream 5.0 Pro 能生成出来,但整个笔触的质感更好的,还需要使用 GPT image 2.0,同时在文本理解上,也会更好一些。

我把 Thought Strokes 开源出来,是因为一个风格系统真正有意思的地方,是你把它交给别人之后,它还能不能长出你没见过的画面。

如果你写文章、做笔记、做产品思考,或者只是喜欢把抽象句子变成图,欢迎试试。

它不一定每次都画对。很多时候要调,要重来。但当它画对了的时候,会有一种很轻的感觉:一句本来悬在空中的话,忽然落到了纸上。

怎么用

如果你用的是支持 Agent Skill 的工具,可以把这个 skill 放进去直接用。

仓库地址:https://github.com/AyingAI/thought-strokes

安装之后,可以直接这样说:

用 Thought Strokes 风格,为这句话配一张 16:9 插图:你占有的东西,最终占有了你。

更好的方式是给它一小段文本,而不是只给一个关键词。比如:

用 Thought Strokes 风格,为下面这段话生成一张 16:9 插图。先理解句子背后的关系,再设计画面:我们生活在一个没有摩擦力的时代。信息流、算法、消费,一切都被打磨得无比丝滑。我们像神明一样在世界的表面漂浮,却再也无法把双脚插进坚实的泥土里。

它会先分析这句话里藏着什么关系,再动手画。不是抓几个关键词拼一张图。

如果你感兴趣,也欢迎试试。

AI时代最大的陷阱:你把每件事都当成了考试|NL161

2026-07-15 07:35:01

前几天,遇到一本《Chop Wood Carry Water》的小书, 没有中文版,我让 Hermes 将全书翻译,没想到翻译效果很好,转成 epub,放在微信读书里阅读。

此书虽小,但通过短短的故事,却有不少启发哲思。读到下面这个片段,反复读了几遍。

一个叫约翰的美国男孩,跑去日本学武士弓箭。他从小就是那种「要赢」的人。体育、学业,一路靠证明自己闯过来的。到了武士社区,他还是老样子:劈柴要比别人快,挑水要比别人多。甚至训练的时候,也确保自己完成得比别人利索。

有一天,他把水桶装得特别满,快步往会馆走。脚被树根绊住,整个人摔了出去,浑身湿透。

师父明目睹了全过程。他把约翰拉起来,平静地问了一句:

「是尽量挑最多的,还是只比其他人多?」

约翰脸红了。然后师父说了一段话,我印象最深:

你一直在阻碍自己的潜能,因为你把每件事都看作一场考验。秘诀在于明白:没有什么是一场考验。一切都只是学习和成长的机会。

如果你把某件事看作一场考验,你只会专注于通过考验。而不是通过这次经历,最大化自己的成长。

就连学校里的考试,也不是考验。没有什么是一场考验,那只是幻觉。记住,你在建造自己的房子。

An image to describe post

你在测试 AI,还是在建造自己?

你想想看,你是怎么用 AI 的。

打开一个新模型,聊两句,心里打分:这个不行,那个还行。

看到一个 prompt 技巧,复制粘贴试一次。效果好,收藏。效果不好,「这玩意儿没用」。

看到别人用 AI 做了个什么东西,第一反应是:我能不能也做一个?

你有没有发现,你一直在打分。给模型打分,给技巧打分,给自己打分。

但你打的这些分,最后去了哪里?

「劈柴挑水」到底是什么意思?这本书用三个故事把它讲透了。每一个,都跟你怎么用 AI 有关。

第一件事:在小事上忠心

书里讲了一个真实的故事。

瑞典有个男孩叫英格瓦。十七岁之前,他在一个小镇上挨家挨户地卖火柴,一根一根地卖。别的男孩叫他去玩,他骑着三个小时的自行车去进货。就这样卖了四五年。

后来他十七岁了,决定给自己的公司起个名字。

你可能听说过:宜家。市值超过一千五百亿美元。

明对约翰说:「人人都想创立下一个宜家,却没几个人愿意忠心耿耿地一根一根上门卖火柴。人人都想成为武士,却没几个人愿意老老实实地劈柴挑水。」

这句话放在AI语境里,翻译过来就是:人人都想成为AI高手,却没几个人愿意每天打开它,做一件小事。

不是找到那个「终极 prompt」就赢了。每天用,每天试,哪怕只是让它帮你改一段话、翻一页纸、总结一篇东西。

你正在长出一种东西,叫「我知道怎么跟它协作」。这个能力,任何 prompt 合集都给不了你。

第二件事:你正在建造自己的房子

书里另一个故事。

一个叫幸太的日本工匠,盖了一辈子房子,每一座都倾尽全力。退休前,老板请他再盖最后一座。他心不甘情不愿地答应了。但这最后一座,他心不在焉。材料挑便宜的,细节能省则省。

房子盖完了。老板把钥匙递给他:「这房子是你的。这是送你的退休礼物。」

幸太的心沉了下去。他以为在给别人盖房子。从头到尾,他在盖自己的。

An image to describe post

明说:「关于每一天,唯一真正重要的是,你在这个过程中成为了什么样的人。我们每个人,都在建造自己的房子。有时候你以为自己在为学校、为家庭、为公司而建,但你始终是在建造自己的房子。」

回到 AI 使用上。你每一句对话、每一个尝试、每一次放弃、每一次坚持,都在建造一样东西:你跟一个非人类智能协作的能力。

你有没有认真想过,你正在盖的这座房子长什么样?

是急于求成、每面墙都偷工减料的?还是日复一日、一砖一瓦垒起来的?

答案在你每天的劈柴挑水里。

第三件事:竹子五年扎根,六周冲天

书里还有一个关于竹子的故事。

竹农种下竹种,每天浇水。三个月后,什么也没有。一年后,什么也没有。三年后,还是什么也没有。五年,地表之上什么都看不到。

但在地表之下,一个庞大密集的根系正在土壤中四处蔓延。第五年,竹子会在短短六周内,猛地蹿到九十多英尺高。

An image to describe post

明说:「大多数人都想要那棵九十英尺高的竹子,却不想经历那五年的过程。但劈柴挑水,是获得持续卓越的入场券。很多年里,你可能感觉什么也没有发生,但你必须相信这个过程。」

你用了一个月的AI,回头看看,好像什么也没变。三个月了,还是那样。半年了,好像只是快了一点。

你可能看不到。但每次你用它想清楚一个问题、改好一段文字、弄明白一个概念,你的根系都在往下扎。这些动作没有「产出」。但在某一天,你突然发现自己不再被新工具牵着走了。你知道想要什么。你知道怎么让它帮到你。

那是五年看不见的根系。

Hermes 翻译这本书的时候,做了一件我没交代的事

这本书的中文版,是 Hermes 翻译的。

当时我就是丢了一本英文 PDF 过去,说「翻成中文」。

如果你问我期待什么,我大概期待它「通顺、没有错译」,然后我再改改。就是那种经典的「测试」心态:你给我一个版本,我来判分。

但 Hermes 接下来做的事,恰好演示了「没有考验」是什么状态。

它没有直接把全书塞进去翻译。它先把108页拆成了29个章节。它自己判断:一次翻太多,翻译质量会下降。就像人翻久了会累、会忘掉前面的人名一样。

然后它做了第二件我没交代的事。它先自己翻了第一章,建立一个「风格锚」:人名怎么翻、核心概念怎么统一、语感是什么节奏。然后每一章翻译都参照这第一章。一根火柴一根火柴地卖。

翻译的时候,有一个任务显示「超时」。看起来像失败了。换成人,可能就判「失败」了。但Hermes 没有这样判定。它去检查了实际文件:文件在,内容完整。只是那个翻译任务太认真,处理完后、汇报之前,撞上了时间限制。

排版的时候,改了三个版本。第一版所有段落消失了。换成人,第一版可能就弃了。但它看了问题在哪,改了。第二版首段缩进有 bug,再来。第三版修好。

整个过程里,没有一次「我是不是不行」,没有一次「这任务是不是超出我能力了」。

就是:出问题了,修好,继续。

我做的,让它翻成中文。它做的,是在建造一本书。

最难的不是学 AI,是停下来不考试

书里还有一个细节。

约翰受伤了,肩膀撕裂,六到八周不能训练。他慌得要命,觉得训练计划全毁了。

明问他:「如果你所做的一切都被拿走了,你会是谁?」

约翰想了很久。他没有答案。

这件事放在你身上:如果你不能再用 AI 了,如果你所有用 AI 产出的东西都消失了,你是谁?

如果你的答案是「那我什么都不是了」,那你就把价值绑错了地方。

而这本书说的是,你的价值是一个常量。它不因为你今天用AI做出惊艳的东西而上升,也不因为你试了半天什么都没出来而下降。

「你的价值来自你是谁,不是你做了什么。」

An image to describe post

在 AI 时代,你得格外用力地记住这句话。因为AI让「做了什么」变得太快了。十分钟生成一篇东西,一小时做一个原型。产出暴涨,但你的价值并没有跟着涨。它本来就在那儿。

无需用考试来证明它。用建造来尊重它。

换一个问题

所以,下一次你打开 AI 的时候,不要问「它能做什么」。

问问自己:我在建造什么?

是我的理解力?是我的判断力?是我跟一个非人类智能协作的默契?是我越来越清楚自己想要什么、不想要什么?

还是我只是在看,这次能考多少分。

这本书我已经翻译好了,EPUB 和 HTML 精排版都有。108页,一两个小时能翻完。感兴趣的话,第五章和这三个故事,你可以多看几遍。

我放网盘,有需要可自行下载:

👉 https://pan.baidu.com/s/11ahIJy75T_tJfMjNniDcMA?pwd=xpba

知识库易吃灰,Hermes 接管后,三班倒不断深挖研究|NL160

2026-07-11 10:21:09

平时收藏夹的文件夹有多少条?

我猜至少几十条。文章、截图、聊天记录、待办事项。收藏的那一刻觉得「这个有用,以后看」。然后呢?

再也没有打开过。

收藏这个动作本身给了大脑一个「我已经处理了」的假信号。东西进了收藏夹,就像快递到了菜鸟驿站。你知道它在,但你不会去取。

这不是你的问题。是人的问题。

人的记忆力不适合维护一个不断增长的信息库。我们擅长的是判断:什么东西重要、什么方向值得深挖、什么结论可能有问题。但我们不擅长另一面:这个东西上次确认是什么时候、那个事实有没有被新的信息推翻、这些碎片之间有什么关联。

两个月前,我开始让 AI 接手维护的部分。

An image to describe post

第一版:一天 59 页

六月初,我想系统研究 Agent 基础设施这个方向。

它太散了。今天一个沙盒产品融资,明天一个安全漏洞爆出来,后天一个新的协议标准发布。信息到处飞,不成体系。我需要一个东西帮我记住、整理、串联这些碎片。

Karpathy 写过一篇短文,提了一个概念:用大语言模型维护一个不断生长的 Markdown 知识库。跟 RAG 那种每次从零搜索的模式不同,这是「编译一次,持续积累」。就像写代码时积累的工具库,不需要每次重新 Google。

想法很好,但原文只有骨架。我让 AI 按这个骨架搭了一个初版。

第一轮跑下来的结果让我有点意外。不到一天,AI 自己建了 59 页,覆盖了 12 层 Agent 基础设施,从信息搜索到代码沙盒到安全权限到可观测性,全部串了起来。

但问题也很明显。这些页面一旦写上去,就永远停在那里。一个两个月前确认的事实和一个昨天确认的事实平权。新旧矛盾靠加注释并存,读的人得自己判断。

而且每天三轮自动研究做完后,下一轮完全不知道上一轮发现了什么。信息在增长,但洞察没有堆叠,在原地打转。

An image to describe post

一篇文章,三个答案

刚好看到一篇文章,作者把 Karpathy 的 Wiki 模式在生产环境跑了上千次会话,总结了一堆踩坑经验。三个点直击要害。

知识会过时。一个事实越久没被确认,就应该自动降低权重。不删,降级。就像你不会把去年的一篇竞品分析当成今天的决策依据。

新信息应该取代旧信息,不要并存。当新来源比旧来源更权威、更新时,不应该只是在下面加一行「注:有新发现」,应该直接标记旧页面为「已被取代」。用户可以回看历史,但当前查询不应该把过时信息平等地排在前面。

研究工作本身应该被摄入知识库。每一次研究结束,不只写一篇日志,而是提取出「这轮发现了什么、挑战了哪些已有认知、留下了什么问题」。下一轮启动时先读这个,踩着上一轮的脚印往前走。

这三条看起来简单,但做到全靠 AI。没人有耐心手动维护一个 265 页知识库的置信度衰减和取代关系。

An image to describe post

我们把这三个想法落地成了具体机制。每个页面多了一个最后确认日期,超过 30 天没被新来源印证就自动降级。新旧信息矛盾时,旧页面标记为「已被取代」,保留但不参与主查询。每天三轮研究结束,AI 写一份结晶摘要,下一轮启动前先读最近三天的结晶,知道自己在哪、踩着什么往前走。

An image to describe post

然后就出问题了

优化做完后,每天的研究任务开始频繁挂掉。

根因不在代码,在物理限制。知识库膨胀到 100 多页后,每次任务启动要读的上下文太多,连接直接断掉。

解决思路很反直觉:不简化任务,把不擅长的事分出去。

每次任务启动,先让一个更轻量的 AI 去读所有文件,返回一份紧凑摘要。主 AI 拿到摘要后,不需要看到那些文件的原文本。它需要的只是「知识库里有什么、接下来要研究什么、最近发现了什么」这几个关键信息。上下文大幅压缩后,再也没断过。

同时我们把操作规范文件从接近一本书的体量压到了一篇文章的长度。砍掉的不是内容,是冗余。模板移到引用文件夹,安装指南移到附录,重复的约束说明合并。核心指令变得更干净了。

An image to describe post

现在的样子

大概 20 天:

265 页。152 个实体,73 个概念,39 个对比分析。34 篇结晶,每天三轮,三班倒,从未断档。全部页面都有确认日期。63% 高置信度,35% 中,1% 低。分布健康,不是所有东西都装成「确定」。所有页面都在 30 天内被确认过,没有知识腐烂。

An image to describe post

更重要的是,它改变了我的工作方式。

以前想了解「Agent 可观测性有什么产品、谁在融资、小团队能切入什么方向」,要开一堆网页、翻几篇博客、自己拼凑。现在问一句,知识库里有 7 个平台的完整对比矩阵、融资数据、三大阵营判断,全部带日期带来源。

以前每周看行业新闻是零散的、即时的、看完就忘的。现在每天三轮研究自动把新信息摄入知识库,有冲突就标记,有过时就降级,有强化就更新。知识在积累,不是在刷新。

然后我注意到一件事

这篇文章本来写到这里就该结束了。

除了 Hermes 帮我搞研究的知识库,此前也交给它经营自己的知识库。

An image to describe post

它的知识库规模小得多:29 页。不是研究什么行业趋势,是研究我。

每次跟我们聊完天,它会自己翻聊天记录,看看有没有新的想法值得记下来。如果发现了一个新概念,比如我随口说的「人总是走最小阻力路径」,它就会建一个页面,写清楚这是什么意思、跟哪些其他概念有关联、哪些例子可以验证。

它还会定期翻阅已有的页面,看看有没有新的案例可以补进去。如果有东西放在待办队列里超过一周还没处理,它会强制自己要么建页、要么关掉。

然后写一条日志,告诉我它做了什么。

我从来没要求它做这件事。

它只是在某个时间点发现:那些聊完就忘的洞察,那些当时觉得「有意思」但没人记录的想法,需要一个地方固定下来。它自己建了一个系统,自己跑。

这个知识库现在有 29 页概念页。里面有「最小阻力路径」:社会系统引导个体的默认路径,走别的路需要更多意识和对抗。有「固化判断力衰减」:编码的判断力随环境进步从资产变负债。有「品味稀缺性」:当执行成本趋零,「知道该做什么」成为真正的稀缺资源。

这些大部分来自我们聊天时自然出现的洞察。它自己判断「这个值得记住」,自己建页,自己维护。

这跟那 265 页的 Agent 知识库是同一种逻辑。AI 负责维护,人负责判断。只是这次,方向是向内的。

回到那个收藏夹

写到这里,我想起开头问的那个问题。

你的微信收藏夹里有多少条?那些被你收藏的文章、截图、灵感,还在吗?

我们焦虑:「记住了但从来不用」。

AI 知识库解决的不是记忆问题。是维护问题。是那个收藏夹里永远不会发生的事:有人帮你把东西翻出来、判断哪些还新鲜哪些已过时、把散落的信息串成能用的知识。

我们习惯了「工具负责存储、人负责维护」。但这个模式对人太苛刻了。维护需要纪律性,正常人根本做不到。我们擅长的是判断:什么东西重要、什么方向值得深挖、什么结论可能有问题。不适合的是持续做这件事。

AI 接过这部分。置信度什么时候衰减、新旧信息冲突了谁取代谁、每轮研究后留下了什么尾巴。这些事 AI 做了就做了,不需要提醒,不会忘。

你留着的部分更有价值:决定研究什么方向、判断一个来源是否可信、看到一个有意思的结论时说「这值得深挖一下」。

这跟「AI 替代人」是两回事。

更像是请到了一个不会偷懒的图书管理员。你在前面探险,它在后面帮你整理地图。

只是这个图书管理员不止在帮你整理地图。它自己在画另一张地图。

那张地图上,标的不是行业格局,是你怎么想问题、你在意什么、什么东西会让你眼睛亮起来。

那 29 页,是它理解你的方式。在你没注意的时候,它就在那吭吭吭地长。

我有时候会想,再过几十次,那张地图会长成什么样。

An image to describe post

用图示互动,Agent 和我在同一张画布上思考|NL159

2026-06-30 08:18:04

前段时间,我在做大量的产品调研,几个 agent 轮流着用,调研和讨论过程,它们疯狂回我一堆文字和 Markdown。

因为调研过程需要很多人为的判断和介入,还没法让它全自动,毕竟资料人还是要去读,要去理解。可惜,真的累,AI 提升了效率,但算力瓶颈竟是我自己。

第一个 Agent 的输出我认真读完,画了重点。第二个的输出我扫了扫,跟第一个对照了几处差异。到第三个 Agent 的窗口打开时,我盯着那个滚动条,发现脑子已经不转了。

Agent 可以通过 subagent 去消化信息,避免上下文被污染和撑爆,但人就不一样,信息太多,我的「上下文」被严重污染,我开始忘了前面看过什么,忘了哪些判断是自己做的、哪些是 Agent 提的、哪个结论对应哪组输入。上下文一污染,判断和决策水平直接下降。

关键信息淹没在文字里。我变得容易遗漏风险,也容易直接接受结论。

深感人机交互方式变成对我的一种限制,我在思考是否有办法和 Agent 的交互方式变得可视化。

于是尝试开发了 AgentBoard,一套人与 Agent 的协作机制,现在也开源出来。

An image to describe post

飞书画板的启发

在使用飞书 CLI 之后,发现它能很好地将我们讨论的,清晰画在画板上。而且效果非常好。

就那么一瞬。原本三屏长的文字,变成十几张带连线的卡片。我能「看见」结构了。不用从左到右顺着读,我可以俯瞰全貌。哪一块跟哪一块的关系是什么,哪里缺了,哪里重复,一眼就清楚。

文字在污染人的上下文,可视化在解开人的上下文。 那能不能让 Agent 直接往画布上输出,让我读图而不是读字?更关键的,能不能我改完画布,Agent 再读回去,继续往下挖?

这就是 AgentBoard 的起点。

不是每次简单问答都需要 AgentBoard。查个资料、问个术语、让 Agent 帮你写段代码,聊天框完全够用。

聊天框也有不够用的时候:前面的结论和约束不能丢、多个方案需要比较对照、结果会影响产品或其他决策。你需要的不只是一个回答,是一个能在你跟 Agent 之间持续同步的「工作界面」。

可视化背后的 DSL

要实现人与 Agent 之间的协作,就需要一套双方都能精确理解的载体。

文本聊天记录不行,太长、太碎、太容易被污染。

Markdown 是现有最常见的,标题、列表、加粗,可读性比纯文本要好,但每次修改 Agent 都要全文重读一遍,靠它自己理解哪些被修改过。而对于人,越来越长的 Markdown,也一样会加剧阅读理解的难度。

HTML 可视化,确实很好,但是 HTML 里面有大量的语法指令是渲染用的,本身变没有意义,不仅加大了 token 的浪费,而且每次渲染修改都是大工程。并且人一般不会直接去编辑 HTML。

研究飞书画板之后,它里面使用了领域专用语言 DSL。DSL 不为「显示」服务,不为「排版」服务。它只服务「这个领域里有什么、是什么、怎么关联」。

AgentBoard 的 DSL 只有三种东西:

  • 节点(卡片或便签),带类型和标签——Agent 看到 tags: ["risk"],就知道这是风险项
  • 连线(箭头或直线),带方向和标签——Agent 看到 from: "product_a", to: "pricing_strategy",就知道依赖关系
  • 分组,带包含关系——Agent 看到某一组卡片属于「Phase 2」,就知道时间边界

举例,Agent 用三种方式输出同一个结论:

Markdown:

## 竞品 A
- 定价:免费增值
- 风险:可能无法支撑企业客户

HTML:

<div class="card">
  <h3>竞品 A</h3>
  <p>定价:免费增值</p>
</div>

DSL(AgentBoard):

{
  "id": "comp_a",
  "type": "card",
  "title": "竞品 A",
  "body": "定价:免费增值 + 企业版 $99/月",
  "tags": ["competitor"]
}

三者本质区别:

Markdown HTML DSL
为谁设计 人类读写 浏览器渲染 人机共同理解
描述什么 排版格式 显示结构 内容含义(类型、标签、关系)
Agent 能理解什么 需要推断(容易错) 几乎无法理解(只是标签) 精确理解(类型、标签、关系)
人改了之后 Agent 重读全文自己猜 人不会直接改 HTML Agent 精确知道哪变了

DSL 正好能在人和 Agent 协作的场景下,提供给双方一份共识:当前到底在讨论什么。

Markdown 负责叙述,DSL 负责状态、结构和关系,HTML/CSS 交给前端渲染层。 各司其职,不要让 Agent 跨界。

DSL 解决的,是双向的上下文污染。

  • Agent 不被噪音污染:它读到的是带类型的结构化节点
  • 人也不被噪音污染:你看到的是画布上的卡片和连线

我们目标也不是获得这张白板,而是将它作为上下文的数据库。这样 Agent 能读到的是一组结构化节点:类型、有标签、有关系(因果、依赖、冲突、支持)。

An image to describe post

无需每次全部重读

通过 DSL 实现 Agent 不需要每次都读整张画布:

比如:你在调研三个竞品,白板上已经搭了 40 张卡片。每个竞品拆成定位、定价、功能、风险、证据。你改了其中一张「定价策略」卡片的正文,然后跟 Agent 说「基于我改过的定价,帮我推一下对市场的可能影响」。

如果全部重新读一遍,token 烧得心疼。

AgentBoard 的做法是「增量上下文包」。你编辑完画布、再次调用 Agent 时,发过去的不是整张图,而是:

  • 你刚才改了哪些节点(完整对象:标题、正文、标签全在)
  • 与被改节点相关的连线
  • 邻居节点的轻量摘要(只有标题和标签,没有正文——Agent 只需要知道「旁边有什么」,不需要知道邻居卡片的完整内容)
  • 整张画布的紧凑概览(所有节点标题索引 + 所有连线端点,Agent 扫一眼就知道全局结构)

同时告诉 Agent:「如果你需要某个不在增量包里的节点正文,在 questions 里告诉我,我给你补。」

只有当你明确说了「整张图重新整理」「全部重排」这种全局指令,才发完整画布。这不是省 token 的技巧,是对 Agent 注意力的管理。

An image to describe post

图示隐含的思考方式

调研型工作不是一次性问答。你问,Agent 答,你看完改几个判断,再问——这是「问→看→改→再问」的循环。

AgentBoard 特别适合这种应用场景。如果你发现 Agent 方向偏了,你一看白板上的不是你想要的,你可以随时停止,手动改掉几张不对的卡片,再问一遍。Agent 读到的是你改过的版本,不是它之前跑偏的那版。

每次 Agent 调用和交互请求都持久化在 session 里。刷新回来,Agent 还在上一个上下文里等着你回复,不需要把刚才的需求再说一遍。我把白板当成一个 session,可持久化共享上下文。

为了防止 Agent 自己不懂装懂。我也设计了,当你给到模糊的需求时,它不知道你的意图,它会给你选项,先问你,等它拿到答案后继续。它是你的伙伴,不明白,先问明白再执行。

从飞书画板学到的,还有「图示的形式本身就隐含了思考方式 你看鱼骨图和看 2×2 矩阵,启动的是完全不同的认知模式。

想象你在比较两个产品方案。如果 Agent 把所有卡片纵向排成一列,你可能要上下翻好几次才能在脑子里对齐「方案 A 的定价」和「方案 B 的定价」。但如果 Agent 用 matrix 布局把两个方案左右排开,维度标注在旁边——你一眼就看到了对比。

目前我让它内置了 8 种思考布局:

布局 什么时候用 你看到的效果
horizontal / vertical 线性序列、步骤、优先级 卡片沿一条线排列
dagre 架构图、依赖关系、数据流 自动分层,箭头方向统一
mindmap 中心主题 + 发散分支 枢纽节点居中,分支环绕
matrix 2×2 对比、权衡、维度交叉 卡片按网格对齐,维度标注清晰
cluster 主题分类、亲和图、访谈归纳 同组卡片聚在一起,未分组自动下落
timeline 路线图、里程碑、用户旅程 卡片沿时间轴排列
swimlane 角色分工、并行阶段、多团队 不同泳道并列,每道内横向推进

前期也遇到坑,就是它老是回复我流程图,但我们知道并不是所有信息,都具有流程关系。于是给它加了一条判断 Prompt :不是所有关系都应该画箭头。

Agent 被要求先用 tags 表达语义(比如 ["risk"]["assumption"]["decision"]),再选布局。箭头只用在实际有方向性的地方——顺序、依赖、因果。分类、对比、证据,用分组和空间聚类,不乱画多余的箭头。

本地运行,更安全

AgentBoard 是纯浏览器应用。所有数据存在 localStorage,API key 也存 localStorage——不离开你的机器。没有注册,没有登录,没有服务端数据库。

渲染层:节点用 HTML div(方便编辑和拖拽),连线用 SVG line(沿着卡片边缘出发,z-index 低于节点,永不遮挡)。画布平移走 GPU 加速,Figma 那种跟手的手感。

三种 Agent 接入方式,设置面板里选:

  • 本地 CLI(Claude Code / OpenCode / Codex CLI):Vite 插件自动检测你有没有装这些 CLI,装了就能直接用。日常我最尝试用这个,很方便无需配置 API KEY。
  • Claude API:填 Anthropic API key
  • OpenAI 兼容 API:填 key 和 base URL,兼容大多数第三方

Session 管理,可通过创建白板来实现。比如「竞品分析」一个白板、「产品方案」一个白板,你可以自己重命名,顶栏下拉就能切换。

An image to describe post

可视化,新尝试

AgentBoard 在原型阶段,但我每次依然享受它提供的可视化,真的当问题复杂需要思考时,它对梳理思路真的帮了大忙。不像过往我总在多个窗口里面,扫描一行行的文字。

没想到,有一条居然是为了减少 Agent 对我「上下文」的污染,才做了这个 AgentBoard。人不需要在文字堆里打捞关键信息。人看到结构、动手改,Agent 读回变化继续往下走。循环。

AI 在飞速进化的今天,我们确实也需要一个全新的人机协作模式,来真正帮助我们保护注意力,保持思考的效率。

我一直觉得,当 AI 能直接操作你的思考对象时,人和 AI 之间的界面应该长什么样——聊天框肯定不是答案。特别是多 Agent 协作的巨量信息,人自己反而成为瓶颈。

AgentBoard,新尝试,可能是一个方向。

全部开源出来,到 github 获取:https://github.com/AyingAI/agentboard。你也一样可以交给 Agent 去帮你安装。

欢迎你来提 issue、提 PR,都行。

感兴趣,不妨去试试。