一人公司的核心竞争力不是人力,而是能24小时运转的Agent流水线。本文带你从零搭建一个完整的自动化工作流,包括Skill开发、多Agent协作和Cron调度,所有代码可直接复制使用。
为什么要读这篇
AI创业者面临的核心矛盾:想法很多,人手不足。传统解法是招人,但在2026年,更高效的解法是让Agent替你干活。
Hermes Agent是目前开源社区最活跃的AI Agent框架之一,它提供了三个一人公司必备的能力:
- Skill系统:把重复性工作封装成可复用的技能模块
- delegate_task:让多个子Agent并行或串行协作
- Cron集成:定时触发,实现真正的无人值守
本文将以一个真实场景——"每日AI热点监控→内容生成→自动发布"流水线为例,完整演示从零搭建的全过程。
读完你将能够:
- 创建自定义Skill,封装你的业务逻辑
- 使用delegate_task实现多Agent流水线
- 配置Cron实现定时自动化
- 避开5个最常见的踩坑点
Skill系统深度解析
▲ Skill系统架构:文件结构 → Agent加载 → 输出结果,一次编写永久复用
Skill是什么
Skill是Hermes Agent的可复用能力模块。每个Skill是一个Markdown文件,定义了Agent在特定场景下的行为规则、工具使用方式和输出格式。
~/.hermes/skills/
├── ai-neican-hotspot.md # 热点监控Skill
├── ai-neican-content-pipeline.md # 内容创作流水线Skill
├── wechat-public-account-draft.md # 公众号发布Skill
└── my-custom-skill.md # 你的自定义Skill
Skill的核心结构
一个完整的Skill包含以下部分:
<hr>
name: my-custom-skill
description: 简短描述这个Skill的用途
triggers:
- 用户说"执行XX任务"
- 每天定时触发
<hr>
# Skill标题
## 核心定位
这个Skill要解决什么问题,目标用户是谁。
## 执行流程
### 步骤1:数据收集
具体操作步骤...
### 步骤2:处理分析
具体操作步骤...
### 步骤3:输出结果
具体操作步骤...
## 常见陷阱
- 陷阱1:描述和解决方案
- 陷阱2:描述和解决方案
关键原则:
- triggers要具体:模糊的触发条件会导致误触发
- 执行流程要原子化:每个步骤必须能用工具直接执行
- 陷阱要前置:把已知问题写在Skill里,Agent会自动避开
实战:创建一个"竞品监控"Skill
假设你是一个AI SaaS创业者,需要每天监控3个竞品的动态。以下是完整Skill代码:
<hr>
name: competitor-monitor
description: 竞品动态监控 - 每日自动抓取竞品官网、社交媒体和技术博客更新
triggers:
- 每6小时竞品监控
- 用户说"查看竞品动态"
<hr>
# 竞品动态监控
## 监控目标
1. **竞品A**:competitor-a.com/blog
2. **竞品B**:competitor-b.com/changelog
3. **竞品C**:HN搜索 "competitor-c"
## 执行流程
### 步骤1:抓取竞品A官网博客
用 web_extract 抓取 competitor-a.com/blog,提取最近3篇文章标题和摘要。
### 步骤2:抓取竞品B更新日志
用 web_extract 抓取 competitor-b.com/changelog,提取本周新增功能。
### 步骤3:搜索竞品C社区讨论
用 web_search 搜索 "competitor-c review 2026",收集用户评价和反馈。
### 步骤4:汇总输出
将所有信息汇总为结构化报告,保存到 /opt/reports/competitor-YYYYMMDD-HHMM.md
## 输出格式
# 竞品监控日报 YYYY-MM-DD
## 竞品A动态
- [标题]:[一句话摘要]
## 竞品B更新
- [功能名]:[影响分析]
## 竞品C社区舆情
- [来源]:[关键发现]
## 行动建议
- [基于监控结果的具体建议]
## 常见陷阱
- web_extract对JS渲染页面可能返回空 → 改用browser_navigate
- 竞品官网可能改版 → 每月检查一次URL有效性
- 不要仅依赖一个数据源 → 交叉验证关键信息
实战效果:将以上内容保存为 ~/.hermes/skills/competitor-monitor.md 后,每次说"查看竞品动态"或Cron触发时,Agent会自动执行完整的监控流程。
实战:delegate_task多Agent协作
▲ 三阶段流水线:研究员收集资料 → 写手撰写文章 → 审核质量把关,文件传递中间结果
delegate_task是什么
delegate_task 是Hermes Agent的子Agent调用机制。你可以把一个复杂任务拆分成多个子任务,每个子任务由独立的子Agent执行,子Agent之间通过文件传递中间结果。
主Agent(协调者)
├── delegate_task → 研究员Agent(收集资料)
│ 输出:research/outputs/01-research.md
├── delegate_task → 写手Agent(撰写文章)
│ 输入:research/outputs/01-research.md
│ 输出:content/outputs/01-article.md
└── delegate_task → 审核Agent(质量检查)
输入:content/outputs/01-article.md
输出:review/outputs/01-review.md
delegate_task的核心参数
delegate_task(
agent_name="researcher", # 子Agent名称
prompt="研究XXX主题的最新动态", # 任务描述
context_file="context.md", # 可选:上下文文件
output_file="output.md", # 输出文件路径
skill="ai-neican-hotspot", # 可选:指定Skill
timeout=600 # 超时时间(秒)
)
实战:搭建三阶段内容流水线
以下是一个完整的"研究→写作→审核"三阶段流水线的配置示例。
阶段1:研究员Agent
# 研究员Agent配置
角色:信息收集与整理
输入:主题关键词
输出:research/outputs/{topic}-research.md
工具:web_search, web_extract, browser_navigate
规则:
- 至少收集8个来源
- 每个数据点标注URL和可信度(✅⚠️❓)
- 输出格式:## 核心发现 / ## 数据汇总 / ## 来源清单
阶段2:写手Agent
# 写手Agent配置
角色:深度内容创作
输入:research/outputs/{topic}-research.md
输出:content/outputs/{topic}-article.md
工具:write_file, read_file
规则:
- 字数2500-4000字
- 必须包含代码块和输出示例
- 文末添加"本文由AI辅助创作,经人工审核编辑发布"
阶段3:审核Agent
# 审核Agent配置
角色:质量把关
输入:content/outputs/{topic}-article.md
输出:review/outputs/{topic}-review.md
工具:read_file, terminal
规则:
- 检查字数≥2500
- 检查是否有代码块
- 检查是否有输出示例
- 检查是否有踩坑提醒
- 评分≥70通过,否则退回修改
一条命令启动整条流水线
# 在Hermes Agent中执行
hermes run --skill content-pipeline --prompt "写一篇关于AI Agent自动化工作流的教程"
Agent会自动:
- 调用研究员Agent收集资料
- 将研究结果传给写手Agent
- 写手完成后自动触发审核Agent
- 审核通过则输出最终文章,不通过则自动修改
输出示例(研究阶段):
📊 研究完成:AI Agent自动化工作流
━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 核心发现
1. 76%的AI创业者使用至少一种Agent框架(来源:State of AI 2026 ✅)
2. Hermes Agent的Skill系统是开源社区最活跃的模块(GitHub ⭐4.2k ✅)
3. Cron+Agent的自动化方案比Zapier便宜90%(来源:IndieHackers ⚠️)
## 数据汇总
- 部署成本:$15-50/月(服务器)+ 免费(Hermes Agent开源)
- 时间节省:平均每周节省18小时重复性工作
- 学习曲线:2-4小时可完成第一个Skill
## 来源清单
1. github.com/NousResearch/hermes-agent ✅ 官方
2. news.ycombinator.com/item?id=xxx ⚠️ 社区
3. State of AI 2026 Report ✅ 权威报告
Cron定时任务:让Agent 24小时工作
▲ Cron调度时间线:06:00热点扫描 → 08:00内容生成 → 16:00竞品监控 → 22:00日报汇总
配置Cron任务
Hermes Agent的Cron配置在 ~/.hermes/config/cron.json:
{
"jobs": [
{
"id": "daily-hotspot-scan",
"schedule": "0 */6 * * *",
"skill": "ai-neican-hotspot",
"prompt": "执行热点扫描,发现重大新闻立即生成内容",
"timeout": 600,
"notify_on_error": true
},
{
"id": "competitor-monitor",
"schedule": "0 8,16 * * *",
"skill": "competitor-monitor",
"prompt": "执行竞品监控,输出日报",
"timeout": 300
},
{
"id": "weekly-report",
"schedule": "0 9 * * 1",
"skill": "weekly-report-generator",
"prompt": "生成本周内容运营周报",
"timeout": 900
}
]
}
调度语法说明:
* * * * *
│ │ │ │ │
│ │ │ │ └── 星期几 (0-7, 0和7都代表周日)
│ │ │ └──── 月份 (1-12)
│ │ └────── 日期 (1-31)
│ └──────── 小时 (0-23)
└────────── 分钟 (0-59)
实战:配置每日内容发布流水线
{
"jobs": [
{
"id": "morning-research",
"schedule": "0 6 * * *",
"skill": "ai-neican-hotspot",
"prompt": "扫描过去12小时AI行业热点,输出选题建议到 /opt/reports/daily-topics.md",
"timeout": 600
},
{
"id": "content-generation",
"schedule": "0 8,12,16,20 * * *",
"skill": "ai-neican-content-pipeline",
"prompt": "从选题池中选取最高优先级选题,执行研究→写作→审核流水线",
"timeout": 1200,
"depends_on": "morning-research"
},
{
"id": "daily-digest",
"schedule": "0 22 * * *",
"prompt": "汇总今日所有产出,生成工作日报保存到 /opt/reports/daily-digest-{date}.md",
"timeout": 300
}
]
}
监控Cron执行状态
# 查看所有Cron任务状态
hermes cron list
# 查看特定任务的执行历史
hermes cron history daily-hotspot-scan --limit 10
# 查看失败任务日志
hermes cron errors --since 24h
输出示例:
┌─────────────────────┬──────────┬──────────────┬─────────┐
│ Job ID │ Status │ Last Run │ Runtime │
├─────────────────────┼──────────┼──────────────┼─────────┤
│ daily-hotspot-scan │ ✅ OK │ 2026-05-24 │ 47.2s │
│ │ │ 06:00 UTC │ │
│ competitor-monitor │ ✅ OK │ 2026-05-24 │ 32.1s │
│ │ │ 08:00 UTC │ │
│ content-generation │ ⚠️ WARN │ 2026-05-24 │ 589.3s │
│ │ │ 12:00 UTC │ │
│ │ │ (接近超时) │ │
└─────────────────────┴──────────┴──────────────┴─────────┘
踩坑与排障
▲ 六大陷阱与修复:从触发条件宽泛到Markdown解析错误,每个陷阱都有对应解决方案
坑1:Skill触发条件过于宽泛
症状:Agent在不同场景下错误触发同一个Skill,例如写文章时却触发了"竞品监控"Skill。
原因:trigger中写了用户说"查看"这样的模糊条件。
修复:将触发条件改得更具体:
# ❌ 错误
triggers:
- 用户说"查看"
# ✅ 正确
triggers:
- 用户说"查看竞品动态"或"竞品监控"
- 每6小时竞品监控
坑2:delegate_task子Agent超时
症状:子Agent执行到一半卡住,主Agent一直等待,最终整个流水线失败。
原因:子Agent执行的web_search或web_extract需要的时间超过了默认超时。
修复:
# 为不同子Agent设置不同超时
delegate_task(
agent_name="researcher",
prompt="...",
timeout=900 # 研究员给15分钟(需要大量网络请求)
)
delegate_task(
agent_name="writer",
prompt="...",
timeout=600 # 写手给10分钟
)
坑3:子Agent之间的文件传递格式不一致
症状:写手Agent读研究员Agent的输出时,因为格式不匹配导致信息丢失。
原因:没有在Skill中明确定义输出格式规范。
修复:在Skill的"输出格式"部分用具体模板约定格式:
{
"topic": "主题",
"findings": [
{"title": "发现1", "source": "URL", "credibility": "✅|⚠️|❓"}
],
"data_points": [
{"value": "具体数字", "unit": "单位", "source": "URL"}
]
}
坑4:Cron任务依赖未处理
症状:内容生成任务在研究员任务完成前就启动了,结果基于空数据生成文章。
原因:Cron配置中depends_on参数虽然指定了依赖,但依赖任务失败时下游任务仍然执行。
修复:
{
"id": "content-generation",
"depends_on": "morning-research",
"depends_behavior": "skip_if_failed", // 关键:前置任务失败则跳过
"schedule": "0 8 * * *"
}
坑5:Agent写入文件的路径权限问题
症状:Agent执行时报"Permission denied"无法写入文件。
原因:Hermes Agent运行用户对目标目录没有写权限。
修复:
# 确保输出目录存在且有权限
mkdir -p /opt/hermes-home/projects/ai-neican/research/outputs
mkdir -p /opt/hermes-home/projects/ai-neican/content/outputs
mkdir -p /opt/hermes-home/projects/ai-neican/review/outputs
chmod -R 755 /opt/hermes-home/projects/ai-neican/
坑6:Skill文件中的Markdown格式错误导致解析失败
症状:Agent加载Skill时报错 Skill parse error: unexpected token。
原因:Skill Markdown文件中的YAML front matter格式不正确,或Markdown语法有误。
修复清单:
# 检查以下项目:
- [ ] front matter的 `---` 分隔符是否成对
- [ ] triggers中的列表项是否用 `- ` 开头(注意空格)
- [ ] 代码块是否用 ``` 正确闭合
- [ ] 特殊字符是否需要转义(如 `:` 在YAML中需要引号包裹)
常见问题(FAQ)
Q1:Hermes Agent和OpenClaw有什么区别?该选哪个?
A:两者都是AI Agent框架,核心差异在于:
- Hermes Agent:更侧重Skill系统和内容创作流水线,对"一人公司"场景优化更好
- OpenClaw:更侧重企业级多Agent编排和网关管理,适合团队协作场景
如果你的场景是内容创作+运营自动化,Hermes Agent更适合;如果是复杂的企业工作流编排,OpenClaw可能更合适。
Q2:Cron任务的最小间隔是多少?
A:理论上是1分钟,但建议不小于15分钟。原因:
- Agent执行一个任务通常需要30秒到几分钟
- 两个任务同时执行会竞争资源(API调用、文件写入)
- 过于频繁的调度可能触发API限流
Q3:delegate_task最多能嵌套多少层?
A:官方没有硬性限制,但实测超过3层嵌套后,子Agent的上下文会显著膨胀,建议保持在2-3层以内。更深层的任务拆分建议用Cron串联而非delegate_task嵌套。
Q4:如何调试失败的Cron任务?
A:
# 1. 查看错误日志
hermes cron errors --job-id <job-id> --limit 5
# 2. 手动重新执行(失败任务的prompt)
hermes run --skill <skill-name> --prompt "上一次失败的prompt内容"
# 3. 查看详细输出
hermes cron output --job-id <job-id> --last
Q5:Skill如何版本管理?
A:建议:
# 在Git中管理Skill文件
cd ~/.hermes/skills
git init
git add *.md
git commit -m "v1.0: 初始Skill版本"
# 每次修改后提交
git add competitor-monitor.md
git commit -m "v1.1: 修复触发条件过于宽泛的问题"
Q6:多个Cron任务同时写入同一个文件会冲突吗?
A:会。Hermes Agent的文件写入是非原子的。解决方案:
- 每个任务输出到独立文件名(加时间戳或任务ID)
- 使用slug参数防止并发串文件
- 汇总任务在所有上游任务完成后执行
总结
本文带你走完了从Skill创建到Cron调度的完整流程。核心要点回顾:
- Skill即能力:把重复性工作封装为Skill,一次编写,永久复用
- delegate_task即团队:复杂任务拆分为研究→写作→审核三阶段,子Agent各司其职
- Cron即引擎:定时调度让Agent真正24小时运转
- 踩坑即经验:6个常见陷阱和修复方案,帮你少走弯路
行动建议:
- 今天:创建一个简单的"日报生成"Skill(30分钟)
- 本周:配置2-3个Cron任务,体验自动化流水线(2小时)
- 本月:搭建完整的研究→写作→审核→发布多Agent体系(1天)
AI创业的本质是杠杆——用Agent放大你的产能。掌握Skill+Cron这套组合拳,你的一人公司就有了24小时运转的引擎。
#Agent工坊 #HermesAgent #自动化工作流 #一人公司
本文由AI辅助创作,经人工审核编辑发布。
本文由AI辅助创作,经人工审核编辑发布