模型是租的,harness 才是你的:拆解智能体的七层框架

Ignacio Martinez · Oracle 开发者布道师 · 2026-09-21
听中文精华AI 合成朗读00:00
很多人不断在谈论模型,但问题是,像语言模型这样的模型,它们是推理中被冻结的部分,对吧?
— Ignacio Martinez

关联

这一集是一场现场工作坊:主讲人是一位在 Oracle 工作了七年、其中四年做开发者布道师的工程师,他曾与 Andrew Ang 合作上线过一门关于智能体记忆的课程。他要带大家动手从零构建一个 agent harness(智能体线束,即围绕大模型搭建的整套工程框架)。

他的开场论点很锋利:所有人都在谈论模型,但语言模型其实是「推理中被冻结的部分」——权重不会变,我们只能接受给定的东西。真正的工程空间在模型之外。

他把智能体定义为「模型 + harness」:模型负责推理,其余一切都是 harness。模型是租来的、被补贴的、不可控的;harness 的目标,就是把大语言模型的非确定性(同样的输入每次产出不同的输出)转化为可靠、可重复的结果。harness 建立在可互换的模型之上——只需要一个通用接口,比如 OpenAI 协议或 Anthropic API 规范 [03:56–04:17 主讲人]。

智能体栈与四类应用形态

每个 AI 智能体都建立在五层之上:应用(产品界面)、数据(记忆、知识、检索、编码、搜索)、模型、基础设施(编排)、计算(云、GPU、数据库引擎)。除了数据层,其他四层都在日益商品化——所以我们对数据层的控制力最强,而 harness 恰恰就生活在数据层 [06:30–07:48 主讲人]。

如今的 AI 应用有四种形态:被动的 LLM 聊天机器人、半被动的 RAG 应用(检索增强生成:先从资料库里检索相关内容、再让模型据此作答)、以及主动的形态——LLM 驱动的工作流(提供自动化)加 AI 智能体(提供自主性)。Claude Code、Codex 这类产品都是「自动化 + 自主性」的组合:自动化提供可靠性,自主性提供灵活性 [09:20–12:38 主讲人]。

文件还是数据库?混合方案

harness 的第一层是存储:记忆到底放哪。从一月起业界一直在争「文件派 vs 数据库派」,他的答案是:两者都用。

文件符合模型的直觉、易于创建和追加、遵循 POSIX 语义、跨操作系统兼容;但它没有事务一致性——当你同时跑 8、16、32 个智能体时,文件无法被同时插入和修改,如今的变通办法是 worktree(各智能体在独立工作树里干活,完成后合并回 main)。文件还不支持混合搜索、没有备份——这些是数据库在 35、40 年前就解决了的问题 [16:34–19:30 主讲人]。

他的建议:短期记忆放文件(比如编程智能体的待办清单),需要晋升为长期记忆的东西(比如用户偏好)进入数据库。他推介 Oracle DBFS(数据库文件系统),可以拿到带 ACID 事务一致性的文件、向量搜索、高可用等 [20:40–21:30 主讲人]。

上下文窗口救不了你:context rot

有人主张干脆上 1500 万 token 的上下文窗口,不用搞记忆。他的反驳:上下文窗口本身就是一种短期记忆,而且存在「上下文腐化」——你往窗口里放的东西越多,每一样东西分到的注意力就越少。

因为注意力矩阵本质上是窗口里每个 token 对其他所有 token 的引用,行数列数都会随窗口增长,呈二次方扩展。就像人聊天:前 30 分钟你注意力很高,聊八个小时你就想揍对方了。所以上下文窗口要尽可能小 [28:24–30:29 主讲人]。

语义层:企业没说出口的部落知识

记忆之上是语义层。他借用了 Umwelt(环境感知域,由 Jakob von Wekskul 提出,指每个生物透过自身透镜感知现实)这个类比:智能体没有人类感官,但它也有一个语义透镜——你训练它的东西加上你给它的上下文。

语义层捕捉的就是组织里那些「你和同事之间不用说出口」的知识:数据怎么建模的、查询怎么执行、元数据是什么。新同事进来你得从头解释,而语义层就是把这些隐性知识显式化 [34:19–36:39 主讲人]。

【背景】Jakob von Wekskul 一般拼作 Jakob von Uexküll,是生物学家,「Umwelt」(环境感知域)概念即由他提出。

极简智能体循环与工具检索

智能体循环(agent loop)是模型的驱动器,把模型变成智能体:观察 → 推理 → 行动,不停循环,且必须抗故障、绝不退出循环 [36:39–37:31 主讲人]。

上下文工程的关键是:工具和技能只在真正被需要时才检索、才放进上下文窗口,每次迭代都检查、不合适就暂时拿掉。有听众问「组织里有几千个工具怎么办」:答案是用 HNSW 索引(一种用图结构组织的向量索引),数据库里建、文件里建不了,查询 2000 个工具和查询 10 个一样简单;工具描述太相似导致检索混淆时,可以用 LLM 生成增强版描述来提高可区分性 [52:05–54:59 主讲人]。

智能体跑飞了怎么办?他设一个「滞后变量」承载 harness 对模型的耐心:对于他用的工作模型,放弃前最多 8 到 12 次工具调用是合适的值 [55:45–56:39 主讲人]。

持续学习:不改权重也能让智能体变好

模型权重冻结,但行为可以被改变。三种持续学习技术中,他聚焦最容易、最便宜的:上下文和 token 空间。

核心机制是「技能晋升」:你花一整天打磨出的成功工作流,可以被检索、存储进记忆,再通过蒸馏过程生成一个比原来更好的 skill.md——弃用旧版、换上新版。这样技能会随时间越来越贴合你自己的语气、工作方式和偏好 [38:45–41:02 主讲人]。

本集带走

  • 智能体 = 模型 + harness:模型是冻结的、租来的、可互换的(只要有通用 API 接口);你真正的工程空间和护城河在 harness。
  • 记忆混合存储:短期记忆放文件,晋升为长期记忆的内容(用户偏好、成功工作流)进数据库,两边的优点都拿到;多智能体并发改文件靠 worktree 变通。
  • 上下文窗口别贪大:注意力随窗口内容二次方摊薄(context rot),窗口越小任务相关性越高;工具/技能按需检索、按需进出窗口。
  • 给 harness 一个耐心变量:限制模型放弃前的最大工具调用次数(比如 8-12 次),防止幻觉循环烧钱;难题路由给前沿大模型、简单题给小模型。
  • 技能晋升 = 最实惠的持续学习:把成功工作流蒸馏成更好的 skill.md 并替换旧版,智能体不改权重也能越用越贴合你的偏好。
全部金句 4 条

很多人不断在谈论模型,但问题是,像语言模型这样的模型,它们是推理中被冻结的部分,对吧?
Lots of people are talking about models constantly, but the thing is that models, like language models, they are the frozen part of the reasoning, right?
—— Ignacio Martinez · [03:56]

所以 harness 工程的目标是一次又一次地创造可靠且可预测的输出,而推理模型是非常非确定性的。
So the goal of harness engineering is to create reliable and predictable outputs over and over, whereas a reasoning model is very non-deterministic.
—— Ignacio Martinez · [11:26]

模型的权重永远不会改变,除非你有数百万美元,或者大量时间,或者 GPU。
A model and the weights of the model will never change unless you have millions of dollars or a lot of time or GPUs.
—— Ignacio Martinez · [16:10]

而这些是数据库在 35、40 年前就解决了的问题,人们却差不多忘了这一点。
And these are things that the database fixed 35, 40 years ago, and people have kind of forgotten about that.
—— Ignacio Martinez · [19:23]

接着看

顺着「智能体」挖下去

换个口味