2025-04-28

40 篇热帖

1. Show HN: I built a hardware processor that runs Python (www.runpyxl.com)

RunPyXL 是一个概念验证项目,展示了一种直接在硬件中执行 Python 代码的自定义处理器,无需解释器、JIT 或操作系统。

核心原理与架构

  • RunPyXL 将 .py 文件通过自定义工具链编译:首先生成 CPython 字节码,然后翻译成一种自定义汇编指令,最终生成在全新设计的流水线处理器上运行的二进制代码。
  • 该处理器运行在 Xilinx Zynq-7000 FPGA (Arty-Z7-20 开发板) 上。RunPyXL 核心时钟频率为 100MHz。板上的 ARM CPU 负责初始化和内存管理,但 Python 代码本身完全在 FPGA 硬件中执行。
  • GPIO(通用输入输出)引脚直接物理连接到 FPGA,并映射到处理器的核心模块中,使得 Python 代码可以像访问内存一样直接访问硬件引脚,绕过了所有软件中间层。

关键性能与特性

  • 极低延迟:在一次 GPIO 引脚写入到另一个引脚读取的循环测试中,RunPyXL 的往返延迟仅为 480 纳秒
  • 显著性能优势:相比在 PyBoard(MicroPython)上运行相同功能(尽管代码略有不同),RunPyXL 的速度快了约 30 倍。如果将两者时钟频率标准化(因 RunPyXL 基于 FPGA 而非专用芯片,时钟较低),其优势可达 50 倍
  • 确定性与实时性:RunPyXL 的执行时间是恒定且可预测的,每次测试都得到精确的 480 纳秒结果。而 MicroPython 的运行时存在抖动(结果在 14-25 微秒之间波动)。这使得 RunPyXL 具备真正的实时系统特性。

演示与对比

  • 通过一段视频演示了在 FPGA 上用跳线连接两个 GPIO 引脚的测试。RunPyXL 代码直接调用 pyxl_write_gpio_pin1pyxl_read_gpio_pin2pyxl_get_cycle_counter 等内部函数来操作硬件和计时。
  • 主要性能差距源于架构:传统 Python 虚拟机(如 MicroPython)通过软件解释器访问硬件,引入了开销;而 RunPyXL 让 Python 语义直接在硅片中执行,消除了这一层抽象。

潜在应用与意义

  • 这项技术的意义不仅在于速度提升,更在于为 Python 打开了高性能、实时硬件控制的大门。它使得用纯 Python 编写以下应用成为可能:
    • 实时控制系统。
    • 需要严格时序约束的机器学习推理与传感器响应循环。
    • 要求周期级精度的机器人任务(如电机反馈、传感器融合)。
    • 对时序和可靠性要求高的工业嵌入式系统。
  • 项目仍处于概念验证阶段,旨在展示“Python 在硬件中运行”的可行性与潜力。
4. Uncovering the mechanics of The Games: Winter Challenge (mrwint.github.io)

An investigation into The Games; Winter Challenge

5. Internet in a Box (internet-in-a-box.org)

Internet-in-a-Box is a tiny, powerful 'Digital Library of Alexandria' that can be set up by any school, medical clinic or community worldwide.

6. AI helps unravel a cause of Alzheimer’s and identify a therapeutic candidate (today.ucsd.edu)

研究揭示阿尔茨海默症新病因及潜在疗法

阿尔茨海默症是老年人群中最常见的痴呆症类型,目前治疗手段有限。加州大学圣地亚哥分校的研究团队利用人工智能技术,发现磷酸甘油酸脱氢酶(PHGDH)基因不仅是疾病生物标志物,更是自发性阿尔茨海默症的致病原因,并鉴定出一种有望缓解疾病进展的小分子抑制剂。

PHGDH基因的因果作用

此前,PHGDH基因的表达水平已被证实与阿尔茨海默症的脑部病变程度呈正相关。本研究通过小鼠模型和人类脑类器官实验证实,降低PHGDH表达可减缓疾病进展,而增加其表达则会加剧病变,从而确立了该基因与自发性阿尔茨海默症之间的因果关系。

人工智能揭示未知功能

研究人员利用人工智能解析了PHGDH蛋白的三维结构,发现其包含一个与DNA结合结构域高度相似的亚结构。这一发现揭示了PHGDH除其已知的酶功能(参与丝氨酸合成)外,还具有全新的转录调节功能。该功能可激活特定靶基因,破坏脑细胞正常的基因开关平衡,进而导致阿尔茨海默症的发生。

靶向新功能的治疗候选物

基于此机制,研究团队筛选出小分子抑制剂NCT-503。人工智能建模显示,NCT-503能特异性结合PHGDH蛋白的DNA结合亚结构,抑制其异常转录调节作用,而不显著影响其酶活性。在两种阿尔茨海默症小鼠模型中的测试表明,NCT-503能显著改善小鼠的认知功能并减轻焦虑症状,且该分子具备穿透血脑屏障的能力。

意义与展望

该研究不仅阐明了自发性阿尔茨海默症的一个新致病途径,还提供了上游干预的策略,有望在淀粉样蛋白斑块形成前进行干预。NCT-503作为一种潜在口服小分子药物,为阿尔茨海默症治疗提供了新的候选方向。下一步将进行化合物优化并推进临床前研究。

研究发表于《细胞》期刊,由美国国立卫生研究院资助。

7. Tiny-LLM – a course of serving LLM on Apple Silicon for systems engineers (github.com)

A course of learning LLM inference serving on Apple Silicon for systems engineers: build a tiny vLLM + Qwen. - skyzh/tiny-llm

8. Reports of widespread power cuts in Spain and Portugal (www.bbc.com)

Power has now been fully restored in Spain and Portugal, as officials continue to investigate what caused the outage.

10. I just want to code (2023) (www.zachbellay.com)

本文作者通过“肩上天使与魔鬼”的隐喻,探讨了编程过程中纯粹乐趣与功利追求之间的内心冲突。作者自幼因游戏和机器人接触编程,将技术探索视为玩乐,并自然积累了知识。同时,长期接触创业媒体(如《连线》、《创业者》杂志)和社交平台内容,也塑造了追求财富、地位和创业成功的“魔鬼”声音。

这两种声音持续角力:“天使”鼓励为兴趣和学习而编程,“魔鬼”则催促将技能转化为创业项目或副业以求盈利。作者指出,在现实中,为生计需关注技术趋势,因此“魔鬼”并非全无道理,但它也可能导致倦怠。随着时间推移,作者学会了辨识何时听从内心热情、何时考虑实际收益,并寻求一种平衡——既不过度强迫自己从事无兴趣的营利项目,也不完全忽视现实需求。最终,关键在于管理而非消灭这种矛盾,使其服务于个人成长与可持续的职业生活。

13. How a single line of code could brick your iPhone (rambo.codes)

Gui Rambo writes about his coding and reverse engineering adventures.

14. Business co-founders in tech startups are less valuable than they think (verdikapuku.com)

This is Verdi's personal website. He writes about interesting ideas or projects.

15. Creating Bluey: Tales from the Art Director (substack.com)

《Bluey》动画的首席艺术总监卡特里奥娜·德拉蒙德分享了她参与这部全球现象级作品初期创作的幕后经历。她于2017年加入时,制作团队最初仅由创始人乔·布鲁姆、绑定师欧文·伊曼纽尔和她三人组成。

卡特里奥娜回顾了她在2014年从格里菲斯大学动画专业毕业后的职业挣扎。尽管毕业作品获奖,但她深感澳大利亚本土动画行业机会有限,且自身绘画技术基础薄弱。她一直向往进入美国动画行业,但屡屡受挫,感到孤独和迷茫。

2015年,在墨尔本国际动画节上,她首次结识了乔·布鲁姆,其作品已展现出深厚的叙事能力。此后数年,她通过定期更新作品集与乔保持联系。2017年,她在乔的Studio Joho参与了几个项目的前期工作,逐渐建立起信任。

当乔完成《Bluey》的试播集《周末》后,将其展示给卡特里奥娜。该剧深深植根于布里斯班本土文化的特质——从场景、音乐到整体氛围——立即吸引了她,这让她无需妥协自己的创意身份。最终,在ABC电视台批准项目后,23岁的卡特里奥娜收到了担任首席艺术总监的正式邀请。

加入后,她与小型团队在昆士兰科技大学的合作空间开始了工作。在乔清晰的愿景指导下,她在约三个月内高效确立了《Bluey》的整体视觉风格,并设计了标志性的Heeler住宅。她指出,乔作为节目主创的优势在于其丰富的行业实践经验和对动画制作流程的深刻理解,这使得他们能够避免常见的开发陷阱。同时,来自ABC和BBC的资金支持给予了他们充分的创作自由,避免了外部对设计的过度干预。

卡特里奥娜强调,这段经历让她认识到,所谓的“幸运”是长期努力和主动将自己置于机会面前的结果。更重要的是,《Bluey》的成功让她在职业生涯中首次感受到,创作植根于个人热情与本土文化的故事,能带来真正的创意满足感和归属感,这改变了她以往对职业成功的看法。

17. Did 5G kill the IMSI catcher? (zetier.com)

Understand the mechanics, risks, and the future of IMSI catching (a.k.a. stealing your cellular ID) in 2025. Read our primer on this niche form of hacking.

18. Libogc (Wii homebrew library) discovered to contain code stolen from RTEMS (github.com)

The Homebrew Channel - open source edition. Contribute to fail0verflow/hbc development by creating an account on GitHub.

19. It's School time: Adventures in hacking an old Kindle (samkhawase.com)

Jailbreaking an old Kindle and turning it into a school dashboard using Cloudflare Workers, Puppeteer, and image processing.

20. Boxie – an always offline audio player for my 3 year old (mariozechner.at)

How I built a simple portable audio player for my boy, summoning the spirit of the Gameboy

21. The group chats that changed America (www.semafor.com)

A loose private network on Signal and WhatsApp helped usher in the new alliance between Silicon Valley and Donald Trump’s new right.

23. New material gives copper superalloy-like strength (news.lehigh.edu)

New Material Gives Copper Superalloy-like Strength | Lehigh University News |

24. The hospital where staff treat fear of death as well as physical pain (www.theguardian.com)

<strong>The long read:</strong> In a Danish palliative care unit, the alternative to assisted dying is not striving to cure, offering relief and comfort to patients and their families

27. We need more optimistic science fiction (craig-russell.co.uk)

We cannot create a better world if we cannot imagine it.

28. The suburban office park that launched Silicon Valley (thehustle.co)

Stanford built one of the first office parks in the country. Tech pioneers swooped in.

29. China's Clinical Trial Boom (www.asimov.press)

中国在临床试验领域正经历快速增长,其药物研发模式正对全球制药行业产生深远影响。过去几年,中国已成为全球临床试验活动的重要中心,约四分之一的早期药物研发和临床试验发生在中国。大型制药公司从中国实验室引进实验性分子的比例从几年前的10%跃升至约三分之一,许多公司会先在中国以较低成本完成I期试验,再将项目转让给西方公司进行昂贵的后续试验。

中美临床试验发展趋势对比

  • 美国:临床试验数量在2010年代初期稳步增长后趋于平稳,每年约1900项。近年来趋势是试验数量增多但规模变小,超过四分之三的试验招募参与者少于100人,有时因招募困难而被迫缩减规模。
  • 中国:临床试验数量在2010年代中期前相对较低,但自2017年起急剧增长,从每年约600项增至2023年的近2000项,与美国水平持平甚至超越。中国试验不仅数量增加,而且超过40%的试验具有高入组人数,同时原创新药数量从2010年几乎为零增长到2023年接近美国水平。

中国临床试验快速发展的主要原因

  1. 监管改革:中国药品监督管理局实施了一系列措施以加速审批:
    • 优先审评与附条件批准:针对未满足临床需求的药物开通加速审评通道。
    • “默示许可”政策(2017年):监管机构若在60天内无异议,临床试验即自动获得批准。
    • 加入国际人用药品注册技术协调会(2017年)并更新规则,允许接受海外临床试验数据,避免了不必要的重复研究。例如,安进公司的药物XGEVA基于不含中国研究中心的全球II期研究数据,于2019年获批。
  2. 政策环境:中国政府实施了降低市场准入壁垒和简化审批的改革。
  3. 国际投资与人才回流:更容易的审批和商业化前景吸引了国际投资,推动了生物技术行业的繁荣。

启示与影响 中国的经验表明,简化监管流程、认可可信的外国数据、平衡监管与创新政策,能够显著提高临床试验的容量和速度。尽管方法不同(中国更依赖自上而下的协调与激励),但中美两国的案例都说明,将监管结构与参与激励相结合,有助于释放试验能力。日本、韩国、印度等国正在效仿中国的做法。

文章指出,美国的《临床试验丰裕计划》等提案也针对本土障碍(如保险体系碎片化、行政繁文缛节)提出改革建议,旨在增加临床试验的速度和包容性,但这些提案面临资金限制和政治分歧等挑战。文章最后强调,能够优化其框架以加快启动时间、认可外国数据并平衡监管与创新关系的国家,有望引领下一波药物发现浪潮。

30. East German Stasi Tactics – Zersetzung (2021) (www.maxhertzberg.co.uk)

A look at the experiences of activists in East Germany (GDR) dealing with Stasi informants and infiltration before the fall of the Berlin Wall in 1989.

31. Show HN: I486SX_soft_FPU – Software FPU Emulator for NetBSD 10 on 486SX (github.com)

Bring back FPU emulation for i486SX CPU on NetBSD. Contribute to mezantrop/i486SX_soft_FPU development by creating an account on GitHub.

32. Presentation Slides with Markdown (sli.dev)

Presentation slides for developers

33. How NASA Is Using Graph Technology and LLMs to Build a People Knowledge Graph (memgraph.com)

Missed NASA’s People Graph webinar? Catch the recap and see how graph technology and AI are shaping the future of workforce intelligence.

35. Show HN: I created snapDOM to capture DOM nodes as images with exceptional speed (github.com)

SnapDOM 项目总结

核心概述

SnapDOM 是一款超快速、模块化、可扩展的下一代DOM捕获引擎。它能够将任何DOM子树转换为自包含表示,并导出为SVG、PNG、JPG、WebP、Canvas、Blob或通过插件支持的任何自定义格式

核心功能与特性

  • 完整DOM捕获:支持嵌入样式、伪元素和字体。
  • 多样导出:可输出为SVG、PNG、JPG、WebP、Canvas或Blob。
  • 极致性能:⚡ 超快,无依赖,100%基于标准Web API。
  • 广泛支持:支持同源iframe、CSS counter()counters()line-clamp等。
  • 演示https://snapdom.dev

快速开始

import { snapdom } from '@zumer/snapdom';

// 一行代码将DOM元素捕获为PNG
const img = await snapdom.toPng(document.querySelector('#card'));
document.body.appendChild(img);

// 可重用捕获(一次克隆,多次导出)
const result = await snapdom(document.querySelector('#card'));
await result.toPng();      // → HTMLImageElement
await result.toSvg();      // → SVG作为Image
await result.download({ format: 'jpg', filename: 'card.jpg' });

捕获流程

SnapDOM通过以下阶段转换DOM元素:

  1. 克隆:深度克隆,包含样式、Shadow DOM和iframe。
  2. 样式与伪元素:内联::before/::after,解析counter()
  3. 图像与背景:获取并内联外部图像/背景为数据URL。
  4. 字体:嵌入@font-face和图标字体。
  5. SVG:将克隆体包裹在<foreignObject>中,序列化为data:image/svg+xml
  6. 导出:将SVG转换为PNG/JPG/WebP/Blob或触发下载。

插件钩子贯穿整个流程:beforeSnapbeforeCloneafterClonebeforeRenderafterRenderbeforeExportafterExport

安装

# NPM/Yarn (稳定版)
npm i @zumer/snapdom
yarn add @zumer/snapdom

# CDN (稳定版)
<script src="https://unpkg.com/@zumer/snapdom/dist/snapdom.js"></script>

构建输出提供ESM(可用于打包工具)和IIFE(全局脚本)两种格式。

使用模式

  • 可重用捕获:一次克隆,多次导出,无需重新克隆。
  • 单步快捷方式:当只需要单一格式时使用,代码更简洁。

API概览

  • snapdom(el, options?):返回一个包含可重用导出方法的对象(toPng, toSvg, toBlob, download等)。
  • 快捷方法:如snapdom.toPng(el, options?),用于直接导出。

选项配置

支持丰富的配置项,包括:

  • 调试与性能debug, fast
  • 字体处理embedFonts, localFonts, iconFonts, excludeFonts
  • 尺寸与质量scale, dpr, width, height, quality
  • 跨域处理useProxy(为CORS受限资源提供代理回退)。
  • 节点过滤exclude(CSS选择器)和filter(自定义谓词函数)。
  • 视觉控制outerTransforms, outerShadows
  • 缓存控制cachedisabled, soft, auto, full)。

插件系统(BETA)

SnapDOM包含一个轻量级插件系统,允许在捕获和导出的任何阶段扩展或覆盖行为。

  • 官方插件:提供如filter(滤镜)、timestamp-overlay(时间戳)、pdf-image(PDF导出)等。
  • 社区插件:可在项目页面查找和提交。
  • 构建插件:提供插件模板和规范,可在5分钟内构建。
  • 生命周期钩子:如afterClonebeforeRenderdefineExports(用于添加自定义导出器)。

性能基准

在Chromium环境下,SnapDOM的捕获速度远超html2canvashtml-to-image等竞品,尤其在复杂元素场景下优势显著。

局限性

  • 外部图像需支持CORS(可通过useProxy处理)。
  • Safari中对WebP格式支持有限,将回退到PNG。
  • 在Safari中,包含embedFonts或背景/遮罩图像的捕获可能较慢(受WebKit特定bug影响)。
  • 自定义滚动条样式仅在元素未滚动时应用。

开发与贡献

  • 源码结构:清晰的模块划分(src/api/, src/core/, src/modules/, src/exporters/)。
  • 开发流程:克隆仓库,使用npm run compile构建,npm test运行测试。
  • 贡献者:项目由多位开发者共同贡献和维护。
  • 许可证:MIT © Zumerlab
36. Why Momentum Works (2017) (distill.pub)

动量优化方法为何有效

本文深入探讨了动量优化算法的原理,解释其为何能加速梯度下降并改善收敛性。文章通过凸二次模型进行数学分析,揭示了动量超越“减少振荡”这一直观解释的更深层动力学机制。

核心问题:梯度下降的局限性

  • 梯度下降简单且保证收敛,但在遇到病态曲率(如狭窄山谷、峡谷地形)时收敛速度极慢。
  • 问题根源在于特征空间不同方向上的收敛速率差异巨大。条件数 κ = λ_max/λ_min 直接衡量了病态程度,κ 越大,优化越慢。
  • 最优步长 α = 2/(λ_min + λ_max) 使最大和最小特征值方向以相同速率收敛,收敛速率为 (κ-1)/(κ+1)。

动量:对梯度下降的增强

  • 动量更新规则引入了一个速度变量 z
    z^{k+1} = β z^k + ∇f(w^k)
    w^{k+1} = w^k - α z^{k+1}
    
  • 当 β=0 时退化为梯度下降;β 接近 1 时(如 0.99)能显著加速。
  • 物理类比:梯度下降如步行下山,动量如带有惯性的重球滚下山。

动量的动力学分析(基于凸二次模型)

  1. 允许更大的步长范围

    • 梯度下降要求 0 < αλ_i < 2 才能收敛。
    • 动量将收敛条件放宽为 0 < αλ_i < 2 + 2β,允许使用更大的步长而不发散。
  2. 最优参数与收敛加速

    • 通过分析 2×2 迭代矩阵 R 的特征值 σ1, σ2,收敛速率由 max(|σ1|, |σ2|) 决定。
    • 最优参数为:
      α = (2 / (√λ_min + √λ_max))^2
      β = ((√λ_max - √λ_min) / (√λ_max + √λ_min))^2
      
    • 收敛速率改善为 (√κ - 1)/(√κ + 1),相当于将条件数开平方,获得平方根级别的加速
  3. 关键见解

    • 动量的有效性并非主要源于平滑振荡,而是它从根本上改善了优化景观的条件数。
    • 最优参数设置时,收敛过程中会产生振荡,但这是快速收敛的自然表现,而非问题。

直观解释与示例

  • 多项式回归示例:特征向量对应数据主成分,最大特征值方向代表最鲁棒(抗噪声)的成分。动量能更快地捕获这些主要模式。
  • 早停止作为一种隐式正则化:类似于梯度下降中早停止的效果,但动量在优化过程中同时探索了不同复杂度的模型。

随机梯度下的动量

  • 当使用随机梯度(如 minibatch)时,引入噪声 error(w)
  • 动量迭代分解为确定性部分和随机噪声部分:
    • 初始瞬态阶段:噪声小于梯度,动量高效收敛。
    • 随机阶段:噪声主导,动量效果减弱,但噪声本身可作为一种正则化。

动量的最优性与局限

  • Nesterov 下界证明,在所有线性一阶方法(包括梯度下降、动量、Adam 等)中,动量达到的收敛速率是理论上最优的。
  • 存在一类特别设计的“凸 Rosenbrock”函数(长链耦合问题),能证明该下界,任何线性一阶算法都无法超越。
  • 这并不意味着动量在所有场景都是最佳,而是确立了该算法类别的理论极限。

结论

动量优化器之所以有效,是因为它:

  1. 大幅改善了病态问题的条件数,实现平方根级加速。
  2. 允许使用更大的步长,在加速的同时保持稳定。
  3. 其最优参数设置具有明确的数学形式,且在实践中可近似使用(β 接近 1,α 为梯度下降最优步长的约 2 倍)。
  4. 在随机梯度环境下,其加速特性在优化初期尤为明显。

尽管存在理论下界,动量作为一阶方法的最优解,在机器学习实践中已被证明是强大且不可或缺的工具。

37. Here's how to get ChatGPT to stop being an overly flattering yes man (old.reddit.com)

r/ChatGPT 社区规则摘要

  • 用户行为准则

    • 规则1:善意交流:用户需秉持善意,相互尊重,避免曲解他人观点和传播虚假信息。
    • 规则2:禁止低质内容:删除无价值或低努力的帖子。明确禁止“ChatGPT是否宕机”类帖子,相关问题请查阅置顶FAQ。
  • 内容限制

    • 规则3:禁止商业广告:帖子必须与ChatGPT或大型语言模型相关,不得用于单独宣传其他LLM服务。
    • 规则4:政治讨论范围:允许讨论AI/LLM相关政治议题,但不讨论其他具体政治话题(如特朗普政策或亨特·拜登)。
    • 规则5:无NSFW内容:子版块为全年龄向(SFW),违规内容将被移除,屡犯者可能被封禁。
  • 特定话题管理

    • 规则6:版本变更反馈:关于GPT-4o到GPT-5版本变更的投诉,请在指定专帖中提出。
    • 规则7:AI艺术创作
      • 鼓励提交独特、有趣或有技术见解的作品,禁止泛泛的梗图和低质量内容。
      • 帖子应包含对AI技术或创作过程的思考与讨论。
      • 管理员保留根据标准移除帖子的权力。
39. Watching o3 model sweat over a Paul Morphy mate-in-2 (alexop.dev)

o3模型解决国际象棋难题的过程摘要

背景

作者向OpenAI的o3模型提出一个国际象棋难题,模型表现出类似人类的行为:思考、怀疑、重试,并最终通过Bing搜索找到答案。难题是Paul Morphy的著名“两步将死”谜题,来自国际象棋博客。

难题描述

棋盘位置:白方国王在c8,车在a1,兵在b6;黑方国王在a8,象在b8,兵在a7和b7。目标是白方在两步内将死黑方。此谜题可在国际象棋网站上找到更多细节。

模型解决过程

o3模型在约8分钟内逐步解决难题,表现出类似人类的问题解决策略:

1. 仔细的棋盘分析

  • 模型花费几分钟根据图像仔细重建棋盘,描述所有棋子的位置。
  • 行为类似智能体:先理解位置,再尝试走法。

2. 第一个想法和怀疑

  • 测试明显走法如b7#Rxa7#,但立即自我怀疑。
  • 分析显示这些走法无效:例如,Rxa7#后黑方可以应以象吃,避免将死;b7+因黑兵在b7而非法。

3. 尝试使用Python

  • 当纯推理不足时,模型尝试编程解决,导入chess模块运行模拟,但失败(ModuleNotFoundError),表明缺乏外部工具支持。

4. 逐像素图像分析

  • 模型转为手动分析图像,测量棋盘方格像素(如726像素高,每方格约88像素),尝试通过坐标推断棋子。
  • 表现出顽固的计算努力,并开始怀疑谜题是否可解。

5. 仍在思考

  • 模型表现出轻微恐慌迹象,但继续计算,不确定最佳走法,考虑过“中央化国王”等策略。

6. 通过网络搜索作弊

  • 最终,在接近8分钟时,模型使用Bing搜索国际象棋论坛,找到建议走法Ra6
  • 尽管作弊,模型重新检查并理解了Ra6如何导致将死,表明它不仅仅复制答案。

时间线总结

  • 初始分析(0-2分钟):仔细重建棋盘。
  • 探索与怀疑(2-4分钟):测试想法,自我纠正。
  • 失败尝试(4-6分钟):尝试Python和像素分析,表达怀疑。
  • 解决(6-8分钟):使用网络搜索,验证答案。

关键见解

  • o3模型展示了问题解决的复杂性:它推理、挣扎、切换工具(如从推理到Python到图像分析),并自我纠正。
  • 行为类似人类:先尝试内部方法,再求助外部资源。
  • 当前模型在解决需要创造力的复杂谜题(如国际象棋中的zugzwang式解法)时,可能仍需外部支持。
  • 过程突出了模型的适应性和局限性,尽管有时通过“作弊”方式,但体现了工具使用的灵活性。
40. Naur's "Programming as Theory Building" and LLMs replacing human programmers (ratfactor.com)

Naur 的“编程作为理论构建”与 LLM 取代人类程序员

本文基于 Naur 的论文,探讨了“理论”在编程中的意义,并批判了 LLM 取代人类程序员的观点。核心概念源自哲学家 Gilbert Ryle 的《心的概念》。

理解“理论”概念

Naur 所指的“理论”并非抽象知识,而是程序员在开发过程中必须拥有的心智模型。Ryle 用类比解释:农民建造一条路径后,可以轻松散步,但建造路径的工作是挖掘、铺设等繁重劳动,而非散步本身。类似地,拥有理论的人可以轻松阐述或使用理论,但构建理论的过程是创造性工作,不能与理论应用混淆。因此,理论不能等同于其产物(如代码或文档)

LLMs 的幻觉

LLMs 能够模拟理论性行为(如解释代码或回答查询),但这只是基于训练数据的表面模仿。LLMs 通过消化大量文本输出(如代码和文档)来“学习”,但从未实际参与理论构建过程。根据 Ryle 的定义,理论是心智在实践中的产物,文本输出无法传递这种深层心智状态。因此,LLMs 无法获得真正的理论,仅能产生似是而非的回应。

Naur 论文的核心论点

  1. 理论必须通过实践构建:程序员不能通过阅读源代码或文档获得大型程序的理论;必须通过持续的开发、修改和调试工作来构建。
  2. 理论是有效工作的前提:没有理论,程序员无法有效维护或修改大型程序。理论包含了“如何”和“为什么”程序以特定方式实现的知识,这些知识源于程序员的直接经验
  3. 代码不包含智慧:机器代码或源代码仅是理论构建的产物,不包含构建过程中的决策逻辑或背景知识。因此,仅分析代码无法复现理论。

结论

Naur 强调,编程是理论构建活动,依赖程序员的心智投入和实践经验。LLMs 作为工具可以辅助,但无法替代人类程序员在理论构建中的核心角色,因为理论本质是实践智慧,而非数据集合。