Month: October 2025

  • 重新定义搜索和浏览

    重新定义搜索和浏览

    AI时代,上网的两个重要动作:搜索浏览被重新定义了。

    而且我还注意到,还有一个新的动作需要被加入。我还没想好这个动作应该怎么命名,暂且先用“整理”名之。


    搜索的进化

    先说搜索这个动作。

    Google——这个互联网“搜索”时代事实上的霸主引擎,在AI时代,也已经发生了变化:

    在Google中输入搜索关键词,大部分情况下,它已经可以提供一个非常high level的AI小结。(如上图中搜索vibe coding而给出的“AI概览”)。

    我个人认为,这个功能还是有用的:

    如果你只是想有一个基本的概念,那么看看AI总结也就差不多了。如果还想进一步了解,那么AI的总结中也有很多有用的链接——这些链接都是经过算法而脱颖而出的,质量相当高。

    这样的搜索结果推送,既保留了深度、精度,也提供了诸多便利。

    这可以说,是搜索引擎与AI结合的第一步,更好地提升了搜索的质量。


    浏览的困境

    搜索到高质量的结果后,就是“浏览”的过程。

    这个过程往往是“痛苦”的:

    痛点一:语言的隔断

    看长篇外文内容的时候,语言是个障碍。虽然肾上鄙人在下我的英文水平不差,但要看大段大段的文字还是有点“痛苦”。

    痛点二:藏而不用

    看完后的整理也“痛苦”。之前我用过Evernote、现在我用Notion来做网页剪贴。但是往往“藏”了之后再也不看。时间一长,自己藏了些啥都不知道了。

    简单说来,我也患上了FOMO(Fear Of Missing Out)——看到东西就想藏,但忘了:藏而不用,就是白藏

    痛点三:无法为写作服务

    藏而不(能)用,对我这样一个喜欢写作的人来说,是很痛苦的。

    痛点四:灵感转瞬即逝

    还有很多时候,我浏览到一些东西,会很快有一些想法。等真正落笔写的时候,往往会丢失几乎所有。而且在写的时候,也会“词不达意”。


    第三个动作:从信息到知识的转化

    因此,我希望浏览时就能:

    1. 借助AI分析 – 不只是翻译,而是理解、提炼、关联
    2. 和AI进行脑力震荡 – 在阅读的当下就能提问、质疑、延伸
    3. 最后才是收藏 – 连同原文和与AI的交流一起保存

    这个过程,其实不是简单的“整理”,而是从信息到知识的转化,是让外部内容内化为自己思考的一部分

    传统的收藏工具解决的是“存储”问题,但AI时代需要的是“对话式的思考工具”。


    用YouMind实践

    前两天发现了YouMind这个工具,感觉它能解决我的“痛苦”:

    • 浏览时即可与AI对话 – 不是先藏后看,而是边看边想
    • 保留完整的思考轨迹 – 原文 + AI对话 + 我的想法,三者一体保存
    • AI辅助理解和延伸 – 可以让AI总结、翻译、提问、关联

    它可以作为一个浏览器的插件而存在,而且现在好像、似乎可以随意注册(使用Google或者Apple ID)。

    在浏览到一个对你有“帮助”的网页后,你可以点击浏览器上的图表激活Youmind并开始对话:

    (上图就是我和Youmind就中美两国首脑最新会面的新闻而进行的交流。作为Demo,我没有做深入的讨论,只是让它做一些总结。)

    在我使用Youmind的时候,我发现它很智能,用到了最新的AI智能体,这点是很不错的——就冲这点,如果它将来收费,我也会毫不犹豫地订阅。

    总结一下

    互联网的本质是信息的流动,但信息的价值不在于流动本身,而在于它能否转化为我们的思考和创作

    过去二十年,我们解决了“找到信息”的问题——Google让搜索变得高效。

    现在,AI时代给了我们新的可能:不只是找到信息,而是和信息对话,让它成为自己思考的一部分

    搜索、浏览,再加上这个我还没想好怎么命名的“第三个动作”——它们构成了AI时代上网的完整闭环。

    这个“第三动作”,暂且称之为“整理”,但它其实远不止整理那么简单。它是思考的延伸,是灵感的捕捉,是创作的起点

  • 淘本旧书

    淘本旧书

    昨天中午,约了一对好久没见的老友夫妻在老阊门那边吃饭。

    席上聊了不少,主要是现在在干啥、孩子在干啥。

    谈着谈着,谈到了一个很有趣的话题:性本善?性本恶?我推荐小秦去看《合作的进化》:从性本恶出发,可以自洽地演绎出自发合作,这样的合作是robust的,并促进发展,无需任何理论指导、领袖指挥。

    还谈到一个有趣的话题——也是我这段时间和几位家长就他们孩子未来升学筹划进行讨论时固化的一个观点:Voice - Choice - Ownership中的Choice——我们在做选择的时候,不应该回避,而是应该追求

    怎么说呢?有几位家长在和我讨论是不是要将孩子送进国际高中、出国留学时,quote的理由有一个相同点:孩子成绩不太好,高中/大学恐怕考不上太好的学校,所以出门去。

    在我看来,这就是在回避:想回避国内卷到没边的中考和高考。但是,这样的选择要追求什么呢?我没看出来。

    =======

    吃过饭,看到饭店边上有家小书房“十方书屋”,就顺便进去兜兜。

    这个书房的名字起得不错。“十方”既是说书籍、客人的来处,也是说书屋不大,拢共也就十来个平方。

    进门第一排就看到特价区里有一本最老最老版本的《安徒生童话全集之八:老槲树的梦》

    我迅速打开我的“任氏有无轩”藏书页面,搜索了一下,发现这本书我竟然还没有收藏!有个藏书管理管理页面的好处这就体现出来了:不重复、不漏过。

    这本书一口价10元,品相相当好。我家里藏的几本,因为一直暴露在空气中,加上搬了好几次家,封面都有点发黄了。

    加上这本,我收藏的这套老版安徒生童话全集分印本就有11本了,依次是:

    1. 一:海的女儿
    2. 二:天国花园
    3. 四:祖母
    4. 五:母亲的故事
    5. 六:柳树下的梦
    6. 七:聪明人的宝石
    7. 八:老槲树的梦
    8. 十:沙丘的故事
    9. 十一:冰姑娘
    10. 十二:小鬼和太太
    11. 十六:幸运的贝尔

    还有缺的,不过我会比较佛系地去“偶遇”了。

    =======

    叶君健翻译的这套《安徒生童话》有很多年头了,之前我收藏的10本应该是在我15岁前(40年前),先严陆续购入的。

    当年书籍很少,每次搞到一本新书都要反复看好几遍——这也是我之前的这10本书比较“破烂”的重要原因。

    童话故事很好看,我很喜欢看。

    我最喜欢的数学家哥德尔也很喜欢看童话,他最喜欢看的童话是《白雪公主和七个小矮人》。他在谈到自己的这个爱好的时候,说:

    “Only fables,” he said, “present the world as it should be and as if it had meaning.” “只有寓言(注,这里哥德尔可能搞混了寓言和童话的区别),”他说,“才展现了这世界应有的样子,而且还好像有意义。” ——A World without time

    童话里经常出现“苹果”,而苹果也关联着众多意象:公主吃下苹果进入深度睡眠(但王子会唤醒她);图灵用毒苹果自杀——图灵在1930年代访问过普林斯顿,虽然两人没见过面,但可能他从哥德尔感染了对白雪公主童话的热爱,从而最终决定吃下一个注射了氰化物的苹果自杀;乔布斯用咬了一口的苹果作为商标……

    而哥德尔的死也很悲剧:他最终陷入疑心重重的境地,怕有人下毒害他,所以最终是饿死的(神经性厌食症——和歌手卡朋特一样)。

    BTW,今天也是著名的程序员节。祝天下所有程序员都健康!

  • assert(编程!=抽烟烫头喝着酒)

    assert(编程!=抽烟烫头喝着酒)

    国庆放假前,一直在折腾全球最大同性交友网站刚推出的spec-kit。这个项目有多火爆呢?到今天,这个工具推出短短3周,已经获得了33.1K个Star,而且迭代极快,几乎每2-3天就会有个更新。

    AI对编程的影响很大,且一般而言,Junior一点的软件攻城狮受到的冲击更大。最近一段时间,所谓的Vibe Coding更是成为一个很时髦的名词:我就经常看到各个社交媒体上出现类似“全程0代码创建一个app”的帖子,而且在VC的冲击下,大家似乎都有了一个“不好”的想法:

    编程已经不是一个技术活了。不需要专业的培训——CS的毕业生去死吧!——而只要给出命令。

    我不同意这个说法。

    我同意的是,编程不仅仅是一个技术活。从最广义的角度来说,“标准”、“规范”的制定,是最高层次的“编程”。比如说安全应用中绝对不能少的加密/解密来说,它需要高深的数学知识、物理知识,还有社会学等等诸多方面的了解。这里的很多东西已经超出了纯技术的范畴,而是进入了哲学层面。

    这上面的这些东西,哪个不需要专业的培训?我们简单地认为编程不用培训是将“编程”这个动作太过简单化了。

    单从这个角度出发,我就很容易理解为什么过去50年的技术发展大部分会出现在那些发达国家的原因。而我最近在AI编程工具上的一段亲身经历,也让我对“规范”的重要性有了更深的体会。

    =====

    在玩spec-kit之前,我用了一段时间的Kiro,很喜欢那种编程的过程:我有很多想法可以通过AI快速地进行原型开发——有些能走到底,有些走不到底。然后还接受了朋友的邀请去他公司进行了一次分享:《while(编程\=\=抽烟喝酒烫着头)》。

    当时,我比较推崇被Kiro推到一个很高的高度的VC。但是,Kiro的“收费”机制实在让我捉鸡,不得不在Discord频道里和全球开发者一起吐槽。这不,直到10月,Kiro终于大幅修订了它的收费机制,让我这个免费用户也能有500请求/月的额度了——这下,我可就更不想交钱订阅了。

    这次我测试spec-kit有了一些不一样的想法,而这是由spec-kit这个工具带来的。

    spec-kit的开发过程一共8步,其中第一步init在AI Agent之外运行,而后续的clarifyanalyze可选。

    • constitution:顾名思义,这是这个项目的“宪法”。这里提到的要求,在任何时候都不能违背。为了帮助“我们”编写这个宪法,spec-kit提供了一个很全面的模版。根据我的经验,我们对这个模版只要做很少的更动,而且TDD是“宪法”中没得商量的一个部分。而其他涉及数据隐私、开发流程等重要方面。
    • specify:这是一个重要的流程,同样也有模版。需要特别注意的是,这个文件不涉及任何技术细节(也就是如何实现的问题),只讨论要什么、为什么要的问题。最终的文档就是一个用户场景描述:
    Input: User description: “it scans pre-given directories for documents (md, pptx, pdf and mostly in Chinese), and use necessary lib to parse the contents to generate a vectorized local db. Then, it can accept queires from user, use AI agent to generate relevant responses.” User Scenarios & Testing (mandatory) User Story 1 – Document Indexing (Priority: P1) A user wants to build a searchable knowledge base from their existing document collection. They point the CLI tool to directories containing their documents (markdown files, PowerPoint presentations, and PDFs primarily in Chinese), and the system processes these documents to create a local vector database for fast retrieval. …

    可见,我只是很简单地说了我的要求:“扫描文档、向量化、保存、查询、AI返回相关的回答”。而spec-kit进行了非常详细的用户使用场景分解:文档索引、交互查询、数据库管理。

    • plan:通过这个命令,我们进入真正的技术层面:用什么来实现我们想要的东西呢?根据之前specify得到的需求和用户的指定,spec-kit可以给出非常详尽的技术框架:开发语言(Python 3.11+)、主要的依赖包(BGE-large-zh用来嵌入,FAISS用于向量存储,Ollama是本地的大语言模型……) ,以及一些其他开发要求。
    • tasks:这是真正进行开发前的最后一个重要命令。spec-kit会根据到目前为止所有的文档,生成一个完整的开发任务清单。针对我的小程序(RAG CLI),它生成了一个6阶段、共76个子任务的任务清单,涵盖了初始编程设置、编程基础设施设置、用户需求(共3个)和最后打磨。
    • implement:在Kiro的环境下,这个命令可以基本“全自动”地完成那些直截了当的任务,而且不需要人工干预,只有在明确需要用户参与、交互的时候,Kiro才会停下来。对于那些和用户需求直接关联的任务,它往往可以一路跑下去。

    可以看到,spec-kit 的整个流程,从“宪法”到“计划”再到“任务清单”,完全不是VC。它强调的是严谨的需求定义、场景分析、技术规划和任务分解。这正是专业软件工程的核心价值所在,也是目前AI无法完全替代人类的地方。

    目前,借助spec-kit,我已经做出了一个小小的原型:它索引了我历年写作的博客(md格式)和演示(PPTX)以及少量PDF文件,共300余篇,形成了一个包含1024个维度的向量数据库。可以接受用自然语言输入的问题,如:任老师对学习有怎样的见解?并在一个合理的时间内(25s)给出回复:

    我对目前的进展表示满意,并得出结论:assert(编程!=抽烟烫头喝着酒)。AI工具的强大,不是为了让编程变得廉价和随意,而是将开发者从繁琐的实现中解放出来,让我们能更专注于定义问题和规划蓝图这些更高层次的创造性工作。这非但不是对专业性的削弱,反而是提出了更高的要求。