Starter Kits¶
Pattern 告诉你为什么,Starter Kit 给你可复制的骨架。选一个贴近场景的 kit,
cp -r开跑。
basic-agent¶
Basic Agent Starter Kit¶
最小的可运行 Agent:一个 Skill + 一个状态文件 + 控制流纪律。 适合:新用户 / 单任务 Agent / 本地实验。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Skill Definition | SKILL.md |
把任务封装成可复用、可版本化的技能 |
| Basic State | STATE.md |
跨运行记住进度,重启不丢 |
| Control Flow Separation | AGENTS.md 约定 |
确定性步骤交给脚本,LLM 只做判断 |
安装¶
使用¶
验证¶
- [ ]
hermes run能正常触发技能 - [ ] 跑两次,第二次能读到 STATE.md 里的上次进度
- [ ] 确定性计算(聚合/换算)走脚本而非 LLM 心算
cron-production¶
Cron Production Agent Starter Kit¶
定时自主运行的 Agent:可靠触发 + 状态 + 断点 + 错误压缩 + 监控。 适合:每日/每周定时任务,失败必须可发现、可恢复。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Cron Job | cron-config.example |
幂等、防重复、防静默失败的调度 |
| State File | STATE.md |
跨运行进度与幂等键 |
| Checkpoint | recovery/ |
中断后从断点恢复 |
| Error Compact | recovery/error_compact.py |
失败不污染上下文 |
| Monitor | monitor/ |
失败可观测,不静默 |
安装¶
cp -r starter-kits/cron-production ~/my-cron-agent
cd ~/my-cron-agent
# 1. 编辑 cron-config.example 里的 schedule / prompt / skills
# 2. 复制为真实调度配置(Hermes cron 或系统 crontab)
# 3. 按 STATE.md 模板初始化状态
三段式设计(Pre-flight / Execute / Post-flight)¶
Pre-flight 读 STATE → 幂等键查重 → 确认本批未处理
Execute 按 SKILL 执行 → 每步写回 STATE(检查点)
Post-flight 汇总结果 → Monitor 记录成败 → 失败进入 recovery
验证¶
- [ ] 手动重跑不产生重复数据(幂等键生效)
- [ ] 中途 kill 后从断点恢复,不重头跑
- [ ] 失败时 Monitor 有记录/告警,不静默
- [ ] 错误以压缩摘要进上下文,非全文
maker-checker¶
Maker/Checker Pipeline Starter Kit¶
生成与验证分离的双角色流水线:Maker 产出,Checker 独立验证,失败走压缩反馈与重试。 适合:内容生产 / 代码生成 / 研究报告 / 任何失败代价高的任务。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Maker/Checker | maker/PROMPT.md + checker/PROMPT.md |
生成与验证必须是两个独立 Agent 实例 |
| Output Schema | schemas/output.schema.json |
Checker 用 schema 判定,不凭感觉 |
| Red Flags | checker/red-flags.md |
硬性一票否决线,违反即 FAIL |
| Error Compact | checker/feedback.template.md |
FAIL 反馈压缩成结构化摘要,不污染 Maker 上下文 |
| Regression | regression/regression.json |
每次改动跑反测集,旧失败不再出现 + 旧成功仍成立 |
目录结构¶
maker-checker/
├── maker/PROMPT.md # Maker 角色提示词
├── checker/PROMPT.md # Checker 角色提示词(独立实例)
├── checker/red-flags.md # 一票否决红线清单
├── checker/feedback.template.md # FAIL 反馈模板(结构化)
├── schemas/output.schema.json # 产出契约
├── regression/regression.json # 反测集(新增条目规则见内注释)
└── README.md
安装¶
cp -r starter-kits/maker-checker ~/my-mc-pipeline
cd ~/my-mc-pipeline
# 1. 把 maker/PROMPT.md 里的任务描述换成你的真实任务
# 2. 按产出物字段调整 schemas/output.schema.json
# 3. 按业务红线补充 checker/red-flags.md
流程¶
Maker(独立实例) 产出
↓
Checker(另一个独立实例) 对照 schema + red-flags 判定
↓
PASS → 交付 / Publish
FAIL → feedback.template.md 压缩反馈 → Maker 修订(有界重试)
超限 → 升级人工
使用¶
# 会话 1(Maker):加载 maker/PROMPT.md,执行任务产出初稿
# 会话 2(Checker):加载 checker/PROMPT.md,只看产出物本身,独立判定
# Checker 不看 Maker 的推理过程,只验产出
验证¶
- [ ] Maker 与 Checker 在两个独立会话/实例中运行
- [ ] Checker 判定有 schema 依据,结论可复现
- [ ] FAIL 反馈是压缩摘要,不是全文粘贴
- [ ] 重试有上限,超限升级人工而非无限循环
- [ ] 改动 prompt 后跑 regression/regression.json,旧行为不回退
memory-agent¶
Memory Agent Starter Kit¶
五层记忆 + 三层检索 + 写侧纪律的完整记忆体系骨架。 适合:长期运行的 Agent / 需要跨会话积累经验的任务 / 知识沉淀。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Memory OS | memory/ 五层目录 |
context/working/long-term/experience/evidence 分层存放 |
| Retrieval | retrieval/ |
写入有纪律,检索有查询,不做「全部塞上下文」 |
| Write Policy | write-policy/WRITE-POLICY.md |
什么该写、写到哪层、何时淘汰 |
| Daily Review | write-policy/REVIEW.md |
定期复盘:经验层提炼、过期清理 |
目录结构¶
memory-agent/
├── memory/
│ ├── context/ # 当前会话上下文(易变,可丢弃)
│ ├── working/ # 当前任务工作集(任务结束归档或清理)
│ ├── long-term/ # 沉淀的知识(结构化笔记)
│ ├── experience/ # 失败与成功经验(含反例)
│ └── evidence/ # 每条长期记忆的来源证据
├── retrieval/
│ ├── QUERIES.md # 预定义召回查询清单
│ └── recall_schema.json
├── write-policy/
│ ├── WRITE-POLICY.md
│ └── REVIEW.md
└── README.md
写侧纪律(核心)¶
写入前问三个问题:
1. 这条信息一周后还有用吗? 没用 → context/working,不进 long-term
2. 它有来源证据吗? 没有 → 不写入长期层
3. 它能被一条查询召回吗? 不能 → 改写成可检索的形式再写
检索纪律¶
- 用
retrieval/QUERIES.md的预定义查询按需召回,不整层倾倒进上下文 - 召回结果附带来源;来源失效的条目降权或清除
- 每层只召回与当前任务相关的条目(查询词 + 层级过滤)
安装¶
cp -r starter-kits/memory-agent ~/my-memory-agent
cd ~/my-memory-agent
# 1. 按业务改写 retrieval/QUERIES.md 的查询清单
# 2. 把 WRITE-POLICY.md 挂进你的 SKILL.md 写入流程
# 3. 每日/每周任务末尾挂 REVIEW.md 复盘
验证¶
- [ ] 写入 long-term 的每条记忆在 evidence/ 有对应条目
- [ ] 召回走查询而非全量倾倒,上下文不膨胀
- [ ] 复盘时淘汰过期条目,长期层不无限增长
- [ ] 经验层包含失败案例,不只记成功
research-agent¶
Research Agent Starter Kit¶
研究 → 证据 → 独立验证 → 报告的四段式研究 Agent。 适合:事实核查 / 行业调研 / 竞品分析 / 任何「结论必须有出处」的任务。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Control Flow Separation | planner/ |
确定性的研究计划走固定清单,LLM 只做判断与综合 |
| Evidence Discipline | evidence/evidence.jsonl |
每条具体事实都有来源条目,无来源不成文 |
| Maker/Checker | verifier/ |
撰写者与验证者分离,验证者只对证据负责 |
| State File | STATE.md |
跨运行记住研究进度,长任务可断点续跑 |
| Regression | regression/ |
报告质量反测,防「证据齐全但结论跑偏」 |
目录结构¶
research-agent/
├── planner/PLAN.template.md # 研究问题拆解模板
├── researcher/PROMPT.md # 研究执行角色
├── verifier/PROMPT.md # 独立验证角色(独立实例)
├── evidence/evidence.jsonl # 证据条目(JSONL,一行一条)
├── STATE.md # 研究进度状态
├── regression/regression.json
└── README.md
核心流程¶
Research(研究者检索与摘录)
↓ 每条事实落 evidence.jsonl(claim + source)
Verification(验证者逐条核对来源)
↓ 剔除未证实条目
Report(基于存活证据撰写,结论逐条对应证据)
安装¶
cp -r starter-kits/research-agent ~/my-research-agent
cd ~/my-research-agent
# 1. 在 planner/PLAN.template.md 填研究问题
# 2. 初始化 STATE.md
# 3. 按 SKILL.md(见 cron-production 或 basic-agent 的写法)封装为技能
验证¶
- [ ] 报告中每条具体事实都能在 evidence.jsonl 找到对应条目
- [ ] 未证实条目被剔除或明确标注「未证实」
- [ ] 中断后从 STATE.md 续跑,不重复已完成的检索
- [ ] 撰写者与验证者不在同一实例
self-evolving-agent¶
Self-Evolving Agent Starter Kit¶
度量 → 基线 → 回归 → 进化闸门 → 部署/回滚 的完整自进化闭环。 这是高级 Starter Kit:先跑通基础 kit,再上这个。
Patterns Used¶
| Pattern | 文件 | 作用 |
|---|---|---|
| Data-Driven Optimization | metrics/ |
用真实运行数据驱动改进,不凭感觉调 prompt |
| Baseline | baseline/BASELINE.md |
当前版本的行为基线,改动的对照物 |
| Regression | regression/ |
每次改动跑反测:旧失败不再现 + 旧成功仍成立 |
| Evolution Gate | evolution-gate/GATE.md |
G1-G5 五闸门 + 五维加权,过闸才部署 |
| Deploy / Rollback | deploy/ rollback/ |
部署留快照,失败可回滚 |
目录结构¶
self-evolving-agent/
├── metrics/METRICS.md # 指标定义与采集方式
├── baseline/BASELINE.md # 基线记录(版本、指标快照、已知失败)
├── regression/regression.json
├── evolution-gate/GATE.md # 过闸判定表
├── deploy/DEPLOY.md # 部署流程(含快照)
├── rollback/ROLLBACK.md # 回滚流程(触发条件、步骤)
└── README.md
进化循环¶
运行采集 metrics
↓
与 baseline 对比 → 发现问题或改进机会
↓
提出改动(prompt/schema/流程)
↓
跑 regression 反测集
↓
过 Evolution Gate(G1-G5)
↓
deploy(带快照) → 观察一个完整周期
↓ 指标劣化
rollback(按 ROLLBACK.md)
铁律¶
- 没有指标数据不做改动——「感觉更好」不是证据
- 改动必须一个变量一次,不混合多改动
- 每次部署前 baseline 更新为上次通过验证的版本
- 回滚不丢数据:回滚的是行为,不是状态
安装¶
cp -r starter-kits/self-evolving-agent ~/my-evolving-agent
cd ~/my-evolving-agent
# 1. 在 metrics/METRICS.md 定义 3-5 个真实可采集的指标
# 2. 跑一轮记录 baseline
# 3. 把 GATE.md 挂进技能升级流程
验证¶
- [ ] 每个指标都有明确采集方式,不是主观打分
- [ ] 反测集覆盖上一次真实失败案例
- [ ] 过闸记录留痕(版本、五维得分、结论)
- [ ] 在非关键任务上演练过一次完整回滚
用 hpp init 一键起步¶
详见 hpp CLI。