欢迎来到 Innerspace — 一个用于思考、笔记和探索的个人空间。
向家庭实验室妥协
作为一个出生在90年代初的人,我常说我们这一代人是最后一代不是"出生在云上"的。
我的职业生涯始于 Dailymotion,当时公司运营着两个数据中心和自己的 Autonomous System。一切都是 on-premise,意味着 software delivery、网络和存储管理上的所有限制都由自己承担。Outage 没那么抽象,但更难应对:没有无限的扩展能力,跨站点复制数据是真正的成本议题,凌晨3点出了问题,只能靠自己。
在我工作期间,cloud 和 containers 开始流行。和每一次重大技术变革一样,它带来了讨论、分歧和新的挑战。渐渐地,我们的基础设施变成了 hybrid 架构,许多新功能因为实际更快而被发布到 cloud 上。最终,Dailymotion 将基础设施迁移到了云上,我也随之转型。
当云接管一切 真正的"aha"时刻出现在最初的 cloud 原语开始被组合成 PaaS 服务的时候。突然间,你可以 ship 一个 web service,带一个能自动扩展资源的 database,后面还有几乎无限的 storage。从这个角度看,Heroku 的 Cedar 架构最初的规格让人惊叹。
突然间,从0到 production ship 一个想法在一天内完成似乎成为了可能。Startups 不再需要自己搭建物理基础设施,cloud 和 containers 让这成了别人的问题。
在本地运行大语言模型:工程师实用指南
简介 与同事和朋友聊 AI(和现在的所有人一样),我分享了自己深入了解模型架构的兴趣,也因此开始关注本地模型。我经常被问到:如何开始测试本地模型,又如何在海量信息中找到方向?本文就是为了回答这个问题。
免责声明: 如果你在 X 或 YouTube 上花太多时间,你会过度接触网红和赞助内容,有人告诉你本地模型在每一代都在赶上前沿模型的推理深度(1、2),也有人反过来说本地模型很愚蠢,前沿模型离 AGI 只差一步。远离这些噪音,形成自己的判断。
生态系统在快速演进,本地模型也是如此。以下是我作为软件工程师,在 2026 年 4 月对本地模型使用的诚实简明入门指南。
推理引擎配置 推理引擎是负责将模型权重加载到内存并运行生成 token 所需计算的软件层。 它承担繁重的工作:内存管理、批处理、硬件加速(CPU、GPU、Apple Silicon 等),并暴露一个接口(通常是本地 HTTP API),供其他工具与你的模型通信。没有它,模型只是磁盘上一个巨大的数字文件。
离网技术博客
如果你能用1瓦的功率运行一个博客,通过4G网络从太阳能供电的树莓派零上提供服务会怎样?
作为软件工程师,我们大部分时间都生活在一个拥有几乎无限云资源的世界里,硬性限制已经被弹性账单和一层又一层让我们远离硬件的抽象(IaaS、PaaS、SaaS)所取代。很容易忘记用很少的东西能做什么。
这是一个用更少做更多的实验。跟我一起踏上这段旅程。
这是一个2部分系列的第1部分。 第1部分(本文)涵盖使用Cloudflare隧道通过4G构建和提供博客。 第2部分将进一步离网:用太阳能板和电池扩展板为整个装置供电,让它在夜间持续运行,设置扩展板上的GPS模块,以及一些从树莓派挤出每一毫瓦的技巧。
前提条件 开始前的先决条件:
一个添加到Cloudflare的域名(免费计划)——参见Cloudflare文档 你机器上的SSH密钥对(~/.ssh/id_rsa) 在本教程中,将<user>替换为你选择的用户名(例如thylong),将<hostname>替换为你选择的主机名(例如solar) 硬件 组件 费用 树莓派零 2 W(推荐零2 W——它同时支持32位和64位系统;原始零W仅支持32位) 18€ 微雪电子SIM7600G-H 4G扩展板 75€ 哎哟… Micro-SD卡(最小8GB)+ MicroSD转SD适配器(用于从笔记本电脑烧录) 5€ 10W 5V太阳能板USB-C 25€ Pi Sugar 3 Plus电池扩展板1200mAh——设置在第2部分中介绍 34€ Nano SIM卡配合手机订阅 起价1€/月 总计 150€ + 1€/月 注意: 这个4G扩展板有很多更便宜的替代方案,电池也一样。
这个博客是如何构建的
这个博客不是从 IDE 或终端开始的。它始于一次对话。
我坐下来与 Crush——一个在命令行中运行的自主式 AI 编程助手——描述了我想要的东西:一个名为 Innerspace 的个人博客,托管在 thylong.com,使用 Hugo 和 monochrome 主题构建,由 Redbean 提供服务,用 Docker 容器化,并部署到 k3s 集群。
为什么选择这个技术栈?作为一名 Go 开发者,我一直很欣赏 spf13 的工作——Hugo 是一个出色的工程作品,选择它是自然而然的。同样,我从一开始就选择了 Redbean,因为 Justine 在 Cosmopolitan 项目上的工作确实令人惊叹。一个二进制文件就能在任何地方运行,不需要运行时——这种理念与我思考基础设施的方式一致。我计划将来把博客托管到其他地方,但这些会在以后的文章中详细讨论。
关于这个博客的语言:法语是我的母语,我基本能使用英语双语交流,目前我正在密集学习中文。用三种语言写作是练习的一部分——一种用不同思维方式思考的途径。
你会在这里找到什么?关于我热爱的话题的个人思考和深入探讨:创造力、历史、软件工程、基础设施、史学、艺术、极简主义,以及一点地缘政治。
Crush 完成了剩下的所有工作。以下是它的过程。
技术栈 层级 工具 原因 静态网站生成器 Hugo Extended v0.146+ monochrome 主题需要 SCSS 支持 主题 hugo-theme-monochrome 简约、快速(~5KB gzip CSS)、暗色模式、搜索 Web 服务器 Redbean Cosmopolitan 项目的单二进制 Web 服务器 容器 Docker(多阶段) 第一阶段 Hugo 构建,第二阶段 Redbean 在 scratch 上运行 编排 k3s 轻量级 Kubernetes,TLS 由集群层处理 Crush 做了什么 Crush 作为完全自主的代理运行。我给了它一个高层计划,它便: