Install
openclaw skills install agent-harness-engineer指导AI coding工具构建生产级Agent系统。当用户需要设计、实现或优化AI Agent系统时触发。 特别适用于:Agent架构设计、Harness工程、工具系统、权限模型、上下文管理、多智能体协作、 记忆系统、安全沙箱、MCP集成等场景。支持从概念设计到生产部署的完整Agent系统构建。 触发关键词:构建agent、创建智能体、agent系统、自动化工具、AI助手、多智能体、 agent优化、升级agent、agent脚手架、agent项目模板、agent框架。 核心目标:帮助AI coding工具生成结构完整、可扩展、生产就绪的Agent项目, 而非仅提供最小化demo代码。 与v1/v2版本的区别: - v1版本:提供理论文档和最小示例,AI coding工具需要自己理解如何应用 - v2版本:提供分阶段构建指南,每个阶段都有明确的理论指导、实践步骤、检查清单和常见问题 - v3版本(当前):引入三级构建规模、代码生成禁止复制策略、技术栈分级推荐、抽象接口引导模式。 AI coding工具必须根据用户需求生成定制化代码,不得直接复制reference中的示例代码。 reference中的代码已全部改为"抽象接口/骨架 + AI引导提示",确保AI主动设计而非被动复制。
openclaw skills install agent-harness-engineer本 Skill 将帮助你设计、实现和优化生产级的 AI Agent 系统,当前是 v3 版本。
本版本采用分阶段构建模式,将 Agent 系统构建拆分为 7 个明确的阶段,每个阶段都有:
Agent 系统不再只有一种构建方式。根据用户需求,分为三级:
┌───────────────────┬───────────────────────┬──────────────────────────┬──────────────────────────┐
│ 维度 │ Minimal(最小) │ Professional(专业) │ Enterprise(企业) │
├───────────────────┼───────────────────────┼──────────────────────────┼──────────────────────────┤
│ 目标 │ 快速原型/学习验证 │ 团队工具/生产级应用 │ 企业平台/高并发/多租户 │
│ 预期代码量 │ ~300-500行 │ ~2000-4000行 │ ~6000-10000行+ │
│ 第三方库 │ 仅SDK(1-2个) │ 5-8个关键库 │ 10+个全套生态栈 │
│ 沙箱 │ 路径白名单检查 │ Docker容器隔离 │ Firecracker微VM隔离 │
│ 日志 │ print() / console.log│ structlog / loguru / pino│ OpenTelemetry 全链路 │
│ CLI │ input() / 简单argparse│ click / typer / commander│ rich + 交互式TUI │
│ 配置管理 │ .env 文件 │ YAML + pydantic/zod │ 7级层级化配置覆盖 │
│ 测试 │ 手动测试或无 │ pytest/jest + mock │ pytest/jest + CI/CD │
│ 监控 │ 无 │ 基础 metrics 计数器 │ Prometheus + Grafana │
│ 上下文压缩 │ 仅 Snip(历史截断) │ 完整四级压缩管道 │ 四级 + 压缩状态恢复 │
│ 记忆系统 │ 无 │ 文件系统持久化 │ 向量数据库 + 自动做梦 │
│ MCP集成 │ 无 │ 基础 stdio MCP │ 全协议 + 连接池管理 │
│ 多Agent │ 不支持 │ 可选(Coordinator) │ 支持(Coordinator+Swarm)│
└───────────────────┴───────────────────────┴──────────────────────────┴──────────────────────────┘
关键规则:AI coding工具必须根据用户需求设计并生成代码,不得直接复制 reference 文件或 template 文件中的代码片段。
Reference 文件中的代码已从"完整实现"改为"抽象接口/类定义 + AI构建提示"。 Template 文件中的代码已从"完整实现"改为"骨架 + TODO + AI构建提示"。
为什么? 之前的 reference 和 template 中包含完整可运行代码(如 read_file 实现、sandbox 实现),AI工具会直接复制,导致生成的系统永远是"最小实现",无法根据用户需求调整复杂度和技术栈。
AI coding工具的正确行为:
参考 references/11-technology-stack.md,每个维度(日志、CLI、HTTP、沙箱、监控等)都提供 Minimal / Professional / Enterprise 三级推荐方案。AI 必须根据用户选择的规模,选择对应级别的技术栈。
Context Engineering(上下文工程): 管理信息的可访问性、结构和时机
Architectural Constraints(架构约束): 通过机械执行而非建议来建立边界
Entropy Management(熵管理): 定期清理Agent解决代码退化
Session(会话)= 追加式事件日志(Append-only Event Log)
- 不可变、可序列化、可回放
- 类似数据库WAL,是系统的唯一事实来源
- 支持故障恢复、负载迁移、调试回放
Harness(编排器)= 无状态编排循环
- 全部输入来自Session日志
- 可随时崩溃、重启、迁移
- 给定同样的Session日志,任何实例都会做出同样决策
Sandbox(沙箱)= 隔离执行环境
- 文件系统隔离、网络隔离、进程隔离
- 凭证外置,按需创建和销毁
- 限制爆炸半径(Blast Radius Containment)
重要:在开始构建Agent之前,必须先确认用户需求。 如果用户已经明确提供了以下信息,可以跳过本环节。 如果用户没有提供,AI coding工具必须主动询问用户做选择,不得自行决定。
当用户说"帮我构建一个Agent"但没有明确说明以下信息时,AI coding工具必须主动询问:
| 问题 | 选项/说明 | 影响 |
|---|---|---|
| 技术栈偏好? | Python / Node.js / TypeScript / Go | 决定项目脚手架语言 |
| LLM供应商? | Anthropic / OpenAI / Azure / 本地模型 | 决定默认配置 |
| 构建规模? | Minimal / Professional / Enterprise | 决定项目复杂度、代码量、三方库数量 |
| 主要用途? | 编码助手 / 自动化运维 / 数据分析 / 通用对话 / 其他 | 决定工具集 |
| 部署环境? | 本地 / 云服务器 / 容器 / Serverless | 决定配置方式 |
| 沙箱隔离需求? | 无 / 基础路径检查 / Docker隔离 / Firecracker微VM | 决定安全方案 |
| 监控需求? | 无 / 基础日志 / 全链路追踪(Prometheus+OpenTelemetry) | 决定可观测方案 |
| 是否需要多Agent协作? | 是 / 否 | 决定是否需要Phase 9内容 |
如果用户说"帮我构建一个Agent",但没有提供上述信息,AI coding工具应该这样询问:
在开始构建Agent之前,我需要确认几个问题:
1. **技术栈偏好**:
- Python(推荐,功能完善)
- Node.js/TypeScript
2. **LLM供应商**:
- Anthropic (Claude) - 复杂推理、长上下文
- OpenAI (GPT) - 通用任务、生态丰富
- Azure OpenAI - 企业合规
- 本地模型 (Ollama/vLLM) - 隐私敏感
3. **构建规模**(重要!决定生成代码的复杂度和技术栈):
- Minimal:快速原型,~300行代码,几乎无三方库依赖
- Professional:生产级应用,~3000行代码,包含Docker沙箱、日志系统、测试
- Enterprise:企业平台,~8000行代码,全链路监控、微VM沙箱、多Agent
4. **主要用途**:编码助手 / 自动化运维 / 数据分析 / 通用对话 / 其他
5. **沙箱隔离需求**:
- 不需要(Agent在本地直接执行)
- 基础路径检查(沙箱限制工作目录)
- Docker容器隔离(推荐Professional场景)
- Firecracker微VM(推荐Enterprise高安全场景)
6. **监控需求**:
- 不需要
- 基础结构化日志(推荐Professional场景)
- 全链路追踪(推荐Enterprise场景)
7. **是否需要多Agent协作**?
- 是 / 否
请告诉我你的选择,我会根据你的需求构建最合适的Agent项目。
如果用户已经提供了部分信息,AI coding工具只需要补充询问未提供的信息:
根据你的需求(Python技术栈 + Anthropic模型 + 编码助手),
我还需要确认:
1. 构建规模?
- Minimal:快速原型(300行)
- Professional:生产级(3000行)
- Enterprise:企业平台(8000行)
2. 沙箱隔离需求?
- 无 / 基础路径检查 / Docker隔离 / Firecracker微VM
3. 监控需求?
- 无 / 基础日志 / 全链路追踪
4. 是否需要多Agent协作?
- 是 / 否
请补充提供以上信息,我将开始构建。
如果用户没有明确偏好,AI coding工具可以建议默认值,但必须说明原因:
你未明确说明偏好,我将使用以下默认值:
- 技术栈:Python(功能完善,社区活跃)
- LLM供应商:Anthropic(长上下文优势)
- 构建规模:Professional(平衡功能与复杂度,适合团队工具阶段)
- 主要用途:通用对话
- 沙箱:Docker隔离
- 监控:基础结构化日志
- 多Agent协作:否
如果你有其他偏好,请在回复中说明,我会相应调整。
AI可以辅助用户选择规模:
┌─────────────────────────────────────────────────────────────┐
│ 帮你选择构建规模: │
│ │
│ ● 如果你是开发者,想快速验证Agent概念 → Minimal │
│ ● 如果你是团队,需要可维护的生产级Agent → Professional │
│ ● 如果你是平台方,需要服务多用户 → Enterprise │
│ │
│ 如果你不确定,建议从 Professional 开始。 │
└─────────────────────────────────────────────────────────────┘
核心规则(v3 强制):
- 以下每个 Phase 的摘要仅提供目标概述。实际构建时必须打开对应的 reference 文件,其中包含设计原理、抽象接口定义、AI构建提示。
- 禁止直接复制 reference 或 template 中的代码片段。 AI 必须根据用户选择的规模生成定制化代码。
- 每个阶段完成后,必须使用与该规模对应的检查清单进行验收。
references/01-phase-init.md目标:建立项目骨架,定义目录结构(三级规模不同结构)和配置文件。
规模差异:
references/02-phase-llm.md目标:实现与供应商无关的LLM客户端抽象。
规模差异:
references/03-phase-tools.md目标:实现模块化的工具注册和执行机制。
规模差异:
references/04-phase-agent-loop.md目标:实现健壮的Agent主循环,包含错误恢复和状态管理。
规模差异:
references/05-phase-context.md目标:实现四级压缩管道和记忆系统。
规模差异:
references/06-phase-permissions.md目标:实现权限控制和沙箱机制。
规模差异:
references/07-phase-production.md目标:添加测试、监控、日志。
规模差异:
references/ 文件(共14个)templates/minimal/ templates/professional/ templates/enterprise/