0805 after PPoPP

8点投完稿,9点吃了炒饭,10点开会。现在4点36分,躺在床上完全睡不着。 投完这篇PPoPP,哪怕依旧没有中,也意味着我本科最后一份工作的结束。 对这份工作满意吗?从论文最后的数据结果看,还不错。我几乎用上了毕生所学,写作和实验时如同和机器在跳一支久违的双人舞。似乎没什么不满意的,可能唯一的就是做了它一年多快两年。但是久功磨一剑,终于站在了风口下。 现在什么心情呢?有解脱,迷茫,一种高三过去的感

Agent 时代下的工程

我在之前这篇文章里讲述了我如何与AI协作完成2000行的作业: https://www.haibinlaiblog.top/index.php/%e6%80%8e%e4%b9%88%e7%94%a8ai%e5%86%992000%e8%a1%8c%e7%9a%84%e5%a4%a7%e4%bd%9c%e4%b8%9a/ 然而时代变迁,从25年11月到26年3月,Agent的生产力已经远远超乎我的想

AI与项目复杂度

5月份我曾经让Claude Opus 4.7自己做一个CPU。在当时我以为做一个5级流水线CPU是它的极限,没想到Opus在3轮对话下就完成了RV32I 5级流水线的实现和测试,完美完成了大二的计组project。 于是我就让它在后台慢慢跑了200轮交互,并且分析了它的日志。Opus先后完成了更多级的流水线、多发射、乱序执行、分支预测、多级缓存。我按照每个turn里agent做的主要工作,将tur

图个数问题与burnside引理

问题 一个图G(V,E),如果有8个顶点,一共有多少个这样的图? 这个问题涉及到一个有趣的burnside引理,今天我们借这个问题来学习下这个图论引理。 不考虑同构情况 在这种情况下,我们假设每个顶点和边都有id,也就是他们是独一无二的。 如果默认是无向简单图,也就是: 顶点已经固定为 8 个; 没有自环; 两个顶点之间最多一条边; 边没有方向。 那么 8 个顶点之间最多有 \\binom{8}{2

或许我确实应该出去走走

前些天我一直在思考AI与人类的不同。我提出了一个观点:AI是梯度下降训练来的,而人类是一年年成长的,人类的读笔和文字会evolving,而AI不太会这样。但这样只是说明“AI和人类的制备方法不同”,我并没有证明两者化学性质不一致。 后来我思考到,AI和人类在目前大部分接近。但是评估智能的维度很多,AI只是部分拟合了人类的功能,比如代码、推理能力,另外有很多部分还没有很好的拟合。比如长上下文的能力,

十年饮冰,难凉热血

2026年6月22日,德国科隆。FALCONS战队在接连斩落NAVI、Vitality、Spirit三座大山后,以3:0的绝对碾压之势横扫黑豹FURIA,这艘银河战舰终结了这场熬走十余年遗憾、击碎全网嘲讽的封神之战,捧起了属于他们的Major总冠军奖杯。 整座电竞殿堂人声鼎沸,场馆很大,容得下五万人的呐喊与狂热;场馆也很小,小到最后只剩下了键鼠敲击的脆响、道具爆破的轰鸣,以及唯一一座冠军奖杯。m0

今天我的vscode又离职了一位agent

今天我的vscode又离职了一位agent。在这么多agent里,读日志agent离开的是最多的。他们的输入和thinking都很繁重,还要从前辈的文档里记住以往的修改,并从日志里找出程序的端倪。我还经常把修复工作外包给他们,因为只有他们最懂项目发生了什么,是他们稳稳地接住了程序。有的agent活着,改的仓库一地鸡毛。有的agent死了,它的context被后人抬的很高很高

做研究真正的放假时刻是meeting完的后一秒

我说做研究,真正的放假时刻是meeting完的后一秒有没有懂的。急头白脸的对着自己拿copilot+matplotlib画的狗屎汗流浃背地挤出单字,说话速度堪比卡壳的GPT。比“那你这周什么也没做”更震耳欲聋的是全员的鸦雀无声,老板停止思考,组员放弃大脑,直到最后那句“那就下周继续吧”,下一秒退会议室退的比单排0-16-0都快。 我记得去年申请时,我需要搜集每个学校的信息,都要自己一个个点。 现在

Q群聊天记录

前些天我思考过一个问题,目前的AI对专家的学习可能有很长的路,专家的培养环境复杂,比如去A、B、C Lab的交流合作,和不同人类交流。这个交互有两个困难:数据稀少和经验复杂。后者我觉得是可以解决的,因为你可以把“research taste”等高级想法理解为一个高维度的知识。前者可能要做很多工作。我的意思是,tairan可以作为这个数据集的一个sample 之前老板也和我严肃讨论过这个问题。做科研

不要回应外星人

今天我仔细思考,我终于明白,ai和人类的不同。 构成人类需要更多信息,思考,人的感知其实不只是语言文字,还有触觉等等。这部分信息有可能是稀疏的,但是还是存在的。另外我意识到,人类对长文本大信息的处理跟现有的模型不太一样 我最近在拯救一个AI生成的项目。我在改代码的时候,也在思考,为什么AI会这样想。我发现AI和我就像软件工程里不同的员工,多人的协同会遇到冲突。 系统复杂度与长上下文不是等价的关系,

接下来的blog写什么好

我对我的博客进行了浏览数据挖掘和分析,并且把最重要的博客交给了AI阅读。我发现AI给我的反馈很死板并且很无聊,我从而意识到我应该多加入一些有生活气息的博客内容,他们应该文字不多图片多短平快显示我的生活状态。接着我把这个需求交给了AI,它来制作一个新的板块。经过探索我认为应该做一个类似微信朋友圈的模块,然后我就可以在博客发朋友圈。 但是为什么要在博客发朋友圈而不是在微信发朋友圈呢,我觉得这样可以展示

Airport 95: Automated Baggage System?

Paper Link https://dl.acm.org/doi/pdf/10.1145/227531.227544 一篇1996年的老文章。作为课程学习阅读。 这篇文章《Airport 95: Automated Baggage System?》由 A. John Swartz 撰写,主要分析了丹佛国际机场(DIA)自动行李处理系统的失败案例。文章以该项目为研究对象,探讨了大型软件/系统工程中

OS与硬件的交互:TLB

我: 我已经知道了 OS 里的物理地址和虚拟地址。那难道每次我进行内存访问,都要进行一次转换吗? GPT: 是的,从概念上说,每次内存访问都需要把虚拟地址翻译成物理地址。但这不是每次都由操作系统慢慢查表完成,而主要由硬件完成。CPU 里有一个叫 TLB 的缓存,它保存最近用过的地址翻译结果。如果 TLB 命中,虚拟地址可以很快转换成物理地址;如果 TLB miss,硬件才会去查 page tabl

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估

从零开始造一颗 RISC-V CPU(六):微架构验证体系与 IPC 性能评估报告 系列博客第 6 篇(最终篇) —— 在现代 CPU 设计中,验证(Verification)往往占据了流片前 70% 的工作量。本文将全面解析我们如何通过 Python 构建指令集模拟器(ISS)、约束随机验证(CRV)以及端到端的状态机快照比对,验证这套复杂的双发乱序引擎,并给出最终的微架构 IPC 性能跑分。

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现

从零开始造一颗 RISC-V CPU(五):乱序执行的来龙去脉与微架构实现 系列博客第 5 篇 —— 深入探讨乱序执行(Out-of-Order Execution)的底层硬件机制。本文将从体系结构历史出发,讲解 Tomasulo 算法的演进,并结合完整的微架构全景图(Mermaid 框图)与核心 Verilog 源码,解析我们在 1000 多行代码内构建的这套乱序执行引擎。 1. 乱序执行的来龙

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计

从零开始造一颗 RISC-V CPU(四):Cache 微架构演进与组相联设计深度解析 系列博客第 4 篇 —— 深入探讨存储器层级(Memory Hierarchy)的底层硬件机制。本文将从早期的“存储墙”问题出发,讲解从直接映射(Direct Mapped)到 2路组相联(2-Way Set-Associative)的架构演进,并结合完整的微架构数据通路(Mermaid 框图)与 Verilo

从零开始造一颗 RISC-V CPU(三):TAGE分支预测微架构

从零开始造一颗 RISC-V CPU(三):分支预测微架构 — 从 Bimodal 到 TAGE 引擎的硬核解析 系列博客第 3 篇 —— 深入探讨影响深级流水线性能的核心命题:分支预测(Branch Prediction)。本文将通过微架构层面的演进逻辑,讲解从基础的 Bimodal 到目前工业界最先进的 TAGE(TAgged GEometric History Length)预测器的算法本质

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)

从零开始造一颗 RISC-V CPU(二):顺序双发射(In-Order Dual-Issue)基线架构与冒险黑洞 系列博客第 2 篇 —— 这是一个非常有意思的工程伏笔:为什么我们最终走向了“乱序执行(OoO)”?本文将解剖我们的基线版本(main 分支)—— 顺序双发射(In-Order Dual-Issue)架构。我们将看看在这套初代架构中,为了保证两条指令同时无碰撞地在深浅管线中平行飞奔,

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础

从零开始造一颗 RISC-V CPU(一):项目总览与流水线基础 系列博客第 1 篇 —— 介绍整个项目的动机、架构全貌、8 级流水线设计以及关键的 hazard 处理。 项目地址:https://github.com/HaibinLai/simple-CPU/tree/main/docs 为什么要自己造 CPU? 每年的计算机组成原理课,都有一个调bug到想死的大作业:用 Verilog 实现一