Limboy
Article

AI makes you boring

This post is an elaboration on a comment I made on Hacker News recently, on a blog post that showed an increase in volume and decline in quality among the “Show HN” submissons. I don't actually mind AI-aided development, a tool is a tool and should be used if you find it useful, but I think the vibe coded Show HN projects are overall pretty boring. They generally don't have a lot of work put into them, and as a result, the author (pilot?

www.marginalia.nu

本文探讨了人工智能(AI)对人类创造力和思想深度的负面影响,核心观点是“AI 让你变得无趣”。作者 Viktor Löfgren 最初在 Hacker News (HN) 上观察到,随着 AI 辅助开发的普及,“Show HN”板块的项目虽然数量激增,但质量却显著下降。这些项目往往缺乏灵魂,因为开发者(或称“操作员”)并未在问题领域投入足够的时间和精力,导致讨论变得浅薄。

作者指出,AI 模型本质上缺乏原创思维,它们擅长迎合用户的输入,而非提供独特的见解。虽然有人主张“人在回路(Human in the Loop)”可以弥补 AI 的不足,但作者认为这一前提存在根本性缺陷:原创思想正是源于那些被外包给 AI 的繁琐工作中。当人类依赖 AI 进行思考时,人类的思维反而会向 AI 的平庸输出靠拢。

真正的原创性来自于对问题的长期沉浸和反复磨炼。正如学生通过写论文来理清思路、教授通过教学来深化理解一样,表达和创作的过程本身就是思想的提炼。而“提示词工程(Prompting)”并不能替代这种表达过程。作者用了一个生动的比喻:使用 AI 思考就像用挖掘机来举重,虽然重量被举起来了,但你无法通过这种方式锻炼出自己的肌肉。AI 的介入剥夺了人类通过解决困难问题而获得深度洞察的机会,最终导致产出的作品和参与讨论的人都变得平庸且乏味。

First, Make Me Care

Writing advice: some nonfiction fails because it opens with background instead of a hook—readers leave before reaching the good material. Find the single anomaly or question that makes your topic interesting, lead with that, and let the background follow once you’ve earned attention.

gwern.net

在《首先,让我产生兴趣》(First, Make Me Care)一文中,著名博主 Gwern 探讨了非虚构写作中一个至关重要却常被忽视的问题:如何通过开篇吸引读者。作者指出,大多数非虚构文章的开头往往陷入了“背景介绍”的泥潭,从枯燥的历史事实或定义出发,导致读者在进入核心内容前就已失去耐心。

Gwern 认为,写作的首要任务是让读者“产生兴趣”。一个成功的开头应该像一个钩子,通过揭示知识鸿沟、提出未解之谜或指出某种反直觉的异常现象,激发读者的好奇心。他引用了“古典风格”(Classic Style)的写作理念,即先创造一种需求(一个“痒点”),然后再去解决它。

为了说明这一点,作者对比了两种关于威尼斯帝国的写法。一种是典型的“大语言模型(LLM)风格”,虽然内容准确、背景详尽,但极其乏味,无法给读者提供继续阅读的动力。另一种则是 Gwern 提倡的风格,他将威尼斯定义为“没有农场的帝国”,通过这个看似矛盾的命题(悖论)迅速抓住读者的注意力,引导他们思考一个没有农业基础的城市如何统治海洋。

最后,Gwern 给出了实用的建议:如果你在写作时感到无从下手,试着提取出那个最让你兴奋、最想对朋友倾诉的核心点。不要从头开始叙述,而要从最有趣的地方开始。只有先让读者“在乎”,你的研究和见解才有机会被传播。

本文由德里克·西弗斯撰写,分享了他关于写作的独特建议:每行只写一个句子。作者强调,这不是最终的发布格式,而是一种仅供作者本人审阅的写作习惯,他已坚持二十年,并认为这是提升写作水平最有效的方法。这种方法的核心在于,通过将每个句子独立成行,作者能够更清晰地审视和评估每个句子的质量、结构和在整体文章中的作用。

文章详细阐述了这种写作习惯的四个主要益处。首先,它有助于作者独立判断每个句子的价值。当句子隐藏在段落中时,冗余或不必要的句子可能不易被察觉,但当它们独立成行时,其存在感会增强,促使作者删除那些不值得独立存在的句子。其次,这种方法有助于作者有意识地变化句子的长度。通过视觉上的直观呈现,作者可以更容易地发现句子长度的重复性,从而有意识地调整,使文章节奏更富有变化,避免单调。虽然大声朗读也有助于发现问题,但视觉上的独立呈现更为清晰。

第三,每行一句的写作方式极大地简化了句子的移动和重排。当所有句子都像堆叠的柱子一样垂直排列时,剪切、粘贴和重新组织句子的操作变得异常便捷。这使得作者能够更轻松地将最佳句子放置在段落的开头或结尾,以达到更好的表达效果。最后,这种方法有助于作者关注句子的开头和结尾。句子的第一个词通常具有冲击力,而最后一个词则能留下余韵。垂直排列的句子使得作者能够清晰地看到每个句子的起始和结束,从而更容易地识别并修改弱势的开头(如“我认为”、“无论是否”),转而使用更有力的主语和动词来开启句子,增强表达的力度和精准性。

总而言之,每行一句的写作习惯是一种强大的自我编辑工具,它通过改变文本的视觉呈现方式,帮助作者更深入地审视和优化自己的文字,从而在句子的独立性、多样性、可操作性和影响力方面实现显著提升。

if you're excited about some kind of work that's not considered prestigious and you can explain what everyone else is overlooking about it, then this is not merely a kind of work that's ok to do, but one to seek out.

这篇短文以一个引人入胜的个人经历,巧妙地阐述了一个深刻的道理:有时,过度的努力和压力并不能带来显著的额外收益,反而可能牺牲了体验和可持续性。作者通过自行车骑行的例子,生动地对比了“全力以赴”与“轻松应对”两种状态下的结果,并发现两者在效率上差异微小,但在个人感受上却天壤之别。文章的亮点在于其反直觉的结论——“96%的结果可以通过轻松的方式获得”,这促使读者反思自己在工作和生活中的“努力”是否真的高效,以及是否被不必要的压力所累。它提醒我们,在追求目标时,或许可以尝试放松心态,以更从容的方式去实现,从而获得更好的过程体验和同样令人满意的结果。

Steve Pavlina 的“30天走向成功”提供了一个简单而强大的个人成长策略。通过将新习惯或改变视为一个为期30天的“试用期”,他巧妙地降低了人们对长期承诺的心理障碍。文章不仅阐述了这一方法的理论基础,更通过作者亲身实践的丰富案例,生动地展示了其在饮食、锻炼乃至生活习惯养成方面的有效性。这种“短期承诺,长期受益”的理念,为那些渴望改变却又畏惧开始的人们,提供了一条切实可行的路径。

这篇文章深入探讨了成为早起者的实用策略,挑战了传统的睡眠观念。作者通过个人经历,提出了一个结合了生物节律和固定作息的创新方法,即“困了才睡,定时起床”。这种方法不仅提高了睡眠效率,还带来了更高的生产力和幸福感。对于那些渴望改变睡眠习惯、提升生活质量的人来说,这篇文章提供了宝贵的见解和可操作的建议。

Grow slowly, stay small

A more sustainable way to do business

herman.bearblog.dev

这篇文章探讨了一种反直觉的商业与生活哲学:“缓慢成长,保持小规模”(Grow slowly, stay small)。作者深受日本传统工匠精神及百年老店的启发,推崇那种通过长期、持续的投入来打磨技艺的态度,认为这才是创造美好事物的正途。与现代社会追求快速扩张、融资上市、获取暴利的商业模式不同,作者指出这种激进的扩张往往会导致组织脆弱、资源分散以及丧失自主权。

文章引用了经典的“渔夫与商人”寓言,生动地说明了盲目追求规模往往是徒劳的——人们忙碌一生追求的“退休生活”,往往就是当下已被牺牲掉的宁静与满足。作者强调,关键在于通过界定什么是“足够”(Enough),来区分对地位的追逐与内心的满足。最后,作者以自己的项目“Bear”为例,展示了这一哲学的实践:项目能够覆盖成本、提供体面的生活质量,且因未引入杠杆而保持了完全的掌控权。这种模式不仅风险更低、压力更小,更重要的是,它赋予了作者热爱生活和持续精进技艺的空间。

How I analyze a game

The first thing I do is set aside my experience. It is only mildly useful, a single data point, when everyone’s experience is subjective. Oh, I’d like to think it is in some ways more v…

www.raphkoster.com

Raph Koster 在其文章《我如何分析游戏》中,详细阐述了他作为游戏设计师分析游戏的方法论。他强调,分析游戏不应仅仅停留在玩家的主观体验层面,而应深入挖掘其“地下”的系统和机制。他将游戏体验比作山顶,而其下的地质构造(如构造板块、火山活动)才是决定山脉形态和位置的根本,这与冰山的比喻不同,因为冰山水上水下本质相同,而游戏体验与底层系统在本质上可能大相径庭。

Koster 的分析过程分为几个核心步骤。首先,他会抛开个人经验,剥离游戏的表面体验,直达其核心机制、输入、过程、规则和代币等系统层面。他认为新的游戏机制非常罕见,大多数游戏都是对现有机制的变体和深化。在这一阶段,他会探究游戏的可能性空间、玩家选择的后果、系统是否可被利用、技能的重要性以及玩家的学习过程和心智模型的构建。他进行这种机械层面的分析,主要是为了提升自己的设计技艺。

其次,他会审视这些系统“关于什么”,即设计师试图通过这些系统实现什么目标。常见的意图包括让玩家持续游玩、付费、关注体验而非系统本身,以及让玩家感到强大。他更欣赏那些具有更深层次系统意图的游戏,例如鼓励玩家互助、质疑规则、学习新思维方式或体验利他、合作、创造力等非权力带来的愉悦。

接着,他会评估玩家与系统的互动方式,包括输入操作和反馈。这涉及“游戏手感”、响应度、奖励信号和学习支架等,但仍避免陷入游戏所提供的具体“虚构”体验。通过这些分析,他能判断游戏是否有效地实现了其预设意图。例如,他以《侠盗猎车手V》的抢劫教程为例,指出其在可用性设计上的不足。

最后,他会重新审视游戏体验本身,但此时已带着对底层系统的深刻理解。他会从视觉叙事、图形渲染、音乐、文案等非游戏特有的艺术形式角度进行评判,并将其与电影、书籍等其他媒体的艺术标准进行比较。他会探究体验的意图,并认为如果无法明确意图,则视为一种失败。他特别关注系统意图与体验意图是否匹配,指出许多游戏在这两方面存在脱节,导致“空洞的山脉”。他认为,只有当游戏在各个层面都展现出高水准的执行力,并且系统与体验的意图高度一致时,才能获得他的最高评价,例如《请出示文件》。他承认这种分析方法是高度以“技艺”为中心的,旨在评估作品如何实现创作者的意图,而非仅仅关注玩家的乐趣或文化语境。他希望这种全面的分析方式能被更广泛地采纳,以促进游戏设计领域的发展。

Vibing a Non-Trivial Ghostty Feature

mitchellh.com

这篇文章详细阐述了作者Mitchellh如何利用AI作为主要辅助工具,开发Ghostty终端的非侵入式macOS自动更新功能。他分享了一个高度迭代的过程,包括前期人工规划、AI进行UI原型设计、代码清理、文档编写和模拟测试。文章强调,尽管AI在处理明确任务和提供灵感方面表现出色,但在面对复杂bug或生成次优代码时,人工的战略性调整、深入理解、重构和严格审查至关重要。整个项目耗时约8小时,花费15.98美元,作者认为AI加速了开发,尤其是在处理繁琐的UI样式方面,并允许他在AI工作时进行多任务处理,但始终坚持人工的最终审查和主导作用。

it's important that I review a plan before it goes off and does a ton of work.

Creating a comprehensive plan interactively with an agent is a really important first-step for anything non-trivial. I usually also save it out (via the agent) to something like spec.md and in future sessions I can say "Consult the @spec.md and work on some task".

I'll often make these few hail mary attempts to fix a bug. If the agent can figure it out, I can study it and learn myself. If it doesn't, it costs me very little. If the agent figures it out and I don't understand it, I back it out. I'm not shipping code I don't understand. While it's failing, I'm also tabbed out searching the issue and trying to figure it out myself.

It's at this point that I know I need to step back, review what it did, and come up with my own plans. It's time to educate myself and think critically. AI is no longer the solution; it is a liability.

In my first UI session, I had the agent create some demo code so I could see the UI in action without real update checks. But update flows have a number of scenarios and up to this point I only tested the happy path.

这篇文章解释了NetNewsWire为何不选择成为一个网络应用,尽管作者认同网络平台在摆脱供应商控制方面的优势(尤其考虑到苹果应用商店的限制和ICEBlock被下架的事件)。作者提出了三个主要原因:首先是经济成本,开发和维护网络应用需要高昂的托管、数据库和CDN费用,远超当前极低的开销;而收费违背了提供免费RSS阅读器的初衷,接受捐赠也难以覆盖成本,让用户自托管则无法普及且增加支持负担。其次是用户隐私保护,作为本地应用,作者不存储任何用户数据(如订阅列表),因此无法应执法部门要求交出数据;而网络应用则必须在服务器端存储数据,即便加密也存在被解密的风险。最后是对“另一种自由”的坚持,作者珍视在个人电脑上运行本地应用的自由,而非仅将电脑视为访问他人控制的网站的终端,他希望通过NetNewsWire来维护这种核心的数字自由。尽管苹果的举动让他更频繁地考虑网络应用,但上述经济和隐私问题是主要障碍。

Jeremy Maluf自2015年起实践极致简约生活,将所有物品精简至一个笔记本背包,并持续更新其装备清单。他倡导“一包旅行”的理念,旨在通过只拥有必需品来提高专注力、减少开支、实现说走就走的旅行并简化生活,从而避免托运、行李费等机场烦恼。Maluf强调装备选择注重实用性和轻量化,而非昂贵品牌,认为百元配置也能媲美万元装备。经过十年,他的旅行方式已从快节奏转变为在城市停留更久,以兼顾生产力、社交和深度探索,甚至能进行“口袋旅行”。他的9升背包内含精选科技产品(MacBook Air、iPhone、AirPods等)、耐用快干衣物、充电设备、迷你洗漱包、急救用品及其他杂物,如Montbell Plasma 1000羽绒服、Western Rise裤子、Darn Tough袜子等。此外,他还为徒步旅行准备了一套可收纳的超轻户外装备,如3F UL Gear帐篷、Thermarest NeoAir Uberlite睡垫和Sawyer Mini滤水器,持续优化,力求轻装上阵,总重控制在2公斤以内。

Contextual Retrieval in AI Systems

Explore how Anthropic enhances AI systems through advanced contextual retrieval methods. Learn about our approach to improving information access and relevance in large language models.

www.anthropic.com

这篇文章描述了通过 Contextual Retrieval 来提升检索增强生成(RAG)系统检索信息的能力。传统的 RAG 系统在处理文档时,会将其拆分为小文本块,这个过程中常常会丢失关键的上下文信息,导致检索失败。情境检索通过在每个文本块前添加由大型语言模型(如 Claude)生成的、概括其在文档中上下文的简短说明,来解决这个问题。

拆解后的内容可以见:https://gemini.google.com/share/d53247d80b86

Vibe code is legacy code

Updates and articles from the Val Town team

blog.val.town

完全同意文章作者的观点:将 Vibe Coding 比作给孩子一张信用卡,初期会带来极大的满足感,但最终会面临无法偿还的“债务”——即无法理解和维护的代码。编程的本质是“理论构建”,而非简单地生成代码行。在 AI 时代,开发者仍需保持对代码的理解和控制,像对待一个“过度热情但爱胡说八道的初级实习生”一样对待AI。

Vibe Coding 适合构建一次性工具和原型,对于需要持续维护(尤其是有较高复杂度)的项目,一定要谨慎 Vibe。

How Long Contexts Fail

Taking care of your context is the key to building successful agents. Just because there’s a 1 million token context window doesn’t mean you should fill it.

www.dbreunig.com

本文探讨了为什么更长的上下文(Context)并不总能带来更好的 AI 模型响应,反而可能以四种令人惊讶的方式导致代理和应用程序失败:上下文中毒(Context Poisoning)、上下文干扰(Context Distraction)、上下文混淆(Context Confusion)和上下文冲突(Context Clash)。当模型在上下文中遇到错误信息、因过长的历史记录而分心、被无关信息误导或处理相互矛盾的数据时,其性能就会下降。因此,仅仅扩大上下文窗口并不能解决所有问题,反而会为复杂的代理工作流程带来新的挑战。

AI代理的上下文工程:构建Manus的经验教训

这篇文章分享了Manus通过我们自己的"SGD"所达到的局部最优解。如果你正在构建自己的AI代理,我们希望这些原则能帮助你更快地收敛。

manus.im

本文是 Manus 团队关于构建 AI 代理(Agent)的经验总结,核心观点是“上下文工程(Context Engineering)”比模型微调更适合快速迭代的产品。文章详细阐述了在构建 Manus 过程中学到的几大关键原则,包括:围绕 KV 缓存进行设计以优化延迟和成本、通过掩蔽(Masking)而非移除来管理工具、将文件系统作为无限的外部上下文、通过复述任务来操控模型注意力、保留错误以帮助模型学习,以及避免少样本示例带来的思维固化。这些实践经验旨在帮助其他开发者更高效地构建稳定、可扩展的 AI 代理。

「上下文工程」会是构建 AI Agent 过程中绕不过去又极具挑战的一环,挺适合想要投身于 AI 领域的程序员。

Vibe code is legacy code

Updates and articles from the Val Town team

blog.val.town

完全同意文章的观点:将 Vibe Coding 比作给孩子一张信用卡,初期会带来极大的满足感,但最终会面临无法偿还的“债务”——即无法理解和维护的代码。编程的本质是“理论构建”,而非简单地生成代码行。在 AI 时代,开发者仍需保持对代码的理解和控制,像对待一个“过度热情但爱胡说八道的初级实习生”一样对待AI。

Vibe Coding 适合构建一次性工具和原型,对于需要持续维护(尤其是有较高复杂度)的项目,一定要谨慎 Vibe。

I stumbled upon this blog and saw the latest article, "15 Years Ago Yesterday." The first sentence immediately grabbed my attention:

"Fifteen years ago yesterday, I was 65 and lying on an operating table at UCLA Medical Center, about to have open heart surgery."

It's incredible to think this person is 80 years old and still blogging frequently! That's so cool!

关于 Yak Shaving

antfu.me

Antfu 分享了自己做开源项目的经验和看法,核心观点是“Yak Shaving”(剪牦牛毛)这一概念。Yak Shaving 原本指在完成一项任务时,不断被其他未完成的任务打断,最终偏离目标。然而,作者认为,如果运用得当,Yak Shaving 反而能成为推动进步的重要动力,尤其是在开源领域。

作者通过自己的亲身经历,讲述了如何从解决实际问题出发,逐步孵化出 i18n Ally、VueUse 和 vue-demi 等知名开源项目,并最终加入 Vue 团队,实现全职开源。他强调,成功的开源项目并非仅靠机遇、营销或技术创新,更重要的是开始项目的动机和持续的动力,而这种动力往往来源于解决自己遇到的实际问题。

文章提出了“Shave the Good Yak”的方法论:首先是“发现问题”,即解决自己遇到的实际问题,因为作为用户最了解痛点;其次是“解决问题”,在没有现有解决方案或现有方案不佳时,大胆尝试;接着是“点到为止”,不要抱太大期望,够用即可,及时回到主线任务;然后是“完善项目”,作为第一用户不断改进,并适时分享;最后是“发现更多问题”,通过解决问题和社区反馈进入正循环。

项飙:具体而直接的爱

「年轻人是我的衣食父母。」

mp.weixin.qq.com

我在「此刻」的愿望是,我们都能走向这样一个社会:每一个人都觉得自己的生命力在被滋养、在被放大,同时也能给别人滋养的感觉。