Files
Obsidian/博客/AI与大模型/学习Agent,越学越像在重新理解操作系统.md
T
Serendipity d60007bc47 feat: 添加关于Agent与操作系统类比的新博客文章
添加两篇博客文章,探讨Agent系统与操作系统的概念类比。主要新增文件包括:
- 博客/AI与大模型/学习Agent,越学越像在重新理解操作系统.md:简洁版文章
- temp-agent-os-v2.md:详细扩展版文章,深入对比进程/线程与Sub-Agent、系统调用与Tool Use、虚拟内存与Context Window、文件系统与RAG等概念

同时更新Obsidian插件视图,使设置按钮打开站点配置模态框而非空操作。
2026-05-02 17:22:57 +08:00

4.5 KiB

title, id, date, auther, cover, excerpt, permalink, categories, tags
title id date auther cover excerpt permalink categories tags
学习 Agent,越学越像在重新理解操作系统 c11d5916-8c13-498f-a208-bc2287fb885d 2026-04-30 17:07:24 liuhangyv 学习 Agent,越学越像在重新理解操作系统 引言 学了半年 Agent 框架,我产生了一个奇怪的感觉:我好像在重新学操作系统。 进程与线程、文件系统、系统调用、内存分页、调度器……这些操作系统里的经典概念,几乎都能在 Agent 系统中找到一一对应的存在。今天就来聊聊这个有趣的类比。 进程与线程 /archives/xue-xi-agent-yue-xue-yue-xiang-zai-chong-xin-li-jie-cao-zuo-xi-tong
xing-ye-wang-yuan-jing
ji-shu-shen-qian
aizhi-neng-ti

学习 Agent,越学越像在重新理解操作系统

引言

学了半年 Agent 框架,我产生了一个奇怪的感觉:我好像在重新学操作系统

进程与线程、文件系统、系统调用、内存分页、调度器……这些操作系统里的经典概念,几乎都能在 Agent 系统中找到一一对应的存在。今天就来聊聊这个有趣的类比。

进程与线程 → Sub-Agent

操作系统里,进程是资源边界,线程是执行单元。同进程的线程共享内存,跨进程则要显式通信。

Agent 世界完全照搬了这套做法。当我们用 Sub-Agent 让多个 Agent 并行协作,立刻面对经典问题:谁能访问谁的状态?

共享上下文带来效率,也带来竞争条件。死锁、竞争、一致性……这些老问题穿着新衣服又回来了。

一个 Sub-Agent 正在写文件,另一个 Sub-Agent 同时在读同一个变量——这就是经典的 race condition。

系统调用 → Tool Use

这是最像的一个类比。

用户程序想访问硬件,不能直接碰,必须通过系统调用陷入内核,由内核代为执行。

Agent 想搜网页、跑代码、查数据库,也不能自己动,必须通过 Function Calling 交给 Harness 执行。

两者的本质完全一样:在权限边界上打一个受控的洞,能力从这个洞里流进来,风险也从这个洞里被隔住。

操作系统 Agent 系统
系统调用 Function Calling / Tool Use
内核态 Harness 执行环境
用户态 LLM 推理过程
硬件设备 外部工具(搜索、代码执行、数据库)

Cache / 虚拟内存 → Context Window

Context Window 是 Agent 最稀缺的资源,贵到每个 token 都要精打细算。

这和 CPU Cache 的逻辑一模一样:

  • 寄存器 → 当前正在推理的内容
  • L1/L2 Cache → 近期对话上下文
  • 内存 → 长期记忆中的最近会话
  • 磁盘/交换区 → 压缩摘要或外部存储

当上下文满了,Agent 框架开始做 Context Compression——这就是在做内存分页与交换,只不过换出去的不是字节,是语义。

"这段对话太长,我把关键信息压缩成一个摘要存着" = "内存不足,把不常用的页面换出到磁盘"

文件系统挂载 → RAG

RAG 把外部知识库挂进 Agent 的"文件树",需要时检索,不需要时不占窗口。

这和操作系统挂载外部存储的逻辑完全相同:用廉价的大容量存储补偿昂贵的快速内存,按需加载,用完释放。

操作系统 Agent 系统
磁盘/SSD 外部知识库(向量数据库)
文件系统 RAG 检索层
mount 命令 RAG 配置
磁盘 I/O 向量相似度搜索

内核 / 调度器 → Harness / Orchestrator

Agent = Model + Harness

Model 是计算本身,Harness 是操作系统内核:管权限、调度任务、分配资源、处理工具调用的返回。

多 Agent 系统里的 Orchestrator 就是调度器,决定:

  • 哪个 Agent 先跑
  • 跑多久
  • 结果传给谁

换个场景照样适用——这就是操作系统的任务调度。

写在最后

操作系统花了几十年才把这些问题想清楚:进程隔离、内存管理、文件系统抽象、设备驱动……

Agent 时代正在把同样的问题重新答一遍。

只不过:

  • 资源从 CPU / 内存 变成了 token / 推理时间
  • "程序" 从机器指令变成了自然语言
  • "进程" 从隔离的地址空间变成了独立的 Agent 实例

历史不会重复,但会押韵。

当你觉得某个 Agent 设计似曾相识——不妨回到操作系统教科书里找答案。那里面藏着你需要的解。