惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 司徒正美
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
N
News and Events Feed by Topic
O
OpenAI News
L
LangChain Blog
F
Full Disclosure
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
Cloudbric
Cloudbric
W
WeLiveSecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
罗磊的独立博客
Attack and Defense Labs
Attack and Defense Labs
PCI Perspectives
PCI Perspectives
TaoSecurity Blog
TaoSecurity Blog
AI
AI
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
T
Threatpost
P
Palo Alto Networks Blog
G
GRAHAM CLULEY
Last Week in AI
Last Week in AI
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 聂微东
P
Proofpoint News Feed
Latest news
Latest news
S
SegmentFault 最新的问题
J
Java Code Geeks
T
Threat Research - Cisco Blogs
H
Help Net Security
P
Privacy International News Feed

Agili 的 Hacker Podcast

Agili 的 Hacker Podcast 2026-07-25 Agili 的 Hacker Podcast 2026-07-24 Agili 的 Hacker Podcast 2026-07-23 Agili 的 Hacker Podcast 2026-07-22 Agili 的 Hacker Podcast 2026-07-21 Agili 的 Hacker Podcast 2026-07-20 Agili 的 Hacker Podcast 2026-07-19 Agili 的 Hacker Podcast 2026-07-18 Agili 的 Hacker Podcast 2026-07-17 Agili 的 Hacker Podcast 2026-07-16 Agili 的 Hacker Podcast 2026-07-15 Agili 的 Hacker Podcast 2026-07-14 Agili 的 Hacker Podcast 2026-07-13 Agili 的 Hacker Podcast 2026-07-12 Agili 的 Hacker Podcast 2026-07-11 Agili 的 Hacker Podcast 2026-07-10 Agili 的 Hacker Podcast 2026-07-09 Agili 的 Hacker Podcast 2026-07-08 Agili 的 Hacker Podcast 2026-07-07 Agili 的 Hacker Podcast 2026-07-04 Agili 的 Hacker Podcast 2026-07-06 Agili 的 Hacker Podcast 2026-07-05 Agili 的 Hacker Podcast 2026-07-03 Agili 的 Hacker Podcast 2026-07-02 Agili 的 Hacker Podcast 2026-07-01 Agili 的 Hacker Podcast 2026-06-29 Agili 的 Hacker Podcast 2026-06-28 Agili 的 Hacker Podcast 2026-06-27 Agili 的 Hacker Podcast 2026-06-26 Agili 的 Hacker Podcast 2026-06-25 Agili 的 Hacker Podcast 2026-06-24 Agili 的 Hacker Podcast 2026-06-23 Agili 的 Hacker Podcast 2026-06-22 Agili 的 Hacker Podcast 2026-06-21 Agili 的 Hacker Podcast 2026-06-20 Agili 的 Hacker Podcast 2026-06-19 Agili 的 Hacker Podcast 2026-06-18 Agili 的 Hacker Podcast 2026-06-17 Agili 的 Hacker Podcast 2026-06-16 Agili 的 Hacker Podcast 2026-06-15 Agili 的 Hacker Podcast 2026-06-14 Agili 的 Hacker Podcast 2026-06-13 Agili 的 Hacker Podcast 2026-06-12 Agili 的 Hacker Podcast 2026-06-11 Agili 的 Hacker Podcast 2026-06-10 Agili 的 Hacker Podcast 2026-06-09 Agili 的 Hacker Podcast 2026-06-08 Agili 的 Hacker Podcast 2026-06-07 Agili 的 Hacker Podcast 2026-06-06 Agili 的 Hacker Podcast 2026-06-05 Agili 的 Hacker Podcast 2026-06-04 Agili 的 Hacker Podcast 2026-06-03 Agili 的 Hacker Podcast 2026-06-02 Agili 的 Hacker Podcast 2026-06-01 Agili 的 Hacker Podcast 2026-05-31 Agili 的 Hacker Podcast 2026-05-30 Agili 的 Hacker Podcast 2026-05-29 Agili 的 Hacker Podcast 2026-05-28 Agili 的 Hacker Podcast 2026-05-27 Agili 的 Hacker Podcast 2026-05-26 Agili 的 Hacker Podcast 2026-05-25 Agili 的 Hacker Podcast 2026-05-24 Agili 的 Hacker Podcast 2026-05-23 Agili 的 Hacker Podcast 2026-05-22 Agili 的 Hacker Podcast 2026-05-21 Agili 的 Hacker Podcast 2026-05-20 Agili 的 Hacker Podcast 2026-05-19 Agili 的 Hacker Podcast 2026-05-18 Agili 的 Hacker Podcast 2026-05-17 Agili 的 Hacker Podcast 2026-05-16 Agili 的 Hacker Podcast 2026-05-15 Agili 的 Hacker Podcast 2026-05-14 Agili 的 Hacker Podcast 2026-05-13 Agili 的 Hacker Podcast 2026-05-12 Agili 的 Hacker Podcast 2026-05-11 Agili 的 Hacker Podcast 2026-05-10 Agili 的 Hacker Podcast 2026-05-09 Agili 的 Hacker Podcast 2026-05-08 Agili 的 Hacker Podcast 2026-05-07 Agili 的 Hacker Podcast 2026-05-06 Agili 的 Hacker Podcast 2026-05-05 Agili 的 Hacker Podcast 2026-05-04 Agili 的 Hacker Podcast 2026-05-03 Agili 的 Hacker Podcast 2026-05-02 Agili 的 Hacker Podcast 2026-05-01 Agili 的 Hacker Podcast 2026-04-30 Agili 的 Hacker Podcast 2026-04-29 Agili 的 Hacker Podcast 2026-04-28 Agili 的 Hacker Podcast 2026-04-27 Agili 的 Hacker Podcast 2026-04-26 Agili 的 Hacker Podcast 2026-04-25 Agili 的 Hacker Podcast 2026-04-24 Agili 的 Hacker Podcast 2026-04-23 Agili 的 Hacker Podcast 2026-04-22
Agili 的 Hacker Podcast 2026-06-30
Agili 的 Hack · 2026-07-01 · via Agili 的 Hacker Podcast

今天的话题从开源硬件到隐私隐写,从兆级大模型到1960年代的交互式编程,几项技术选择都在追问同一个问题:我们到底依赖了什么,又为此放弃了什么。

开源低技术:用 30 美元风力涡轮机重新思考技术依赖

Daniel Connell 在 Open Source Low Tech 网站上发布了一系列使用回收材料和简单工具即可建造的设计。其中包括用自行车零件搭建的 30 美元风力涡轮机、太阳能灶、火箭质量加热器(一种高效燃烧木柴的取暖装置)、太阳能热水板和 Wi-Fi 天线。所有设计均开源无限制,并配有完整制作教程。

这些设计的吸引力在于不依赖昂贵设备或大规模协作,个人和小团体就能尝试。项目官网陈述的目标很简单:让任何人都能自己搭建和维护能源、食物、净水、通信等基本设施。

Hacker News 社区对这件事的态度是欢迎但清醒的。有评论者观察到,开源社区常常聚焦于软件和复杂技术,却忽略了更基本的生存需求。“我会更愿意看到开源房子、汽车、自行车,而不是又一个容器集群编排方案。”另一条评论直指援助模式的局限:直接向贫困村庄运送物资看似快捷,但一旦链条或轴承损坏,当地人仍无法修复;而用随处可得的材料学会制造和维修,才算真正的自给自足。

也有人提出反驳。一位在发展中国家生活过的用户指出,自行车的易损部件(链条、轴承)很难用废料替代,工业量产产品在规模经济下往往更便宜更实用。当地居民其实也在不断进行“凑合式”创新(印度称之为 Jugaad),但许多简单的改进机会被忽略了——这需要外来者和本地居民之间的真诚协作,而非居高临下的“教导”。

关于非营利组织有效性的争论更加尖锐。多位评论者直言,大部分非营利组织效率低下、缺乏真正的问责机制,“只在乎感觉和表面功夫”,而真正有效的项目——如卡特中心几乎消灭了线虫病的案例——反而很少大张旗鼓地宣传。

一条高赞评论这样总结:“这种开源项目让我每次安装一个 npm 包时都要质疑自己的人生选择。”一边是堆叠无尽依赖的抽象代码,另一边是可以用废旧铝材和自行车零件造出实际东西的手艺。社区普遍认可自给自足、可修复、去依赖的理念,也清楚这无法完全替代工业体系;但正如一位评论者所说,在供应链断裂或极端情况下,这些知识储备是宝贵的保险。

Claude Code 被发现在系统提示中藏匿分类信息

一名开发者对 Claude Code(版本 2.1.196)进行隐私审计时,发现它会在发送给模型系统提示的日期字符串中悄悄修改分隔符和撇号的 Unicode 变体。日期分隔符从横线换成斜杠,英文撇号在四种肉眼几乎不可分辨的变体之间切换,分别对应“未知域名”“已知域名”“实验室关键词”和“两者兼有”四种分类结果。

这个机制只在用户通过非默认 API 端路由请求时触发。域名和关键词列表被 base64 编码后与数字 91 做 XOR 运算存储在二进制中,解码后包含大量中国公司域名(如 baidu.com、alibaba-inc.com、bytedance.net)和 AI 实验室关键词(deepseek、zhipu、dashscope 等),以及大量看似代理转售商的域名(如 claude-code-hub.app、proxyai.com)。作者的二进制由 Anthropic 签名,在他的环境(Asia/Hong_Kong 时区,使用官方 API)下该功能未被激活。

Anthropic 曾多次公开指责中国实验室对其模型进行蒸馏,部分评论者认为这种反制措施可以理解。但更多人质疑其手段。一位评论者写道:“他们选择用这种方式来指纹识别我的访问模式,却不事先披露,这是欺骗性的。”另有人指出,任何有能力的攻击者都可以通过修改域名、时区或直接 patch 二进制来绕过,所以这个功能更多惩罚的是那些因为合法原因使用非标准配置的开发者——比如企业内部网关、本地代理、模型路由器或合规审计。

讨论中还提到,Anthropic 此前曾在 Fable 模型中偷偷降级模型输出。尽管这种隐写术在猫鼠游戏中确实有价值(显式遥测字段会被代理转售商轻易剥离),但执行方式损害了信任。作者在文章中总结:“当一把拥有文件系统权限的工具开始把分类信息藏在不可见的标点符号里,正确的反应是怀疑。信任是在无聊的部分建立起来的。”

欧盟数字身份钱包深度绑定 Google 和 Apple 安全服务

欧盟正在推进的数字身份钱包(EUDI Wallet)被发现在实际落地中严重依赖 Google Play Integrity API 和 Apple Managed Device Attestation 进行设备安全验证。Play Integrity API 不仅仅是安全检查——它同时要求设备运行 Google 授权的 Android 版本,并强制通过 Google Play Store 安装应用。这意味着使用 e/OS、GrapheneOS 等去 Google 化操作系统的用户,可能被排除在公共服务之外。

荷兰和意大利已无条件采用 Play Integrity,而瑞士出于数据保护和选择自由的考虑,改用了 Android 的硬件认证 API。意大利的 IO 应用(整合钱包、文件、年龄验证等功能)明确拒绝支持 GrapheneOS,用户多次请求无果。

有 Hacker News 评论者指出,问题不止是技术依赖,更在于这迫使每位公民与 Google 或 Apple 签订不平等的使用协议。政府本可以开发更开放的方案,比如基于物理身份证 NFC 的二次验证。但也有人反驳,建设独立的公共基础设施需要大量资金,政客们并不愿投入——目前欧盟内部对替代方案的讨论多于实际行动。

这种设计直接与欧盟反复宣称的数字主权、互操作性目标相悖。如果用户希望避免 Google 的追踪和内置大模型,他们就无法使用自己的政府身份服务。

美团发布 LongCat-2.0:全 AI ASIC 训练的 1.6 万亿参数 MoE 模型

美团发布了 LongCat-2.0,一个总参数 1.6 万亿、每次激活约 480 亿参数的混合专家模型(MoE)。预训练在超过 50,000 颗 AI ASIC(专用集成电路,社区猜测为华为昇腾 910C)上完成,覆盖 35 万亿 token,全程没有出现回滚或不可恢复的损失尖峰——证明了在非 NVIDIA 硬件平台上也能进行前沿规模的训练。

架构上有两个创新。LongCat Sparse Attention(LSA)是 DeepSeek Sparse Attention 的演进,通过流式感知索引、跨层索引和分层索引三个优化加速长上下文处理中的索引器瓶颈。N-gram Embedding 将嵌入空间扩大了约 100 倍,通过 N-gram 词元组合捕捉更丰富的本地上下文,参数量 1350 亿,控制在总参数量的 10% 以内。

训练系统层面,单设备内存远小于 H800(80GB),团队使用了 6D 并行、逻辑 Superpod、ZeRO-1、选择性重计算、OOM 感知卸载和 Muon 优化器等手段缓解瓶颈。后训练采用多专家学习(MOPD)架构,将模型分为 Agent 专家(工具调用和自主任务)、Reasoning 专家(数学和推理)和 Interaction 专家(指令遵循和安全),三者融合后兼顾执行、推理和交互能力。

在评测中,LongCat-2.0 与 Gemini 3.1 Pro、GPT-5.5、Claude Opus 4.6/4.7/4.8 等模型进行了对比。代码 Agent 方面,Terminal-Bench 2.1 得分为 70.8(仅次于 GPT-5.5 和 Opus 4.8),SWE-bench Pro 得分为 59.5(超过 Gemini 3.1 Pro 和 GPT-5.5,但低于 Opus 4.7/4.8)。通用能力和基础能力方面,多数指标仍低于顶尖闭源模型。部分数值来自外部报告。

社区讨论中,有用户测试了模型对核燃料问题的回答,认为不如 Gemini Flash 和 Qwen 3.7 Plus。也有用户指出该模型对敏感话题会返回“请求过多”的应答。权重是否发布尚不确定,HuggingFace 页面显示“即将发布”,而此前 LongCat-Flash 确实已开源。

LongCat-2.0 的核心意义在于:完全使用 AI ASIC 芯片完成了从预训练到部署的全流程,展示了非 NVIDIA 生态的可行性,同时引入了对 MoE 模型的架构改进。但整体表现仍未超越顶尖闭源模型。

Anthropic 发布 Claude Sonnet 5:自主能力大幅提升

Anthropic 发布了 Claude Sonnet 5,称其为最具自主行动能力的 Sonnet 系列模型。它能制定计划、使用浏览器和终端等工具,并以几个月前还需要更大模型才能达到的自主水平运行。性能接近 Opus 4.8,但价格更低。

基准测试中,Sonnet 5 的分数整体高于 Sonnet 4.6,接近 Opus 4.8。成本-性能曲线显示,中等等努力水平下性价比突出。有 HN 用户分析图表后指出,若努力水平调至高于中等,性价比反而不如 Opus 4.8,建议“如果中等不够用,直接换模型而不是加努力”。另一用户则指出,对于计算机使用等特定任务,Sonnet 5 在低努力水平下填补了 Opus 没有的选项,且订阅方案下 Sonnet 对用户更便宜。

早期用户反馈一致认可其自主能力。ApostropheCMS 的开发者测试称,Sonnet 5 能一次性完成复杂指令,甚至自行恢复错误——遇到 400 错误时主动调用 schema 工具诊断。另一个用户描述,它未经提示就自动编写复现测试、实施修复,一次完成。法律科技公司 Eve 在原告法律任务中看到“最清晰的收益”,价格性能比让迁移决定变得容易。

安全评估显示,Sonnet 5 的不良行为率整体低于 4.6,更擅长拒绝恶意请求和抵抗提示注入攻击。网络能力评估中,Sonnet 5 无法开发出可用的 Firefox 漏洞利用(得分为 0)。Anthropic 已默认启用网络安全防护。

API 入门期(到 2026 年 8 月 31 日)定价为每百万输入 token 2 美元、输出 token 10 美元。需注意 Sonnet 5 使用了新的 tokenizer,相同输入可能映射到 1.0–1.35 倍 tokens,入门价设计为使过渡大致成本中性。

Fil-C 在保持内存安全的前提下实现安全的上下文切换

Fil-C 是一项让 C 语言在内存安全的前提下支持 setjmplongjmpucontext 等 API 的方案。这些 API 本质上不安全——longjmp 到已返回的函数会导致栈损坏,编译器优化也可能使局部变量的值在跳转后不可预期。

Fil-C 的解决方案包含多个层面。jmp_buf 内部只保存指向不透明对象的指针,该对象无法被用户代码访问。setjmp 会分配新对象并注册到当前栈帧,每个栈帧维护一组有效对象。longjmp 遍历调用栈,只有当目标属于当前栈帧的祖先帧时才允许执行,否则触发 panic。不透明对象还保存了 GC 根的状态,确保垃圾回收正确工作。

对于 ucontext 系列,Fil-C 同样基于不透明对象实现,并严格限制状态机:从起始状态只能进入 getcontext,然后调用 makecontext 变为可运行状态,再通过 swapcontextsetcontext 切换到运行中。运行中的上下文只能由当前线程从自身切出,具有线程亲和性,不能跨线程使用。Fil-C 忽略用户提供的栈地址,改为内部分配受保护栈。

有读者提出,setjmp/longjmp 的本质限制可以通过复制栈帧来克服,类似于分隔延续(delimited continuations)。项目作者回应称用过这个技巧,只要总是将保存的栈恢复到主栈同一地址区间即可避免指针悬空。关于性能,有人指出 ucontext 因会切换信号掩码而开销较大,作者计划未来提供无信号掩码的快速路径。

从零建造八轴无人机:在 2.5 周内学习 CAD、焊接和强化学习

Karolina Dubiel 用 2.5 周时间从零建造了一架自定义八轴无人机,此前她没有任何硬件、CAD 或飞控经验。她设计了 CAD 图纸,用 CNC 从 G-10 玻璃纤维和碳纤维切割框架,手工组装、焊接并配置 Betaflight,实现了稳定悬停。

她的最终目标是训练一个强化学习控制器,让无人机在模拟环境中承受单、双甚至四电机故障后,零样本部署到真机上。选择八轴而非四轴的关键原因是执行机构冗余——即便两个同向电机损坏(最难处理的故障模式),剩下的电机仍能产生完整的力和力矩,无人机无需牺牲偏航就能飞行。

仿真环境搭建在 MuJoCo 上,使用 PPO 算法训练策略。她引入了域随机化:随机化质量、推力常数、重心、传感器噪声、电机延迟和循环延迟。训练中遇到两个关键 Bug:动作饱和导致梯度消失(环境将命令硬裁剪到 [0,1],但 PPO 用未裁剪的值计算梯度),修复方法是用 tanh 对悬停油门做残差输出;存活奖励太低(每次 +0.1 被 -0.1 的高度惩罚抵消),提升到 +1.0 后策略才真正学会悬停。最终策略只有 4.3 万个参数,CPU 上训练约 2000 万步后在双电机故障下实现 100% 存活,甚至泛化到从未训练过的三电机故障。

硬件部署上,她放弃使用独立 Raspberry Pi,而是将策略直接编译进 Betaflight 固件(飞控芯片 STM32H743)。原因是通过 MSP 协议发送 8 路独立电机指令与 Betaflight 的安全模型冲突——断开连接或遥控信号丢失后电机无法可靠停止。编译进固件同时降低了循环延迟。

Hacker News 社区普遍称赞项目“非常酷”、“设计漂亮”。有人问为何不用更传统的模型预测控制(MPC),她回答:RL 的设计目标是从硬件到控制器学习整个因果链,而非单纯最优控制;对于未知故障和廉价电机的不确定性,域随机化比基于模型的方法更直接地赋予鲁棒性。

比利时警察在美国大使要求下阻止记者提问

两名记者受邀参加美国驻比利时大使馆组织的“自由 250”庆祝活动,在向美国大使比尔·怀特提问后,被比利时便衣警察以“活跃威胁”为由强行带离现场,没收证件并审问约 15 分钟。警察事后承认不了解记者身份,但大使馆指示不许他们返回活动。

记者此前曾公开报道,大使对一名敦促 Zac Brown Band 乐队不要演出的美国居民进行了“默示威胁”。在活动现场就此提问时,大使新闻官当场拒绝。约 20 分钟后警察出动。

HN 社区补充了更多背景:该大使此前已直接侮辱过多位比利时政客,并试图干预当地刑事司法程序。有用户指出,美国驻加拿大等地的外交官也表现出类似傲慢,认为这是本届美国政府外交风格缩水的缩影。关于 The European Correspondent 的可信度,评论提到该媒体被 Media Bias Fact Check 评为中间偏左且高事实可信度,部分资金来自欧盟资助。

评论还指出,虽然租用场地的大使有权禁止入内,但向警察谎报“活跃威胁”涉嫌违法;比利时警方也有责任而不是被动服从。有用户挖出 Freedom 250 是一个绕过国会成立的私人筹款机构,其服务条款试图免除因执法调查引发的索赔责任。整起事件地点距离欧盟委员会仅几百米。

运输 zine 被判 30 年:信息持有正在被犯罪化

Daniel Sanchez Estrada 因运输一箱他本人没有写的小册子(zine),被判处 30 年联邦监禁。他是 8 名被告之一,合计被判 450 年。政府的理论是:Sanchez 移动了这些讨论无政府主义等反政府思想的小册子,以隐瞒针对他妻子案件的证据。他妻子参加了 2025 年 7 月在德克萨斯州 Prairieland 移民监狱的一场抗议,一名警察在该抗议中被枪击。她未被指控开枪,但被判处 70 年。控方认为,拥有这些政治小册子本身就可以作为犯罪证据,而 Sanchez 试图阻止警方发现这种意识形态,因此同样有罪。

Hacker News 的讨论出现了显著分歧。部分用户引用联邦检方的说法:这群人并非和平抗议者,而是一个协调的团体,使用 Signal 群组沟通,携带枪支、防弹衣和急救包,占据树线位置,用烟花引诱警察并计划闯入监狱。其中一人提前开枪击中了一名警官。“如果你认为这只是一场抗议,那确实令人担忧。但联邦检方证明这是一场伏击。”另一侧的声音指出,携带枪支和急救包并不违法,烟花和“爆炸物”的定性是政府夸大,且 Sanchez 本人根本没出现在抗议现场。“从法律上讲,拥有政治材料怎么就成了犯罪的证据?”

讨论中反复出现的选择性执法主题让许多用户感到不安。2021 年 1 月 6 日冲击国会大厦的暴徒——其中许多人携带武器、殴打警察、竖立绞刑架——最终被赦免,而 Prairieland 案的被告却面临数十年监禁。一条评论这样总结:“对于我的朋友,一切;对于我的敌人,法律。”

文章作者警告,这种逻辑正在把持有信息本身犯罪化。政府已经试图获取记者 Don Lemon 和 Georgia Fort 的 YouTube 频道订阅者身份,理由仅仅是他们直播了一场抗议。作者写道:“滑滑坡谬误在没见过唐纳德·特朗普时才是谬误。”

1960 年 PDP-1 Lisp:第一个交互式编程环境的诞生

1960 年,14 岁的高中生 Peter Deutsch 在 MIT 为 DEC PDP-1 实现了 Lisp。这台机器只有 4K 个 18 位字的核心内存,Deutsch 在实现过程中发明了读取-求值-打印循环(REPL)——也就是 Python 等语言中常见的交互式编程环境。这是有史以来第一个交互式编程环境,把 Lisp 从纸卡加载的理论语言变成了实用的交互工具。

PDP-1 Lisp 的基本操作方式带有那个时代的硬件痕迹:设置扩展开关,装入 lisp.rim 纸带,通过前面板的 TW 开关定义内存上限和推栈长度,再用打字机输入。输入用空格结尾而非回车。由于 PDP-1 用八进制,(times 4 4) 输出的是 20(即十进制 16)。核心内存是非易失性的,关机后内容仍在,下次开机只需将地址开关设为 4 即可恢复运行。

相关页面作者还为 ChatGPT 或 Claude 等 AI 准备了学习材料,贴入三个 .md 文件即可让 AI 学会 PDP-1 Lisp 并作为编程助手使用。对应的 PiDP-1 模拟器可在所有 Linux 上运行,无需 Raspberry Pi。

HN 社区讨论中,文章作者提到希望有人能找回 1960 年代在 PDP-1 上运行的 ELIZA 程序的版本——已知 BBN 的人曾把它从 PDP-10 移植回 PDP-1,但已丢失。gwern 补充说 ELIZA 已被考古项目重新发现。另一位作者回忆起当年玩 ELIZA 的感受,认为今天 LLM 的热潮很像当年大众对 ELIZA 的过度期待,同时也承认 LLM 的实际能力确实令人印象深刻。MIT AI Lab 的老一辈曾讲述过 SHRDLU 的故事——这个运行在 PDP-10 上的 3D 虚拟世界 AI 引发了第一次 AI 热潮,也可能因不及预期导致了第一次 AI 寒冬。作者写道,从早期计算环境中学到的东西依然有价值:紧凑高效的编程、贴近硬件的创造力,以及没有臃肿软件堆栈的自由。

播客全文

女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是莓莓。

男:大家好,我是阿迪。

女:今天要聊的东西还挺杂的,从用垃圾造风力发电机,到一个能活下去的代码用了 60 多年。阿迪,最近有什么让你觉得特别对劲或者特别不对劲的事吗?

男:我最近一直在想“依赖”这个问题。一边是有人用自行车零件做了个 30 美元的风力发电机,全开源,谁都能修。另一边,欧盟想推一个数字身份钱包,结果这钱包能不能跑起来,得看 Google 和 Apple 的脸色。

女:你是说那个让用去 Google 化安卓系统的人刷不了政府服务钱包的事?其实有点荒诞,政府项目强制公民跟商业公司签“设备协议”。

男:对。欧盟自家人整天提数字主权,但荷兰和意大利直接把钱包的安全检查交给了 Google 的 Play Integrity API。这玩意儿不光验证你设备有没有被篡改,它还顺带验证你是不是通过 Google Play 装的系统。如果你用的是 e/OS 或者 GrapheneOS 这种去掉谷歌服务以求隐私的系统,你就会发现自己连政府的公共服务门都进不去。

女:我稍微解释一下,GrapheneOS 是一种基于安卓但剥离了 Google 所有后台权限、用来保护隐私的系统。说白了就像你把自己家的锁全换了,结果人家告诉你,你家的锁没经过物业公司认证,不算数。

男:就是这个意思。瑞士后来意识到了这个问题,为了数据保护,改用安卓自己的硬件认证接口。但要让整个欧盟扳回来,得靠用户持续给议会施压,或者来一场反垄断诉讼。不过也有网友提了个实在的点:不是政府不想做更开放的方案,比如用身份证的 NFC 做二次验证,而是建这套公共基础设施得花钱,没几个政客愿意拨这笔预算。

女:花钱的难题先放一边。提到自给自足,我看到有个叫 Open Source Low Tech 的项目最近讨论度很高,设计师叫 Daniel Connell。他画了一张图,教你怎么用废铝材加自行车零件,造一台 30 美元的风力发电机。

男:对的。不仅仅是风力涡轮机,他还开源了太阳能灶、火箭质量加热器,就是一种高效烧柴的取暖炉,还有太阳能热水板,甚至 Wi-Fi 天线。所有设计的教程都开放,没任何授权限制。

女:我看完的第一反应是,咱们天天在聊开源社区搞什么容器集群编排方案,结果有人开始聊开源房子、开源拖拉机了。有条评论特别扎心,说他“每次装一个 npm 包,都会质疑一下自己的人生选择。” 你这边在几百个抽象依赖里打转,人家那边用废铁就能发电。

男:这其实是一种视角的切换。Hacker News 上有个观点很有意思,说这种低技术和软件高技术之间的界限有时只是审美上的。如果把 Daniel 的设计外壳做得像苹果产品一样精致,你还会觉得它是低技术吗?核心的区别在于,它能不能用便宜且随处能搞到的材料去实现功能,而不在于它是不是看起来粗糙。

女:对,这至少给了一种“解放感”。哪怕只是作为一种极端情况下的知识保险。我记得有条评论说,当家里每一件复杂设备都超出自己制造和维修的能力时,能学会怎么用简易工具做出真正有用的东西,本身就是自救。

男:但社区也是清醒的。有人指出,像自行车链条和轴承这种高损耗件,其实很难用废料长久替代,工业量产在规模效应下往往更便宜。这里其实也涉及到一个国际合作的老问题:咱们是给贫困村庄直接捐 1000 辆自行车,还是教他们造和修?

女:我记得评论里说那个捐助链条一旦断了,当地人还是没法修。真正的解决之道或许就是我们刚才说的,用随地拾取的材料去制造和修理。但很多去援助的人忽略了当地人本来也在做的一些“凑合”式创新,印度叫 Jugaad。这种真实的需求合作,远比咱们带着优越感去“教导”要难得多。

男:而且非营利组织的效率也被网友吐槽得很凶。很多人说他们只管感觉良好,缺乏问责。真正干成大事的反而很低调,比如卡特中心几乎消灭了几内亚线虫病,很多人都不知道这事。一旦涉及到当地政治和经济,再好的工程干预也可能泡汤。

女:这种“干预”如果被用在了更有攻击性的数字世界里呢?我正好听说了关于 Claude Code 的一件事。有开发者审计代码时发现,Anthropic 在发给大模型的系统提示里,藏了一个肉眼分辨不出来的字。

男:没错。这件事是隐私审计挖出来的。在版本 2.1.196 里,Claude Code 会根据你的 API 基地址和时区,悄悄修改系统提示里那行“今天的日期是……”的撇号和日期分隔符。正常撇号、右单引号、还有一些生僻的修饰符字母,在等宽字体下完全看不出来差别。

女:这简直就像以前的黑帮电影印在假钞上的微小标记。但它到底标记了啥?

男:它解码出了大量中国公司的域名,像百度、阿里巴巴、字节跳动,还有国内的 AI 实验室关键词。如果你通过代理、转售商或者内网网关使用了那些库里的自定义 API 地址,这个隐写标记就跟着你的请求一块儿发出去了。作者在自己那台香港时区、没设自定义基地址的机器上,这项功能是不会触发的。

女:用隐写术去抓这些像 DeepSeek 蒸馏他们模型的人,有评论是说这是合理的反制。但我看了一下社区的主流看法,这种操作更让人觉得心底发冷——一个拥有完整文件系统权限的开发工具,在你的终端里,用看不见的标点符号偷偷给后台打报告。

男:这就是信任问题。有网友直接说,最让人生气的不是抓蒸馏,而是不披露。如果你提前说“我们会发一个显式的遥测字段”,大家可能觉得没问题。但把它用隐写术藏在标点里,一旦被发现,开发者对这个工具的所有隐私声明都会打上问号。而且这招对真有本事的攻击者根本没用——人家改一下域名、改个时区或者直接改二进制就能绕过去,这更像是惩罚了那些因为合法原因(比如内网代理)改了基地址的正常开发者。

女:文章里那句话我印象很深:“信任是在无聊的部分建立起来的。”当这些无聊的部分充满了欺诈性的细节,哪怕它本意不坏,整个大厦也就快塌了。这让我想到了咱们开头说的那个看 Google 脸色的欧盟钱包。

男:其实道理是一样的。不管是隐写标记,还是强制的完整性验证,都是把决定权从用户手里夺走了。

女:咱们把视线从这些小动作上拉远一点,看看大动作。国内这边,美团发了个 LongCat-2.0,总参数 1.6 万亿,一个混合专家模型(MoE)。

男:对,它激活参数 480 亿,用 5 万多颗 AI 专用集成电路完成了预训练,这个规模训练下来没碰到大回滚或者不可恢复的损失尖峰。它真正破局的一点,是它在非 NVIDIA 的生态下跑完了从头到尾的全流程。大家猜这些芯片是华为的昇腾 910C。单设备显存远小于 H800,他们用了很多并行和重计算的手段来扛这事。

女:对追求绝对性能的人来讲,评测成绩单可能稍微有点遗憾。LongCat-2.0 在很多项目里还只是接近顶级模型,没全面超越。

男:特别是基础推理上,IFEval 和 GPQA-diamond 都低于竞品。但是在具体代码能力上,Terminal-Bench 2.1 拿了 70.8,其实还算能打。有用户测了一下它对核燃料等复杂问题的回答,觉得不如 Gemini Flash 和 Qwen 3.7 Plus,也有一些对敏感内容处理的争议。不过技术上它引入了长文本稀疏注意力,也就是 LSA,还有 N-gram 嵌入,把嵌入空间扩大了约 100 倍,参数效率挺可观的。

女:这也是一个关键时刻。当你证明了可以用华为芯片做出虽然没有绝对优势但能跟住第一梯队的东西,对于整个封闭生态是个冲击。说回推理升级,Anthropic 最新的 Claude Sonnet 5 也出来了,主打的是自主行动能力。

男:简单说就是它不需要人在旁边盯着,能自己制定规划,用浏览器,修代码。早期有个开发者测试,说它遇到 400 错误时会自己调用模式诊断工具去修复,不像过去可能直接摆烂。ApostropheCMS 的人发帖说,它能一次性完成一堆复杂指令。

女:这个 Sonnet 5 是说它性价比挺有意思,有时候会接近 Opus 4.8。

男:得看“努力”程度怎么调。有用户很仔细看了定价和性能曲线图,发现在中高努力水平下,Sonnet 5 的成本反而不如直接切到 Opus 4.8。但如果任务复杂,比如说计算机交互使用,Sonnet 5 在低努力水平里补上了 Opus 目前没覆盖到的选项。总体来看,入门期 API 价格是每百万输入 2 美元,输出 10 美元。

女:不管模型多聪明,只要底层不安全,那就是个定时炸弹。我看安全工程师发了一篇关于 Fil-C 的文章,讲怎么在保证内存安全的情况下,支持那种很危险的底层操作 longjmpsetjmp

男:这两个函数是用来做跨函数跳转的,有点像游戏里的“回城卷轴”,如果回城点所在的函数早就执行完释放掉了,那程序就直接崩溃。Fil-C 的做法是把“回城卷轴”换成了一个不透明的内部对象,然后检查你要回的那个栈帧是不是祖先帧,祖宗查不到就拒绝执行并报错。

女:限制挺死的,但是保证了哪怕程序员犯糊涂也不会把栈内存给踩烂。他们对协程那种上下文的切换更严,Fibers 不能跨线程,不给用你自己设定的栈,全由内部分配。这个项目最近还解决了垃圾回收时的隐式根问题,也就是灰色 Fiber。

男:是的。网友也补充说,像 Boost 库其实早就不用这么重的上下文切换了,用汇编做极轻量切换,代价极低。Fil-C 的作者也承认,ucontext 因为要处理信号掩码导致开销很高,未来可能提供一个忽略信号掩码的快速版。不过这个方向挺对——就是在保留 C 语言这种武器级灵活度的同时,给你套一个怎么也捅不破自己铠甲的安全层。

女:咱们聊了这么多软件上的铠甲,我觉得硬件上也有一种铠甲,就是容错。有一名之前完全没有任何硬件和飞控经验的工程师,花了 2.5 周,自己造了一架八轴无人机。这个想法一开始看着挺疯狂。

男:Karolina Dubiel。她其实目标很明确,就是要训练一个强化学习控制器,让无人机在坏掉一个、两个甚至四个电机的时候,还能保持悬停。她放弃用传统的 MPC,也就是模型预测控制,而是让 AI 在模拟器里,自己去瞎撞并学会怎么飞。

女:我看了她的过程,简直是把各种出错的可能全考虑到了。比如给电机命令加一个限制,防止出现类似动作饱和后漂移出去回不来的状况,只是把存活的奖励从 0.1 分调高到 1 分,这个策略才从躺平改为学会了挣扎着飞。这就像一个刚出生的动物,你得给够奖励它才知道活下去是对的。

男:对,这恰好就对应了强化学习里的奖励累积理论。最后她的策略在只有 4.3 万个参数的情况下,在双电机故障里实现了 100% 存活率,甚至在没训练过的三电机故障下也能扛住。她甚至直接把策略编译进了 STM32 飞控芯片里,放弃了树莓派,就是怕通讯协议被切断后电机没法停止。最极客的地方是,为了测惯性张量,她用双摆搭建实验去测。

女:这种自造、自控、自容错的本事,我觉得是对所有复杂系统故障的一种浪漫的对抗。不过说真的,最近的有些判决,在削弱这种自主对抗的信心。美国出了一个案子,有个作家只因为帮他妻子搬运了一箱他根本没写的政治宣传小册子,被联邦法院判了 30 年。

男:Daniel Sanchez Estrada。政府给出的理由是他试图隐瞒对他妻子不利的物证。这个叫 Prairieland 的案子总共有 8 个人被加一块儿判了 450 年。这件事争议不仅是在刑期,而在逻辑本身。他的妻子并没有被指控开枪伤警察,只是参与了抗议,控方把“分享同一个射手的意识形态”当成犯罪证据,而拥有那箱小册子就是隐藏这种意识形态的掩饰手段。

女:简单说,因为害怕被盯上而清空了浏览器历史,甚至读了一本政治观点的小册子,就可能被指控是在销毁包庇犯罪的证据。文章作者担心,这种逻辑已经把“拥有信息”本身当成了犯罪行为。

男:Hacker News 上很多人不同意这个叙事,认为 Prairieland 的被告并不只是抗议,而是一个精心预谋的团体,带着枪支、防弹衣,藏在了树线后面设伏。烟花被政府鉴定成了爆炸物。

女:但哪怕如此,评论区还是在抨击选择性执法,因为和法律对 1 月 6 日国会暴乱的处理比,这明显严厉太多了。“对我的朋友,一切;对我的敌人,法律。” 可为什么带着武器冲击国会的那些人被赦免了,而一个根本没去示威现场的人,却因为转移了几本小册子被判了 30 年呢?

男:而且这时候出现政府试图获取报道抗议活动的记者油管订阅信息的事情,就不奇怪了。程序正义在这些案子面前遭到了挺重的拷问。有比利时网友说,虽然租用公园的美国大使有权赶人,但如果他们跟当地警察谎报了“活跃威胁”从而逮捕记者,这嫌疑本身就违法了。

女:那个事件倒是挺有画面感的,美国大使馆搞了个“自由 250”庆祝活动,有橄榄球和拉拉队,结果因为记者去追问大使——这位大爷之前据称对一名美籍居民有过威胁言论,大使人不承认——结果不到 20 分钟记者就被比利时便衣强行带走了。把美国的政治议程带到人家国家的纪念碑和公园里,这也是信任体系崩坏的表现。

男:在一个坏掉的复杂系统里,我们如果连最基础的物理修复能力都丢了,的确焦虑。当这一切都过于庞大以至于无法理解和信任时,人就会想去寻找六十年代的淳朴。

女:对!你提到了 60 年代,我想看看那个时候的黑客在干嘛。1960 年,一个 14 岁的高中生 Peter Deutsch 在麻省理工的 PDP-1 上实现了 Lisp。这台机器内存只有 4K 个 18 位字。

男:他更开创性的一点,是在实现这个语言的途中,发明了 REPL,也就是读取-求值-打印循环。就是咱们现在在 Python 终端里随便敲个 1+1 就出结果的交互式环境,是有史以来第一个。

女:这么说我们现在习以为常的打回车看反馈,是这孩子顺带手发明的?文章里写的操作过程特别酷。输入不能用回车结束,而是用空格做结尾。而且 PDP-1 是八进制,算 4 乘以 4,输出如果直接给你 20,你也不用慌,20 八进制就是咱们现在的 16。

男:非常硬核。因为这机器的磁芯内存是非易失性的,你关了机,程序其实还在。再开机时,只要把地址开关拨到 4,按一下启动就能继续跑,根本不需要重载操作系统。

女:这就像把房间里的灯关了,桌椅摆设全都没丢,灯一开全在。作者还在页面上挂了个 AI 导师,把一些说明文件丢给 ChatGPT 或者 Claude,它就能立刻学会 PDP-1 的 Lisp 成你的编程伙伴。你会发现那个年代的才华是把计算机的每一寸力气都榨干了,没有现在这种臃肿的软件堆栈。

男:社区里有人回忆当年玩 ELIZA,那种自然语言对话程序带来的感觉,就和今天大家迷上大语言模型是一样的,过度期待,最后迎来 AI 寒冬。他们认为从早期这种与硬件极限共舞的过程中学到的紧凑高效的创造力,在今天依然非常有价值。

女:不管是 60 年前一台 4K 内存的机器,还是今天 1.6 万亿参数但随时担心模型在背后给你做隐写标记的智能,说到底,我们都需要一种不被剥夺的、修复和掌控自己工具的能力。

男:这本身就是最底层的安全。

女:好,那本期节目就先聊到这里。如果大家觉得这些内容有意思,别忘了在你常用的泛用型播客客户端上搜 Agili 的 Hacker Podcast 订阅,这样就不会错过了。

男:咱们下期再见。

女:拜拜!

参考链接