欢迎回到"Harness Engine"系列——从原始语言模型到生产准备代理系统的十段旅程.
由建筑师制造.
为所造者.
在第四编中,我们研究了“工具”——模型可以称为的一套功能。
但环形山每转一转,仍有一个大不解的问题:当环形山叫它时,模型到底看到什么?
答案是 无论载荷里装了什么 该有效载荷——整个成套指令、历史、检索文件、工具定义和所有其他——被称为“背景”。
有读者以"快活工程"为旧名来认识这个地盘.
这个名字没有错,但很窄.
一个提示听起来像是你曾经写过的东西 和船。
运行一个代理的现实情况是,有效载荷会改变每个转弯,设计它里面的是什么是一个持续的学科.
因此,更新更准确的术语:上下文工程。
下一步是: 第1部分:原始模型问题 第2部分:定义哈妮斯- 第6部分:控制圈 第4部分:工具层背景工程 第6部分:文件系统与环境 第7部分:记忆层 第8部分:可观察性 第9部分:哈妮斯架构 第10部分:分解克洛德代码 到这篇文章的结尾,你会知道背景是什么, 为什么每次转弯都强迫你回答“模型现在应该知道什么?” 从头到尾,以及构成一个精心设计的上下文的三块移动(系统即时,历史,检索).
开始吧 📚 想比文章更深入吗?
当你跟随这一系列,我集中了两种实际操作的资源, 比任何单一的文章都远: 构建一个来自Scratch的和谐——Udemy Course——一个自我节奏的课程, 我用代码在地面上通过建造一个生产级的特效管。
AI代理的哈尼斯工程(Harness Engineering for AI Agents)——Live Maven工作坊——为希望直接反馈的建设者举办以组群为基础的现场工作坊"QQA",并通过材料与同行合作.
两者都是可选的——系列独立站.
但是,如果你想要 完整的工作室质量版本, 这就是它住的地方。 "背景是什么"(What The Context is The Context)是所有在给定的API呼叫中输入模型的内容.
俱 it.
具体而言,在任何单一转弯时,发送给模型的有效载荷通常包括: 系统提示——模型的人格和指示 对话历史——迄今交流的信息 任何与当前回合有关的检索文件 工具定义——模型可以叫什么工具,以及Prior工具如何产生结果——来自早先制作的模型的调用 任何附件文件或图像 任何其它的牵引装置 都认为模型需要知道 整个包裹会穿过电线 模特儿都读了 然后它产生一个反应。
然后,在接下来的循环中,这个带子组装出一个新的套件——也许加上了先前的回复,也许附有新的工具结果,也许有不同的检索内容——并发送了这个.
每转一圈都是新的背景。
每一转相.
为什么"背景存在" 因为模型是无国籍的.
我们在第一部分中注意到这一点: 每一个API的呼叫都是在模型的一侧独立的.
除非模型外的东西放在那里 否则电话之间不会一直存在 这意味着“模型现在应该知道什么?” 变成了一个非常不同的问题:“我们在上下文中写了什么?” 这个问题必须逐一回答。
没有捷径。
你不能告诉模特"记住我5分钟前说的话" 你不能说"参考我们之前讨论的文件" 每一个相关的东西——每一个事实,每一个先前的信息,每一个结果,每一个文件——都必须在当前呼叫的有效载荷中,否则模型不知道.
这就是为什么背景工程 可以说是整个绳索中最深的工程学科。
决定什么是包含,什么是压缩,什么是漏出,当——这就是t