Home
avatar

麒麟剑

拆开数字员工的"大脑结构":Profile、Memory、Skills 三大基石

上篇你把 Hermes 跑起来了,还让它记住了你的技术栈。现在它像个刚入职、记性还不错的同事。但”一个员工”撑不起”军团”。

这篇把数字员工的”大脑”拆开给你看。核心就三样东西:Profile(工位/身份)、Memory(记忆保险库)、Skills(可复用技能)。理解这三者的关系,你才真正掌握”批量造员工”的开关。

一、Profile:每个数字员工的独立”工位”

Hermes 中文桌面版工作台:运行状态、会话与工作空间一览 ▲ Hermes 中文桌面版工作台:运行状态、会话与工作空间一览

Profile 是 Hermes 里最重要却最容易被忽视的概念。你可以把它理解成:一个数字员工的独立工位 + 身份证

指定方式极简:

hermes -p <name> chat

一旦带上 -p <name>,Hermes 就为这个员工开了一个完全隔离的工作空间,拥有自己独立的:

  • HERMES_HOME(独立数据根)
  • config(独立配置)
  • memory(独立记忆)
  • sessions(独立会话历史)
  • gateway PID(独立网关进程)
  • skills & credentials(独立技能与凭证)

存储位置在:

~/.hermes/profiles/<name>/

隔离性强到什么程度?多个 Profile 可以并行跑,互不干扰。这直接撑起了”数字员工军团”的架构——你完全可以让一个 Profile 当后端工程兵,另一个当前端助理,第三个当运维巡检 Bot,各管各的记忆和技能。

顺带提一句:桌面端的 Bot Mode 本质就是一个个可视化后的 Profile。第 09–10 章讲多智能体时会细说。

💡 中国用户若还没安装,可先用中文社区 hermesagent.org.cn 提供的桌面版(Tauri 构建、内置运行时、无需 WSL)作为图形化上手入口,详见第 02 节。

克隆一个现成 Profile 也很方便(把配置、记忆、技能全拷过去):

hermes profile create newbot --clone-all

二、Memory:数字员工的”记忆保险库”

记忆不是虚无缥缈的概念,在 Hermes 里它就是磁盘上的具体文件,主要指 MEMORY.md / USER.md(以及技能)。结构如下(见下方目录树):

  • MEMORY.md:Agent 自己的笔记——环境事实、项目约定、学到的坑(≤2200 字符)
  • USER.md:你的用户画像——偏好、风格、沟通习惯(≤1375 字符)

记忆的运作有个精妙设计,新手必须知道:

会话前(Before):从磁盘加载 MEMORY.md/USER.md 作为系统提示里的"冻结快照"
                   → 保留前缀缓存(prompt-cache),省 token、省钱
会话中(During):代理通过 memory 工具自主 add/replace/remove,立即落盘
                   → 但当前会话系统提示不更新(避免缓存失效)
会话后(After):后台自我改进审查自动重放对话
                   → 把重复修正/工作流提炼成紧凑记忆条目或技能

⚠️ 关键认知:记忆是”冻结快照”。会话中它写盘了,但下一会话才生效。所以你让它”记住某事”后,别在同一轮对话里就指望它用上新记忆——那是下次的你才享受得到的复利。

三、Skills:可复用的”程序性记忆”

技能是代理沉淀方法论的地方,存在:

~/.hermes/skills/

Skill 长这样(遵循 agentskills.io 开放标准,YAML frontmatter + Markdown 正文):

---
name: my-skill
description: Brief description of what this skill does   # ≤60 字符,必需
version: 1.0.0
platforms: [macos, linux]
metadata:
  hermes:
    tags: [python, automation]
    category: devops
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.

代理会在这些时机自动创建技能:理清值得重复的多步工作流、踩坑后找到路径、被你纠正方法、系统提示要求沉淀非平凡流程。后台 Curator 会审查、归档、合并,且永不修改项目本地技能目录

技能还能共享和发布,接入 agentskills.io 开放标准:

hermes skills tap add <owner/repo>                    # 订阅他人 GitHub tap
hermes skills install owner/repo/skills/my-workflow   # 装单技能
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills browse --source official

文档后台约 90 个捆绑技能 + 约 60 个可选技能(中文站称”40+“,口径不同,以官方为准)。

四、三者关系图

把 Profile、Memory、Skills 串起来,就是数字员工的大脑结构:

┌─────────────────────────────────────────────────┐
│              Profile:<name> 独立工位             │
│         (~/.hermes/profiles/<name>/)              │
│                                                   │
│   ┌──────────────────┐     ┌──────────────────┐  │
│   │   Memory          │     │    Skills         │  │
│   │  (记忆保险库)      │     │  (可复用技能)      │  │
│   │  MEMORY.md        │     │  ~/.hermes/       │  │
│   │  USER.md          │     │   skills/         │  │
│   │  跨会话持久        │     │  自动沉淀/共享     │  │
│   └──────────────────┘     └──────────────────┘  │
│                                                   │
│   独立 config / sessions / credentials / gateway  │
└─────────────────────────────────────────────────┘

         │ 多个 Profile 并行 = 数字员工军团

   bot-a(后端)  bot-b(前端)  bot-c(运维)  ...

一句话:Profile 是容器,Memory 是它脑子里记的东西,Skills 是它手上熟练的活儿。换一个 Profile,等于换一个带着不同记忆和技能的同事。

五、~/.hermes/ 目录树(全局根)

单个 Profile 之外,全局根 ~/.hermes/ 长这样(来自官方目录结构):

~/.hermes/
├── config.yaml          # 全局设置
├── .env                 # API keys / secrets
├── auth.json            # OAuth 凭证
├── SOUL.md              # 主身份(系统提示第 1 槽位)
├── memories/
│   ├── MEMORY.md        # Agent 笔记(≤2200 字符)
│   └── USER.md          # 用户画像(≤1375 字符)
├── skills/              # 代理创建的技能
├── cron/                # 定时任务
├── sessions/            # 网关会话
├── logs/                # 日志(密钥自动脱敏)
├── state.db             # SQLite + FTS5 全会话库
└── pending/skills/      # 待审技能写入

几个要点:

  • SOUL.md 定义”Agent 是谁”(身份/语气/风格),只从 HERMES_HOME 加载,不探工作目录。属于某项目该知道的东西,交给项目级 AGENTS.md,别塞进 SOUL。
  • state.db 用 SQLite + FTS5 存全部会话,session_search 工具查它,返回真实消息、无 LLM 摘要、无截断(约 20ms)——这是跨会话召回的底层引擎。
  • 项目相关信息以条目形式存于 MEMORY.md(用 § 分隔的多行条目),文档并没有”project contexts / decisions / actions”这类独立实体文件。

六、学习心法:先跑通单个 Profile,再谈扩展

新手最大的冲动是上来就搞多智能体编排、Bot Mode、跨机 peer。别。

正确路径:先把一个默认 Profile 跑顺——装好、录入记忆、让它自动沉淀几个技能、验证 MEMORY.md/skills/ 真的在长东西。等这个”单兵”熟练了,再谈克隆出第二个、第三个 Profile,最终到第 10 章的多 Profile 并发与 Bot 协作。

原因很实际:多 Profile 的隔离意味着每个都得单独配、单独养。地基没打牢就去铺军团,你会被一堆各自半生不熟的员工拖垮。

七、本节能造出什么数字员工

读完这篇,你已经具备”设计员工”的能力:

  • hermes -p backend chat 开一个专属后端工程兵,它只记后端约定、只带后端技能;
  • hermes -p frontend chat 再开一个前端助理,记忆和技能与后端完全隔离;
  • 每个员工都有独立 MEMORY.md/USER.md,不会把 A 项目的坑记到 B 项目上;
  • 技能沉淀后可跨 Profile 共享(agentskills.io 标准),方法论不浪费。

你手里已经不只是”一个助手”,而是一套可隔离、可克隆、可复用的方法论容器

八、下篇预告

员工有了大脑,还得有手有脚。下一篇《给数字员工装上”手和脚”:83 个内置工具全景图》会拆开 Hermes 的工具箱——terminal、file、browser、code_execution、web、image_gen…… 我会用”Mario 修 OAuth”式的真实案例,演示一个员工怎么用工具把一件破事从头干到尾。


延伸阅读

Hermes Agent 数字员工 AI智能体 自托管 Nous Research 架构 Profile