Prompt,Context,Harness Engineer总结

各种Engineer的加入,是对Agent的优化,监督,控制等操作。我们将从现主流的prompt engineer,context engineer,harness engineer给大家介绍。

1.Prompt Engineer

提示词工程,是相对基础的,简单的。比如,我们时常规定AI的role,希望它以某种状态输出;规定AI的输出要简洁等......这都属于提示词工程。

从大方向说明,prompt可以在一定限度上规定模型的输出,用语言话术去约束模型。在Agent编排上,我们常常会规定system_prompt(所有模型要去遵守的),role_prompt(特定agent遵守的),instruction(任务说明)等。

总得来说,prompt engineer听起来高大上,上限高,下限低。

这个比较简单,这里简要说明说明......

2.Context Engineer

首先,为什么会出现Context Engineer。因为,在不断地输入输出中+prompt地堆叠,模型的上下文会被拉地很长,模型会逐渐遗忘,出现幻觉,最后胡说八道。

所以,我们的目的是"保留有效的prompt,去除冗余的context"。

以具体的例子说明:

1.动态拼接Prompt

比如,有MultiAgent。对所有Agent的base_prompt有一个统一的,对特定任务的Agent需要有单独prompt写入。

传统任务中,我们可能会把所有prompt写入模型,这可能会导致窗口"爆炸",上下文拉长。

2.Todo

同样,让模型去制作Todo,可能Todo内容会很多,也会出现上面的情况。所以,我们会将其转换成Markdown格式;同时,对任务的状态(进行中,堵塞,完成)会进行持久化,更新总的Todo;把Todo钉在每次输入前,告agent还有哪些任务未完成。

3.动态选择Tool

比如,我们有100tools,但对于某些agent只需要调用某几个tools,如果不加以规范,它会调用不先关的tools,导致输出混乱。对特定的agents,我们需要用特定的tools,我们通常会用langchain内置的StructuredTool去规定tools。

4.NotePad

相对于我们的日记本,会记录整个过程的关键信息,比如代码报错,时间日程,决策存档等等。

比如,代码报错通常是冗长的,我们不希望它加入到memory中,但报错信息又很重要,我们需要去解决,所以我们记录到note里。

5.压缩机制

假设模型的记忆存储/上下文窗口为1M,当我们的积累达到0.5M时,模型的性能会下降,推理速度减慢。所以,我们会对前内容的积累进行总结,总结成0.1M。用模型对之前的内容进行总结,继续作为记忆存储追加到历史中。

6.作用域切换

当模型长期沉浸于一个任务时,需要去执行下一个任务,我们需要对模型进行平滑过渡的操作。当模型在转换其他任务时,由于长期沉浸于上一个任务,模型可能会在后续任务上表意不明。所以,我们需要让模型有个角色转换的间隙,我们会保留上一任务最后的几条信息,去追加到下一任务中。

3.Harness Engineer

harness engineer称为驾驭工程,那为什么又会出现这个新的名词呢?之前的2个工程上,agent的能力也逐渐得到了加强,在处理项目任务上也逐渐满足需求。但这并不是终点,我们希望agent能在系统上去实现自主功能,比如Open Claw,在自己的电脑上实现某个app的开发,执行某些任务等。此时,agent是部署在系统级别上的状态,它的操作限制更要去进行规范,比如,对数据库,重要文件,终端等操作。所以,我们引入了驾驭工程,去驾驭agent这匹"烈马"。

同样以个例子进行说明:

1.启动阶段

在项目搭建时,我们需要agent在一个干净透明的workspace去执行,因为可能触及增减文件夹,创建python环境等,去与外部环境隔离,避免污染外部环境。

2.编码阶段

当agent去触及到数据库,重要文件时,我们通常在prompt上去设定模型不要去做某某事情(比如,不要去修改,只能只读操作等),但模型可能依旧不听,我们就会限制其操作。

3.高危操作

agent要进行一些高危操作时,比如,在终端上执行什么命令,调用数据库,触及系统级的内容时,我们需要去让人进行绝对的掌控权,显示窗口去让人去决策agent的行为。

4.意外中断

当我们的app跑了几天时,快要完成了,突然出现电脑宕机,电源断电等意外情况,那我们的程序跑的过程都失败了,又要重新去run。所以,我们需要有对意外中断的断点保存能力,实现满血复活。

5.遇到报错

Agent可能会无法处理一些报错,人工排查复杂。之前context engineer记录了报错日志bote,我们可以给到agent处理,自我诊断过程。

6.完成阶段

比如:设置hook,在完成阶段时对agent的代码进行测试,我们需要外部人为去写测试脚本,而不是交给agent自己去测试(有概率出错)。

以上就是我对这些engineer的理解,AI发展迅速,优化了某个实现能力,到了某个节点会出现一些新名词,我们要保持不断学习的心,不能眼高手低,不断融入时代发展。

图片来源:b站up主的讲解视频。我也是跟着他的讲解去学习和完善的,有啥不对的,大家多多指正,共同学习!

相关推荐
张申傲4 小时前
拆解 harness9(4):Skills 系统架构
aigc·agent·deepseek·harness
Physicaloser1 天前
让 Agent 在对话中成长:自进化机制的五层实现
人工智能·ai·agent·智能体·harness
zhayujie2 天前
让 Agent 在对话中成长:自进化机制的五层实现
ai·大模型·agent·harness
landyjzlai2 天前
蓝迪哥玩转Ai(10)---Harness工程说透1。
人工智能·harness
qcx232 天前
提示工程已死,指令架构永生:深度复盘 GPT-5.5 与 Claude 4.7 带来的范式转移
人工智能·ai·llm·agent·agi·harness
小七-七牛开发者5 天前
AI Agent 的 4 个工程关键词:Prompt、Context、Loop、Harness 到底是什么?
ai·大模型·agent·token·context·loop·codex·harness
一条泥憨鱼7 天前
Harness Engineering(驾驭工程)零基础入门
网络·人工智能·harness·驾驭工程
一条咸鱼_SaltyFish9 天前
Agent 工程化避坑指南——从实践看常见反模式
ai·agent·ai编程·memory·obsidian·harness·llm-wiki