欢迎回到"Harness Engine"系列——从原始语言模型到生产准备代理系统的十段旅程.
由建筑师制造.
为所造者.
在第5部分中,我们审视了背景情况——模型在每次通话中看到的有效载荷。
现在我们看看模型之后会发生什么, 在看到背景之后, 决定做一些事情。
模型称为工具.
工具必须执行某处。
那里就是环境 轻取少取.
环境感觉像管道——文件系统,外壳,网络,机底.
但这是每个侧面都影响模型实际要求着陆的地方,而你是如何设计"一个AI代理代表你做事"从吓人到常规的.
下一步是: 第1部分:原始模型问题 第2部分:定义机能—— 第6部分:控制循环 第4部分:工具层 第5部分:背景工程 第5部分:文件系统与环境 第7部分:记忆层 第8部分:可观测性 第9部分:机能架构 第10部分:分解克洛德代码 到这篇文章的结尾,你会知道什么是环境,为什么每个具有副作用的工具都取决于它,以及将一个生产准备环境与一个演示环境分开的三种属性(捆绑,可复制,可检查).
开始吧 📚 想比文章更深入吗?
当你跟随这一系列,我集中了两种实际操作的资源, 比任何单一的文章都远: 构建一个来自Scratch的和谐——Udemy Course——一个自我节奏的课程, 我用代码在地面上通过建造一个生产级的特效管。
AI代理的哈尼斯工程(Harness Engineering for AI Agents)——Live Maven工作坊——为希望直接反馈的建设者举办以组群为基础的现场工作坊"QQA",并通过材料与同行合作.
两者都是可选的——系列独立站.
但是,如果你想要 完整的工作室质量版本, 这就是它住的地方。 "环境是什么"是工具在内部运行的运行时间.
具体而言,它包括: 他们读取的文件系统并写入他们在网络中执行的命令的外壳 允许他们消费的计算资源——CPU,内存,磁盘,站点时间,API配额 如果一个工具有任何副作用,那么环境就是这种副作用的发生地.
当你的工具打开一个文件, 它打开一个文件在一个环境中。
当你的工具运行, 它运行在一些外壳, 在一些文件系统。
当工具发出HTTP请求时,它会从一些网络堆栈中这样做,但须遵守一些关于它能够达到什么的规则.
这些都不是异国情调 如果你曾经设置过CI管道,你已经做了环境决定——跑者使用什么OS,什么依赖是预先安装的,什么秘密是暴露的,什么文物在台阶之间持续存在.
对于一个代理人来说,环境是同样的关注, 适用于同样的问题: 这个东西在哪个世界运行?
为什么环境存在,因为工具不可能存在于真空中.
没有文件系统读取工具是毫无意义的.
一个工具没有外壳就毫无意义了 一个工具没有网络联系就毫无意义。
每个具有副作用的工具都需要针对这些副作用的目标,而环境就是这个目标.
换句话说,工具(第4部分)是模型的可及性,但环境是它们可触及的范围。
不能分出两相.
设计良好的嵌入在设计不良的环境中的工具集产生一种不能行动(因为环境阻塞)或行动太自由(因为环境不)的代理.
如何一个良好的环境设计 看起来像三个属性 将一个生产准备的环境和一个演示环境分开。 “环境”界定了该代理人可以运作的范围。
良好的环境是受约束的——代理人可以做它需要做的事情,而别无他法.
这意味着: 代理机不能不小心 宿主机T