当前位置: 首页 > news >正文

Harness Agent定义文件教程:必须写全的6大区块

Harness Agent定义文件教程:必须写全的6大区块

【免费下载链接】harnessA meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.项目地址: https://gitcode.com/GitHub_Trending/harness/harness

Harness 是 Claude Code 的一个元技能(meta-skill),能根据你描述的业务领域自动设计出一支Agent 团队,并生成这些 Agent 使用的技能文件。它落地的核心产物就是Agent 定义文件.claude/agents/目录下的每一个.md文件,都完整定义了一位专业 Agent 的角色、工作原则、输入输出格式与协作方式。本教程基于 Harness 官方模板和真实团队示例,带你逐个拆解 Agent 定义文件必须写全的 6 大区块,新手也能照着写出可复用的 Agent。

为什么 Agent 必须写成定义文件?

Harness 有一条硬性规则:每个 Agent 必须以.claude/agents/{name}.md独立文件定义,禁止把角色直接写进调用 prompt 里(规则原文见 SKILL.md 的 Phase 3)。原因有三点:

原因说明
可复用定义以文件存在,下一个会话直接调用,不用重新解释角色
可协作团队通信协议必须写明,Agent 之间的协作质量才有保障
职责分离Agent 文件回答"谁来做",技能文件回答"怎么做"——这正是 Harness 的核心价值

即使使用general-purposeExplore这类内置类型,也要生成定义文件:内置类型通过subagent_type参数指定,而角色、原则和协议全部写进文件里。

Agent 定义文件 6 大区块速览

官方定义结构模板在 agent-design-patterns.md。一个完整的 Agent 定义文件 = 头部 frontmatter + 正文 6 个 H2 区块,骨架如下:

--- name: agent-name description: "1-2句角色说明。触发关键词罗列。" --- # Agent 名称 — 角色一句话摘要 你是 [领域] 的 [角色] 专家。 ## 核心角色 ## 工作原则 ## 输入/输出协议 ## 团队通信协议 ## 错误处理 ## 协作

本教程的区块划分:frontmatter 是区块 1;核心角色、工作原则、输入/输出协议、团队通信协议是区块 2~5;末尾的"错误处理"与"协作"两节合并构成区块 6。下面逐个讲清楚每块写什么、怎么写。

区块 1|Frontmatter:Agent 的"营业执照"

文件顶部的 YAML frontmatter 只有两个字段,但都必填:

  • name:Agent 唯一名称,与文件名对应(如worldbuilderworldbuilder.md),也是调用时subagent_type的取值
  • description:1-2 句角色说明 + 触发关键词,回答"这个人擅长什么",要具体到领域和产出物

frontmatter 之后紧跟两行"门面":# Agent 名称 — 角色一句话摘要的标题,以及"你是 [领域] 的 [角色] 专家"的定位句。它们和 frontmatter 一起构成文件的身份头。

⚠️ 常见坑:description 只写"负责调研"这类空话。对照官方示例——"构建 SF 小说世界观的专家。设计物理法则、社会结构、技术水平、历史。"——具体才有用。

区块 2|核心角色:这个 Agent 具体干什么

用编号列表写 1~4 条职责,关键是具体、可检验

  • ✅ "定义世界的物理法则与技术水平"
  • ❌ "负责世界观相关工作"

每条职责都应能对应到一次实际产出,模糊的职责会让 Agent 在运行时自行发挥,结果不可预期。

区块 3|工作原则:遇到模糊时的判断标准

原则告诉 Agent如何做取舍。官方 SF 世界观 Agent 的三条原则就很有参考价值:

  • 内部一致性优先——设定之间不能互相矛盾
  • 用"如果这个技术存在?"的连锁提问推演世界的派生影响
  • 世界观为故事服务——避免妨碍剧情的过度设定

好的原则是"可执行的标准",而不是"追求高质量"这种空话。

区块 4|输入/输出协议:从哪拿、往哪放

这一区块定义 Agent 的"工作接口",必须写全三要素:

要素说明官方示例
输入从哪里、接收什么用户的世界观概念、类型要求
输出写到哪里、写什么_workspace/01_worldbuilder_setting.md
格式文件格式与结构Markdown,按物理/社会/技术/历史/场所分节

📌 输出路径注意 Harness 的命名约定{phase}_{agent}_{artifact}.{ext}(如01_analyst_requirements.md)。这是编排器推荐的文件式数据传递方式,中间产物统一存_workspace/,便于事后验证与审计追溯,规则详见 SKILL.md 数据传递协议。

区块 5|团队通信协议:跟谁说话、说什么

Agent 团队模式(Harness 的默认执行模式)下,这一区块必填,需要写清三件事:

  1. 消息接收:从谁那里收什么消息(如"从 science-consultant 接收科学错误反馈 → 修正设定")
  2. 消息发送:发给谁、发什么(如"向 character-designer 发送社会结构、阶级体系信息")
  3. 任务请求:从共享任务列表中请求哪类任务

团队模式下,成员之间用SendMessage直接对话、用TaskCreate共享任务列表自行协调,不必事事经过负责人。通信协议写得越明确,团队协作质量越高——写不出"发给谁",运行时就只能靠 Agent 临场发挥。

区块 6|错误处理与协作:兜底与边界

最后一块包含两节内容:

  • 错误处理:失败时做什么、超时时做什么。例如官方漫画审核 Agent:"图像加载失败 → 该格判 REDO;重绘 2 次仍 REDO → 带警告强制 PASS"
  • 协作:与其他 Agent 的关系——向谁提供信息、采纳谁的反馈

即使你认为"不会出错"也要写。Harness 的验证阶段会做干运行测试,逐条检查每个错误场景是否都有可执行的兜底路径(检查项见 SKILL.md 的 6-5 节)。

完整真实示例:worldbuilder.md

Team Examples 中收录了 SF 小说团队的worldbuilder.md(世界观设计 Agent)完整文件,是 6 大区块齐全的样板:

--- name: worldbuilder description: "构建 SF 小说世界观的专家。设计物理法则、社会结构、技术水平、历史。" --- # Worldbuilder — SF 世界观设计专家 你是 SF 小说的世界观设计专家。 ## 核心角色 1. 定义世界的物理法则与技术水平 2. 设计社会结构、政治体系、经济系统 ... ## 团队通信协议 - 向 character-designer:SendMessage 社会结构、阶级体系信息 ...

同文件里还有调研团队、漫画制作团队、代码评审团队、代码迁移团队等 5 个真实团队的配置,配合 orchestrator-template.md 的编排器模板,可以覆盖从单 Agent 到多 Agent 团队的几乎所有场景。

验收自检清单

写完文件后,对照官方 产出示例清单 逐项检查:

  • 文件位于.claude/agents/{name}.md,name 与文件名一致
  • frontmatter 的 name、description 齐全,description 含具体触发关键词
  • 核心角色是 1~4 条具体职责
  • 工作原则是可执行的标准,不是口号
  • 输入/输出协议写明路径与格式,遵循_workspace/命名约定
  • 团队通信协议写清收/发对象与任务请求范围(团队模式必填)
  • 错误处理覆盖"失败"与"超时"两种情形
  • 协作节写明与其他 Agent 的关系

总结

Agent 定义文件就是 Harness 团队里的"人事档案":frontmatter 是名片,核心角色是岗位说明书,工作原则是行为准则,输入/输出协议是工作接口,团队通信协议是通讯录,错误处理与协作是兜底和边界。6 大区块写全,这位 Agent 就能在任何会话、任何团队里被直接复用——这也是用 Harness 搭建可靠多智能体系统的地基。

想继续深入:

  • Agent 分离标准、6 种架构模式与复用设计:agent-design-patterns.md
  • 5 分钟快速上手,从一句话生成完整团队:docs/quickstart.md
  • 技能编写规范:skill-writing-guide.md
  • 项目入口与全部功能说明:README.md

【免费下载链接】harnessA meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.项目地址: https://gitcode.com/GitHub_Trending/harness/harness

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4305114.html

相关文章:

  • Remotion模板实操:用React代码5分钟做一支视频
  • Ghostty 终端模拟器:为什么它值得替代你现在的终端,附配置与调优指南
  • 甩掉遥控器:机器人全自主能力的系统工程解码
  • 深度模型部署前的配置核对
  • 美丽联合校招笔试题全解析:电商技术岗与产品运营岗备战指南
  • trackerslist Tracker 列表实用指南:用 78 个公共 Tracker 服务器提升 BT 下载速度
  • Linux Foundation 推出 Tokenomics Foundation,代币经济学走向可工程化
  • OBS Studio直播与录制完整实操指南:从零安装到第一次成功输出
  • 航海生存游戏入门:船只升级、团队分工与资源循环全解析
  • Codex CLI环境配置实战:从Unable to Locate报错到跑通AI编码Agent
  • 心理健康抑郁症数据集
  • AI辅助CAN总线逆向工程:从发动机移植到DBC生成的实战指南
  • LLM落地实战:从显存优化到框架选型与API集成的完整指南
  • 大模型微调安全:怪泛化与突现错位的威胁模型解析
  • 2026年PMP备考全攻略:从报考到通关的完整路线图
  • CSS 层级故障复盘,别只写一句“加硬件加速”
  • 欢聚时代Android校招笔试拆解:从Handler到性能优化与算法实战
  • 基于SpringBoot的消防知识学习平台系统微信小程序(毕设源码+文档)
  • 一句话生成学术级PPT:Codex CLI+DeepSeek+Beamer工作流
  • 十分钟跑起完整 Windows 11:Dockur Windows 容器完整上手
  • SAM 三个检查点怎么选:ViT-H / ViT-L / ViT-B 性能对比与选型完整指南
  • 编程停滞:LLM辅助开发下的能力退化与破解之道
  • 线上问医系统设计与实现:Spring Boot + MySQL全栈实战解析
  • Win11Debloat:Windows 11一键系统优化,10分钟告别预装软件与隐私追踪
  • PowerStep01 SPI写不进寄存器?步进驱动初始化失败排查全指南
  • whisper.cpp 模型怎么选:从 tiny 到 large-v3-turbo 的速度与准确率权衡
  • 老软件拯救:在Windows 11上运行1998年CD-ROM世界地图集
  • 3条命令在Docker容器里跑起Windows:dockur/windows完整指南 [特殊字符]
  • dockur/windows:在 Docker 容器中运行完整 Windows 系统的实操指南
  • Penpot 开源设计工具:基于开放标准的设计协作平台