AI 圈又成功制造了个焦虑:Agent Harness Engineering。

一堆开源项目已经开始改名、改项目描述了,也有自媒体开始写稿告诉大家 Harness 是你必须学会的概念了。

但你肯定没看懂,因为写这篇稿子前,我看了不下 50 篇,一篇写明白的都没有。

全是“框架”、“设施”、“规范”之类的高大上用词,越看越™️焦虑。

另一个原因是,此刻所有 Harness 相关内容都是拿 coding 场景来论述的。

别慌,我来了。

这篇文章,拿一个人人都知道(虽然不一定能做好)的场景,一点点把缰绳给 Agent 套上。

让 Agent 围绕指定主题撰写公众号文章。
怎么 Harness

懒得看论述过程,看完下面这几句话可以走了:

  1. Harness 核心是一个更细化约束 Agent 的策略,通过提示词和一系列工具
  2. 底层支持是“把作业步骤原子化拆解,直到每一步都可以管理、可检查、可回滚、有复盘”
  3. 所谓“框架”和“设施”,就是一系列工具,让 AI 按说明调用
  4. 马跑太快了,需要一个缰绳约束:别疯跑,走一步、验证一步、记录一步
  5. 不是一匹马跑全程,而是一堆没有上下文干扰的子 Agent 分工完成
打开网易新闻 查看精彩图片

写一篇文章这个任务为例,Harness 的做法应该是:

  1. 有一个细化 brief 与你讨论并存储为.md的原子任务
  2. 有一个学习参考文章风格并存储为按板块结构化分段.md的原子任务
  3. 有一个根据 brief 检索资料、自验证资料相关性、抽取有效信息,并分别存储为一堆参考资料.md的原子任务
  4. 有一个根据 brief 和支持资料撰写文章大纲,并存储为.md的原子任务
  5. 有一堆根据大纲找匹配支持资料各写一段并分别存储为一堆文章片段.md的原子任务
  6. 有一个一段一段看文章判断要不要搞个配图、按需生成配图的原子任务
  7. 有一个拿片段测试排版风格、选择最终风格、输出公众号排版的原子任务

关键一:不是并行或者串行一个一个搞完,而是做一个、存一个、验证一个,遇到问题解决问题、记录解决过程、更新ToDo.md

关键二:所有规范和产出物都是.md,所有参与作业的 Agent 都能读、能编辑更新这些文档

要支持这个 Harness 作业规范,需要这些工具:

  1. 一个一堆文档的工作空间,每个子任务完成以后,用 git 管理版本
  2. 一个让每个零上下文的 Agent 上手就能看懂怎么干活的Agent.md文档
  3. 支持按关键词搜索空间内文档/文档片段的sed或其他 CLI 搜索权限阅读

三句话总结,每次 Agent 作业都是:

  • 把状态从上下文.md里拿出来
  • 把过程留痕到指定.md
  • 一步一个版本,每次都是新起点,每次独立的上下文

工作空间大概如下:

具体怎么实现
打开网易新闻 查看精彩图片
具体怎么实现

  1. 理论上,这需要一套代码构成的工程手段来约束,为了便于各位 PM 理解,我用提示词Skills的方式构造了这个 Harness 流程。
  2. 代码工程约束的是一轮一轮在循环中作业的 Agent,因为懒得专门写项目,我这里用了子 Agent来代指每一轮作业的 Agent。

项目结构如下:

打开网易新闻 查看精彩图片

首先是约束整体的Agent.md,它统领了全局,每一个(实际上是每一轮)参与作业的 Agent 都要了解“大家”在做什么、怎么做。

看起来简单,但也写了 400+行,以下仅放大纲:(完整Demo获取方式在文末)

打开网易新闻 查看精彩图片

相比于常规的约束提示词,这里面大量的篇幅在描述:

  1. 如何更新 todo.md,包括格式规范、状态流转、编号、上下文依赖、认领与锁定
  2. 每一个大任务阶段的总体验证标准,以及下一级到原子任务如何细化
  3. 失败任务处理和记录的规范
  4. 版本管理:多轮无完整上下文的 Agent 之间协作是否友好非常依赖这个

然后就是确保全局作业足够原子化的初始化,使用一个init-skill技能来实现,其中包含两个活:

  1. 使用程序直接初始化一个工作空间,里面预设好文件夹和文档模板
  2. 让初始化 Agent 编写初步的brief.mdtodo.md
打开网易新闻 查看精彩图片

需要特别注意的是,ToDo 应该有严格的原子化约束和流程约束,以确保每个“入局”的 Agent,既执行最小可控步骤、又能流畅与其他 Agent 完成协作。

其他风格提取、搜索、写作、配图、排版等大步骤,每一个都是要拆的最小单元和最小上下文引用,也都有明确的指示。

以写某一个段落为例,Agent 领到的任务是这样的:

  1. 你要写第 X 段
  2. 段落主题为:……
  3. 执行grep -A 20 "### 第二节" outline.md获取章节大纲
  4. 执行python3 skills/get-style-skill/scripts/query_style.py --soul style/soul.md --section "tone/explaining"获取段落参考风格碎片
  5. 执行grep -l "topics:.*agent harness" workspace/{topic}/sources/verified/*.md按关键词检索可用资料,或grep -A 5 "## 可引用观点" workspace/{topic}/sources/verified/SRC-001.md检索可引用的观点
  6. 输出产出到draft/intro.md文档
  7. 如果遇到错误,记下报错和修复过程,更新到memory/下的decisions.mdrun_log.md
  8. 更新todo.md,然后 git 保存版本
  9. 退出任务。

然后下一个 Agent 进来以后,领到的任务是:

  1. 拉取 xx 段内容,看看有没有必要配个图
  2. 有必要的话,使用gen-image-skill做配图
  3. 然后验证生成的图片,是否匹配,不行重新搞一张
  4. 记录错误、更新 todo、git 保存版本、退出

每一个任务都是认领任务、拉取最小单元上下文、干活、验证、保存、走人。

Harness 的命门

某种意义上,Harness 其实是 Skills 的升级版:从单一节点任务的最佳实践约束上升到 Agent 整体任务的约束。

它需要“骑手”至少具备以下两个能力:

  1. 任务原子化拆解的能力(产品经理基本功)
  2. 对整个任务自上而下、自下而上所有产出的细节的衔接

这两个能力,其实只要你过去从 0-1 写过 PRD,基本都能胜任。

缺的只是对大模型的理解:哪些环节人来做、哪些环节 AI 来做、哪些环节程序实现。

我的《AI 产品经理转岗特训营》线上课程有你缺失的一切。

这套课程经过了 2 年 + 7 轮迭代,包含了过去 2 年 AI 产品一路进化过来的所有必备技能。

不管你是要做公司的 AI 赋能规划还是要转岗成为一名大模型行业从业者,它都能以更快的速度帮你补齐:

打开网易新闻 查看精彩图片

详细的课程大纲和学习计划,可以联系班主任获得。

如果你想要抓住这波金三银四转岗的机会,我还提供了实训项目带教,帮你补齐没有项目经验的短板。

◈1. 5个应对招聘 AI 能力要求的实训项目

打开网易新闻 查看精彩图片
◈2. 5个企业级项目&产品经理能力养成实训
打开网易新闻 查看精彩图片
◈3. 持续更新的实训项目带教直播
打开网易新闻 查看精彩图片

这些项目是已经被大量同学验证有效的,可以被写进简历,大大增加你的面试机会和通过率!

打开网易新闻 查看精彩图片

更多实战安排和成功学员案例,联系班主任了解~

技术和玩法高速迭代,所以机会窗口不会太久。

唯一的解法就是,小不快跑加入进来。

进来就不怕技术迭代,不进来门槛只会越来越高。

本文提到的 Agent 写作 Harness-Demo,已经同步在课程的支持文档中,已经报名的同学可以直接移步查看。

我也会在接下来的答疑直播中问大家展开讲解。

打开网易新闻 查看精彩图片