> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 迈向自修复、可重复的 AI 系统
- URL: https://www.hubwiz.com/blog/towards-slef-repairing-and-repeatable-ai-systems/
- Published: 2026-08-07T14:48:39.000Z
- Updated: 2026-08-07T14:48:39.000Z
- Description: Agent Harnesses 标准的最新进展
- Author: admin
- Tags: AGENT, #Import 2026-10-14 14:41

我已经在 Agent Harnesses 标准上工作了几个月，并用它来自动化我工作流中的关键任务。我想分享我是如何使用它的、我围绕它构建的工具、这些工具的特性，以及以标准化方式定义智能体角色所带来的实际影响。

## 1、Agent Harnesses 标准的目标

从根本上说，这个想法是把整个文件夹层级中信息的组织方式标准化，让信息更容易被 Claude 这类 AI 系统发现。随着项目逐渐成熟，这个目标开始结晶为一组子目标：

- 人们每天会借助智能体完成多项任务。当智能体需要同时协调多个角色时，它们常常会感到困惑。Agent Harnesses 标准的目标之一，就是让这些角色的创建、维护和隔离变得更加容易、更加直观。
- 当一个智能体被设计来处理一个包含多重职责的复杂角色时，履行该角色所需的上下文和工具会变得非常多。这可能导致关键工具被误用。Agent Harnesses 标准的另一个目标，是让上下文和工具得到更好的组织。
- 无论信息的组织模式如何，如果智能体无法高效地找到这些信息，一切都是无用的。Agent Harnesses 标准的另一个目标，是以一种能被 AI 系统有效、高效且低成本理解的方式，来组织履行某个角色所需的上下文和信息。
- 如果放任智能体系统自我更新，它们很快就会偏离人类的理解。Agent Harnesses 标准的一个目标是：鼓励 AI 系统遵循人类能够轻松理解、编辑、调整并就其与智能体对话的结构，从而保留人类的可理解性。

我认为这些问题都还没有得到彻底解决，但 Agent Harnesses 标准是一个有用的框架，让我能够迭代这些难题，并且明显更容易地驾驭它们。我想先简要描述这个标准，然后再介绍一些我为加速相关工作流而构建的工具。

## 2、标准概要

[Agent Harnesses 标准](https://agentharnesses.io/home?ref=hubwiz.com)本质上是对[技能标准（skills standard）](https://agentskills.io/home?ref=hubwiz.com)的扩展。

如果你熟悉技能标准，它归结为使用一个名为 `SKILL.md` 的单一 markdown 文件，该文件描述智能体可以用来做事的上下文和工具。你可能有一个名为 `send-email` 的目录，里面包含一个描述该技能的 `SKILL.md` 文件，以及一些智能体可以执行以发送邮件的代码。

```
send-email/
├── SKILL.md
└── scripts/
     └── send_email.py

```

实际的 `SKILL.md` 文件包含 `send-email` 目录中所有脚本和引用的信息，让智能体只需读取一个 markdown 文件就能了解如何使用技能中的资源，而不必阅读所有文件、理解所有代码。这节省了时间，也让技能的执行更加一致。如果你想了解更多细节，我专门写过一篇关于这个主题的文章。

[**Agent Skills - Intuitively and Exhaustively Explained**](https://iaee.substack.com/p/agent-skills-intuitively-and-exhaustively?utm%5Fsource=publication-search) \- 为智能体系统定义可复用的计划

这个标准很简单，但很棒。它之所以出色，是因为它实现了几个关键的事情：

- 高效抽象大批量信息，让 AI 模型能快速理解复杂的功能。
- 单一入口点。你知道智能体在用它做其他事情之前会先查看 `SKILL.md`，所以你可以恰到好处地引入关键的提示信息，而不是试图让智能体在系统提示中理解整个项目的一切。
- 共享标准。技能不依赖于特定模型或提供商，为一个智能体定义的技能很可能也能用于另一个智能体，因为技能标准已被广泛采用。

然而，技能并非完美无缺。

例如，Claude 将技能组织成扁平目录结构。如果你只有少数几个技能，这没问题；但如果技能很多，或者技能需要存在于某种顺序工作流中，要让模型始终如一地执行高级任务就会很麻烦。你可能有 `send-email`、`look-up-user-preferences` 和 `view-purchasing-history` 这些技能，但如果你想以特定方式让模型执行这些技能，比如在发送邮件前先查找用户并查看其购买历史，就没有标准方式来定义这种意图。Agent Harnesses 标准试图通过层级组织结构来解决这个问题。

Agent Harnesses 标准允许你在层级结构中指定技能，并创建关键的路由文档，向智能体描述信息应如何使用。例如，我们可以有以下结构：

```
email-client/
├── EMAIL-CLIENT.md
├── send-email/
├── look-up-user-preferences/
└── view-purchasing-history/

```

其中 `send-email`、`look-up-user-preferences` 和 `view-purchasing-history` 都是带有各自 `SKILL.md` 文件的技能文件夹。`EMAIL-CLIENT.md` 文件来自 Agent Harnesses 标准，被称为"路由文件"（routing file）。它充当入口点，让智能体理解在与客户邮件沟通的上下文中应如何使用这些技能。

这些组织可以采用高阶结构。假设你还需要给客户打电话或寄送实体邮件。这些可以是各自的目录，每个目录都带有路由文件，让 AI 系统能快速理解这些高级功能及其各自的技能应如何、何时使用。

```
interactin-skills/
├── INTERACTION-SKILLS.md
├── email-client/
|   ├── INTERACTION-SKILLS.md
|   ├── send-email/
|   ├── look-up-user-preferences/
|   └── view-purchasing-history/
├── call-client/
|   ├── INTERACTION-SKILLS.md
|   ├── send-call/
|   └── look-up-number/
└── mail-client/
    ├── INTERACTION-SKILLS.md
    ├── send-mail/
    └── look-up-address/

```

如何组织一个 harness 完全取决于你自己，应该根据你所做的项目以及你希望 Claude 这类智能体在该项目中做什么来设计。

你可能会注意到，每个技能都有一个 `INTERACTION-SKILLS.md`。为了让路由决策对智能体和人类都更明显，子目录中的每个路由文件都继承了顶层子目录的名称。`interactin-skills/` 中的所有路由文件都是 `INTERACTION-SKILLS.md`。下面是 [agent harnesses 文档](https://agentharnesses.io/home?ref=hubwiz.com)中一个更复杂的例子，它有两个顶层子目录。

```
my-harness/
├── HARNESS.md
├── tools/
│   ├── TOOLS.md
│   ├── backend/
│   │   ├── TOOLS.md
│   │   └── create-api/
│   └── frontend/
│       ├── TOOLS.md
│       └── build-ui/
└── data/
    ├── DATA.md
    ├── schemas/
    │   ├── DATA.md
    │   └── table-definitions.md
    └── quirks/
        ├── DATA.md
        └── known-issues.md

```

在 harness 的最顶层有一个 `HARNESS.md` 文件，它是整个 harness 的入口点。就像 `SKILL.md` 是技能的单一入口点一样，`HARNESS.md` 是 harness 的单一入口点，可以提供顶层路由信息，让智能体从某个特定起点导航整个 harness。

自从定义了 agent harnesses 标准的结构后，我一直在改进工具，让 Claude 能够高效地交互并管理这种结构。接下来，我想谈谈这些工具，以及我如何使用它们。

## 3、工具与工作流

我最近做出的最大的生活质量改进之一，是一个名为 `ahar` 的工具，它可以初始化遵循 agent harnesses 标准的仓库。可以通过以下方式用 pip 安装：

```
pip install agentharnesses-cli

```

这会安装 `ahar`，它可以用来做各种各样的事情。主要是初始化一个 agent harnesses 标准目录。

```
ahar init

```

目前，这会创建以下结构。你可以根据项目的性质修改它——agent harnesses 标准对文件夹名称不敏感，不过我发现在 `HARNESS.md` 之外再设置 `skills/` 和 `references/` 目录对我很有效。

```
my-harness/
├── HARNESS.md                       # entry point and agent identity
├── README.md                        # human-facing description
├── .gitignore
├── .claude/settings.json            # registers the harness as a Claude Code plugin
├── skills/
│   └── SKILLS.md                    # skill index
└── references/
    └── REFERENCES.md                # reference index

```

如果你在配置中输入 `claude`，它还会创建"agent harnesses 元技能"（metaskill），这是一个 Claude 可以用来与 harness 交互的技能。

```
├── .claude/skills/agent-harnesses/  # metaskill for progressive harness exploration
└── skills/
    └── maintenance/
        ├── SKILLS.md
        └── modify-harness/
            └── SKILL.md

```

现在，几乎每次我启动一个新仓库，我都会：

- 执行 git 初始化
- 调用 `ahar init` 并指定 claude
- 然后在命令行中运行 `claude`

当 Claude 运行时，我只需告诉它 `load harness`，它就会加载元技能，观察到 harness 是空的，然后询问我是否想做点什么。接着我告诉它我在做什么，它就开始为我搭建项目结构。

因为 Claude 通过元技能了解 agent harnesses 标准，它理解路由文件背后的意图，并拥有以编程方式与之交互的工具。这使 Claude 能够做到：

- 用单个命令行参数生成整个项目结构的高效摘要（借助元技能），让 Claude 一眼就能理解整个项目。
- 追踪整个项目层级中功能的引用，并根据用户反馈调整这些引用，使修改在跨会话中仍然可被发现，从而提高一致性。
- 以层级方式组织和结构化信息，这意味着我可以让 Claude 做大幅度的修改，而结果往往既合理又容易被我所理解。

Claude 在这方面的能力让我相当印象深刻。它与这个标准配合得很好，而且我发现它能高效地创建经过深思熟虑的组织系统。这让我能够启动多个子智能体、更新提示信息，并在这些路由文档中缓存关键信息，使 Claude 在不同会话中的行为更加一致。我认为最大的好处是分层缓存关键提示信息，这让系统实现了标题中提到的"自修复、可重复"的特性。

## 4、结束语

我很喜欢 Agent Harnesses 标准。无论它是否会得到广泛采用，它都显著提升了我的生产力，我会继续完善它。如果你感兴趣，不妨去看看。

---

原文链接: [Towards Self-Repairing and Repeatable AI Systems](https://medium.com/intuitively-and-exhaustively-explained/towards-self-repairing-and-repeatable-ai-systems-9371046804e5?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处