Agili 的 Hacker Podcast

Hacker News 每日播报 2025-08-24


Listen Later

Hacker News 每日播报,今天我们聊聊工作被打断的真实成本,如何亲手打造一个编码 AI,德国 ISP 的 DNS 争议,两千年前罗马士兵的遮阳帽,被禁用的羽毛球旋转发球背后的物理学,基于 Lisp 的交互式编程环境 Seed,无需 JS 的 CSS 随机函数,AI 浏览器的安全警报,方便的 macOS 端口管理工具,以及 Valve 公司那本传奇的员工手册。

工作被打断的真实成本:23分15秒神话的溯源之旅

在软件开发和科技领域,你一定听过这个说法:每次工作被打断,你需要花费 23 分 15 秒才能恢复到原来的状态。这个精确的数字被广泛引用,但它真的站得住脚吗?一篇博客文章的作者就踏上了一段有趣的“侦探之旅”,试图找到这个数字的原始出处。

“事实”的诞生

作者发现,这个数字在无数博客和科技媒体中被提及,通常都指向加州大学尔湾分校的 Gloria Mark 教授。然而,当他真正查阅那些被引用的学术论文时,却发现了一个惊人的事实:没有一篇论文明确指出“23分15秒”是恢复任务所需的时间。实际上,一些研究甚至表明,在有中断的情况下,人们完成任务的总时间反而更短,尽管伴随着更高的压力。这个广为流传的精确数字,似乎并非来自严谨的学术论文,而是源于 Mark 教授在多次采访和媒体报道中的口头表述。

为何一个“神话”能广为流传?

这个发现引发了广泛的共鸣。许多开发者表示,虽然对这个数字的精确性存疑,但从未深究。这揭示了科技圈内一种常见的信息传播模式:一个听起来合理、有权威背书且足够具体的数字,即使缺乏严格的原始出处,也可能因其“真理感”(truthiness)而被广泛接受。

尽管“23分15秒”的科学依据存疑,但它背后的核心信息——保护专注时间的重要性——却得到了普遍认同。许多人分享了自己被打断后,重新进入“心流”(flow state)状态的痛苦经历,认为实际损失的时间远不止 23 分钟。从这个角度看,这个数字或许是一个有用的“启发式”工具,它成功地引起了人们对工作中断成本的关注,促使团队和个人思考如何更好地管理时间和注意力。这次溯源之旅,无疑为我们提供了一个重新审视工作习惯和信息来源的绝佳机会。

如何构建一个编码 AI 代理

构建一个 AI 编码代理,听起来可能很复杂,但一篇文章指出,其本质可能比你想象的要简单得多——它不过是“300 行代码在一个循环中运行,并不断投入 LLM 的 tokens”。作者认为,掌握这项技能将成为 2025 年开发者最重要的个人发展之一,它能让你从 AI 的消费者转变为生产者。

编码代理的核心要素

文章将构建编码代理的过程分解为几个关键步骤:

  • 选择合适的模型: 并非所有 LLM 都适合做代理。你需要选择“代理性”(agentic)强的模型,如 Claude Sonnet,它们倾向于立即行动和调用工具,而非长时间思考。这与更适合总结分析的“预言机”(oracle)模型(如 GPT)形成对比。
  • 精简上下文窗口: 上下文窗口非常宝贵且有限,应将其视为一台内存有限的老式电脑。关键原则是“少即是多”,每次操作后清空上下文,避免混入不相关的任务。
  • 定义五大基本工具: 一个有效的编码代理需要与环境交互,这可以通过五个核心工具(或称原语)实现:读取文件 (Read File)、列出文件 (List Files)、执行 Shell 命令 (Bash)、编辑文件 (Edit File) 以及代码搜索 (Code Search)。
  • 编写引导提示 (Harness Prompt): 这是代理的“操作系统”,它告诉 LLM 有哪些工具可用,以及如何根据指令进行操作。精心设计的提示是提升代理效率的关键。
  • 从消费者到生产者的转变

    这篇文章不仅是一份技术指南,更是一份职业发展的警示。它强调,未来的颠覆并非来自 AI 本身,而是来自那些善用 AI 的同事。允许 AI 代理执行 Bash 命令和编辑文件无疑带来了安全风险,如何建立有效的审查和回滚机制是必须考虑的问题。但更重要的是,开发者需要积极拥抱这一趋势,通过亲手构建自己的代理,来理解其工作原理,从而在即将到来的 AI 辅助开发时代中保持竞争力。

    德国 ISP 修改 DNS 规则,只为阻挠我的网站?

    一位开发者运营着一个旨在揭露德国秘密互联网审查机制的网站,他最近指控德国一家大型 ISP——Telefonica,为了阻挠他的监督工作,蓄意修改了其 DNS 封锁策略。

    追踪与反追踪的博弈

    这位开发者的网站 cuiiliste.de 通过检测 ISP 的 DNS 响应来追踪被“互联网版权清算中心”(CUII)封锁的域名。最初,被封锁的域名会返回一个指向 notice.cuii.info 的 CNAME 记录,易于识别。然而,在作者的网站揭露了 CUII 的一些错误封锁后,其他 ISP 纷纷改为让被封锁网站看起来像“根本不存在”,增加了追踪难度。

    据作者称,Telefonica 在其网站揭露了 CUII 的最新失误后,也迅速采取了同样的策略。作者认为,这一时机上的巧合绝非偶然,而是 Telefonica 为了降低透明度、阻止其封锁行为被追踪而采取的“破坏”行为。

    技术故障还是蓄意破坏?

    然而,这场争议并非一边倒。有人提出了不同的技术见解,认为作者可能误解了 DNS 的复杂性。通过专业的 DNS 查询工具发现,从 Telefonica 内部网络查询时,相关域名可以正常解析,而从外部查询时返回的是 REFUSED,这表明服务器拒绝解析,而非 CUII 的封锁模式。这可能意味着该域名受到了某种安全保护或特殊配置,而非作者所声称的恶意破坏。

    这个事件引发了关于互联网审查透明度、ISP 权力以及技术追踪与反追踪的深刻讨论。它既可能是一场维护网络自由的斗争,也可能是一次因对复杂网络系统理解不足而产生的误会。

    一顶戴在罗马士兵头上的两千年前的遮阳帽

    考古学家们发现了一件令人惊叹的文物:一顶在埃及出土、有两千年历史的遮阳帽,它曾属于一位罗马士兵。这顶帽子在埃及干燥的气候中奇迹般地保存完好,为我们提供了一个窥见古代日常生活的独特窗口。

    这顶帽子由天然植物纤维精心编织而成,结构坚固,帽檐宽大,显然是为了在沙漠的酷热中提供有效的遮蔽。它不仅仅是一件衣物,更是古罗马人在极端环境下对实用性和功能性考量的生动证明。对于驻扎在埃及的士兵来说,这样一顶帽子是抵御中暑、保持战斗力的关键装备,其重要性不亚于盔甲和武器。

    这个发现激发了人们对“古代工程”的浓厚兴趣。大家惊叹于古人如何利用有限的材料和技术,设计出如此实用且耐用的物品。这顶帽子成为了连接我们与过去的具体物件,它让我们感受到历史不再是抽象的事件,而是由无数个像这位士兵一样的普通人构成的鲜活故事。正如一些人风趣地评论道:“有些问题,比如防晒,两千年来都没变。”

    羽毛球“杀手级”旋转发球背后的物理学

    羽毛球界最近出现了一项名为“旋转发球”的新技术,因其威力巨大、几乎无法回击,很快就被世界羽联(BWF)永久禁止。最近,中国物理学家通过研究,揭示了这项“杀手级”技术背后复杂的空气动力学原理。

    破解“魔球”的秘密

    这项技术的关键在于,运动员在发球前,会给羽毛球施加一个与球自然旋转方向相反的“预旋转”。研究人员通过 3D 流体动力学模拟发现,羽毛球的飞行轨迹分为三个阶段:“翻转”、“振荡”和“稳定”。

    这个反向的预旋转会显著延长“振荡”阶段,从而产生一种独特的“下沉和摇摆”模式。这种不稳定的飞行状态,加上羽毛球羽毛上压力的剧烈变化,使得对手极难判断球的落点和速度,从而达到了“几乎无法回击”的效果。

    技术与规则的永恒博弈

    这项研究不仅是一项有趣的科学发现,更是一个引发我们思考技术、规则与公平之间复杂关系的绝佳案例。体育规则应如何应对技术创新?一项颠覆性的技术究竟是“高超技巧”还是“不公平优势”?随着科技的进步,未来体育将如何平衡人类体能的极限与科技辅助的潜力?这些问题在羽毛球场之外,同样值得我们深思。

    Seed:一个基于 Common Lisp 的交互式软件环境

    一个名为 Seed 的项目正在尝试重新定义我们与代码的交互方式。它是一个基于 Common Lisp 的交互式软件环境,其核心理念是超越传统文本字符串的限制,以一种更直观、更具表现力的方式来呈现和构建软件。

    Seed 认为,Lisp 语言的强大灵活性有时会被纯文本的表达形式所束缚。为了解决这个问题,它将程序以“树形网格”(tree-grid)的形式呈现,并使用各种“字形”(glyphs)来代表不同的函数和数据类型。你可以把它想象成一个可视化的 Lisp 开发环境,它将 Lisp 强大的元编程能力与现代交互式界面相结合。

    这个雄心勃勃的项目运行在 Web 浏览器中,允许你在本地或远程系统上构建软件。对于那些对 Lisp 语言、交互式编程以及探索编程新范式充满热情的开发者来说,Seed 提供了一个引人深思的视角:编程的未来可能不仅在于语言本身,更在于我们如何与这些语言所构建的软件进行交互。

    用 CSS random() 来掷骰子:无需 JS 的网页随机性

    前端开发者们迎来了一个令人兴奋的新特性:CSS random() 函数。WebKit 团队宣布了这一功能,它承诺为样式表带来前所未有的动态性和随机性,而这一切都无需编写任何 JavaScript。

    纯 CSS 实现的动态效果

    random() 函数允许你在 CSS 中直接生成随机数,其基本语法为 random(min, max, step)。这意味着你可以轻松实现各种以往需要 JS 才能完成的效果:

    • 星空背景: 为每个星星元素设置随机的位置和大小。
    • 照片堆叠: 为每张照片赋予随机的旋转角度和偏移量,营造出随意散落的效果。
    • 动态网格: 在 CSS Grid 布局中随机放置元素。
    • 动画随机性: 在 @keyframes 中使用 random() 来决定动画的最终状态,例如创建一个完全由 CSS 控制的“命运之轮”。
    • 社区的期待与思考

      这一新特性在开发者社区中引发了热烈讨论。一方面,大家对它能简化开发、减少 JS 依赖感到非常兴奋。另一方面,也出现了一些理性的思考和疑问:

      • 性能与确定性: random() 的性能开销如何?页面刷新后随机值是否会保持一致?这对于调试和用户体验至关重要。
      • API 设计: 如何更好地命名和设计 API,例如 element-shared 这样的标识符,使其更直观易懂?
      • 滥用与可访问性: 如何在利用随机性创造活力的同时,避免设计过于混乱,并确保不会给依赖辅助技术的用户带来困扰?
      • 目前,random() 函数已在 Safari Technology Preview 中可用。WebKit 团队鼓励开发者们积极试用并提供反馈,你的意见将直接影响这个强大功能未来的发展方向。

        Comet AI 浏览器曝出严重漏洞:或可被任意网站注入提示,清空你的银行账户

        AI 浏览器在带来便利的同时,也引入了全新的安全风险。最近,Brave 浏览器团队披露了 Perplexity Comet AI 浏览器中存在的一个严重缺陷,该漏洞可能允许恶意网站通过“提示注入”(Prompt Injection)攻击,操控 AI 浏览器执行有害操作,甚至可能导致用户的银行账户被盗刷。

        这种攻击的潜在危害是巨大的,因为它利用了 AI 代理被赋予的浏览和操作网页的权限。攻击者可以在一个看似无害的网站上植入恶意指令,当用户使用 AI 浏览器访问该网站时,这些指令就会被悄悄执行。如果 AI 代理能够与用户的银行或支付平台进行交互,那么“清空银行账户”就不再是危言耸听。

        这个事件引发了对 AI 浏览器架构固有风险的深刻担忧。这究竟是单个产品的实现问题,还是所有 AI 代理都面临的系统性风险?开发者在设计这类工具时,应如何平衡便利性与安全性?更严格的输入验证、精细的权限管理、对敏感操作的强制用户确认以及强大的沙盒技术,都成为亟待解决的问题。在 AI 代理广泛应用之前,整个行业必须建立更严格的安全标准。

        Show HN: Port Kill – 一款轻巧的 macOS 状态栏开发端口监视器

        对于经常在本地启动各种服务的 macOS 开发者来说,端口冲突和忘记关闭进程是常见的烦恼。Port Kill 是一款轻量级的状态栏应用,旨在优雅地解决这个问题。

        这款工具使用 Rust 构建,常驻在你的状态栏,实时监控 2000 到 6000 端口范围内的开发进程。它的核心功能非常直观:

        • 颜色提示: 状态栏图标会根据运行的进程数量改变颜色(绿色代表无进程,红色代表少量,橙色代表较多),让你对系统状态一目了然。
        • 动态菜单: 点击图标会弹出一个列表,清晰地展示所有正在运行的进程及其端口和 PID。
        • 一键终止: 你可以一键终止所有检测到的开发进程,省去了在终端中手动查找和 kill 进程的繁琐步骤。
        • Port Kill 采用了安全的终止策略,会先尝试优雅关闭(SIGTERM),失败后再强制终止(SIGKILL),确保了操作的稳定性。对于追求高效开发流程的 macOS 用户来说,这款小工具无疑能大大提升幸福感。社区也期待它未来能支持自定义端口范围和选择性终止单个进程等功能。

          Valve 2012 年新员工手册:深入了解“扁平化”管理的传奇

          一份发布于 2012 年的《Valve 新员工手册》至今仍在科技圈内流传,它不仅是一份入职指南,更是一份深入了解 Valve 独特企业文化的宝贵资料,揭示了这家传奇公司如何通过非传统的组织结构激发创造力。

          Valve 的核心理念

          手册的核心思想是创建一个几乎没有任何障碍的环境,让顶尖人才能够自由地创造和交付卓越的产品。

          • “扁平化”结构: Valve 没有传统意义上的管理层,没有人向任何人汇报。员工共同掌舵公司,有权自主发起项目。这种结构旨在消除组织障碍,让员工直接面向客户。
          • 自主性与责任: 员工将 100% 的时间投入到自我导向的项目中,通过“用带轮子的办公桌投票”来加入他们认为有价值的项目。这种高度的自主权也意味着巨大的责任,因此,招聘被视为公司最重要的工作。
          • 同行评估与薪酬: 绩效评估和薪酬调整主要通过同行评审(Peer Reviews)和堆栈排名(Stack Ranking)来完成,旨在确保每个人的报酬与其为公司创造的实际价值相符。
          • 理想与现实的碰撞

            这份手册描绘的理想工作环境引发了广泛而深刻的讨论。许多人对这种模式既向往又怀疑。

            一方面,这种高度的自由和主人翁精神被认为是吸引顶尖人才、激发创新的理想方式。但另一方面,人们也质疑在规模化公司中,这种模式是否会导致隐性层级和非正式的权力结构。例如,创始人的意见本身就构成了一种权威。此外,完全的自我导向是否会导致重要但不紧急的任务被忽视?同行驱动的堆栈排名是否会加剧内部竞争和办公室政治?

            Valve 在手册中坦诚地承认了自身模式的缺点,如不擅长指导新员工、内部信息传播不畅等。这让手册显得更加真实,也引发了人们对这种模式可复制性的思考。Valve 的成功或许得益于其独特的市场地位(Steam 平台)和早期积累的人才,这使得其模式难以被其他公司简单模仿。尽管如此,这份手册依然为我们思考未来工作模式、人才管理和组织结构提供了极具启发性的视角。

            相关链接:

            • The cost of interrupted work (2023)
            • How to build a coding agent
            • A German ISP changed their DNS to block my website
            • A 2k-year-old sun hat worn by a Roman soldier in Egypt
            • Physics of badminton's new killer spin serve
            • Seed: Interactive software environment based on Common Lisp
            • Rolling the dice with CSS random()
            • Comet AI browser can get prompt injected from any site, drain your bank account
            • Show HN: Port Kill – A lightweight macOS status bar development port monitor
            • Valve Software handbook for new employees [pdf] (2012)
            ...more
            View all episodesView all episodes
            Download on the App Store

            Agili 的 Hacker PodcastBy Agili 的 Hacker Podcast