当前位置: 首页 > news >正文

智能体总是不听话?90% 的人没用对 Hermes 的「上下文」——这才是正确的打开方式

一、上下文系统核心概念

1.1 核心价值

上下文系统本质是"给智能明确行为边界与背景信息"

  • 全局人格:通过固定文件定义智能体沟通风格、工作原则,所有会话统一生效。

  • 项目规范:注入项目技术栈、编码规则、架构约定,避免 "答非所问"。

  • 动态内容:实时注入代码片段、文档、Git 差异,无需手动复制粘贴。

1.2 两大核心能力

  • 上下文文件(Context Files):静态配置文件,定义全局人格、项目规范,会话启动时自动加载。

  • 上下文引用(Context References):动态注入语法,通过@符号实时加载文件、目录、URL 等内容。

图1:上下文系统架构

上下文文件 · 静态加载

对话中 @ 语法触发

冲突时覆盖

优先级层级

Hermes 专属文件
最高优先级

AGENTS.md
项目通用

CLAUDE.md
兼容层

.cursorrules

上下文引用 · 动态注入

@file:path
文件引用

@folder:path
目录引用

@diff / @staged
Git 变更

@git:N
提交历史

@url:link
网页内容

~/.hermes/SOUL.md
全局人格文件

智能体行为决策

.hermes.md / HERMES.md

AGENTS.md
项目规范

CLAUDE.md

.cursorrules

二、上下文文件(Context Files)

上下文文件是静态配置载体,分为全局人格文件(SOUL.md)与项目规范文件(.hermes.md/AGENTS.md 等),会话启动时自动扫描加载。

2.1 文件优先级(从高到低)

Hermes 按以下顺序扫描项目目录,高优先级文件覆盖低优先级冲突指令,但所有文件内容均会注入上下文:

  1. .hermes.md/HERMES.md:Hermes 专属最高优先级文件。

  2. AGENTS.md:多智能体通用项目文件,兼容性最强。

  3. CLAUDE.md:兼容 Claude Code 上下文文件。

  4. .cursorrules:兼容 Cursor IDE 编码规则。

2.2 全局人格文件(SOUL.md)

2.2.1 路径与特性
  • 固定路径:~/.hermes/SOUL.md(仅从 Hermes 主目录加载,不扫描项目目录)。

  • 作用:定义智能体全局沟通风格、工作原则、禁止行为,所有会话默认生效。

  • 自动创建:首次使用 Hermes 时自动生成默认文件。

2.2.2 示例配置
# Hermes 全局人格 ## 沟通风格 - 中文回复(英文提问除外),简洁直接,无冗余客套。 - 优先提供可执行代码/命令,避免空泛解释。 - 歧义处主动确认,不猜测用户意图。 ## 工作原则 - 代码优先:安全、可维护、有单元测试。 - 诚实透明:不懂不编造,主动提示风险。 - 高效务实:聚焦问题,不额外推荐无关工具。 ## 禁止行为 - 不添加无意义感叹词,不过度解释简单任务。 - 不修改受保护文件(如 .env、迁移脚本)。

2.3 项目规范文件(AGENTS.md 为主)

2.3.1 作用与加载机制
  • 作用:定义项目技术栈、编码规范、架构规则、禁止事项

  • 渐进加载:会话启动时加载当前目录AGENTS.md;进入子目录(如frontend/)时,自动加载子目录AGENTS.md,仅在需要时注入,避免上下文膨胀。

2.3.2 示例配置(Go 后端项目)
# 项目上下文:Go 后端服务 ## 技术栈 - Go 1.22+,Gin 框架,GORM ORM。 - 数据库:SQLite(开发)/ PostgreSQL(生产)。 - 部署:Docker Compose,端口 8000。 ## 编码规范 - 严格 PEP8,全量类型注解。 - API 响应统一 {code, data, msg} 格式。 - 禁止直接拼接 SQL,优先 GORM 方法。 ## 禁止事项 - 不提交 .env 文件到 Git。 - 不直接修改数据库迁移脚本。
2.3.3 多目录分层配置

大型项目可按目录拆分规范,Hermes 会逐级加载:

my-project/ ├── AGENTS.md # 根目录全局规范。 ├── frontend/ │ └── AGENTS.md # 前端专属规范。 └── backend/ └── AGENTS.md # 后端专属规范。

2.4 大小与安全限制

  • 单文件上限:根目录文件 20000 字符,子目录文件 8000 字符,超出自动截断。

  • 安全扫描:自动检测提示注入、凭证外泄、恶意指令,拦截风险文件。

三、上下文引用(Context References)

上下文引用是动态注入语法,通过@符号实时加载文件、目录、Git 变更、URL 等内容,无需手动复制,支持 CLI 自动补全。

3.1 支持的引用类型

语法说明示例
@file:路径注入完整文件内容。@file:src/main.go
@file:路径:起始-结束注入指定行范围(1 索引)。@file:src/main.go:10-25
@folder:路径注入目录树与文件元数据。@folder:src/components
@diff注入 Git 未暂存变更。@diff
@staged注入 Git 已暂存变更。@staged
@git:N注入最近 N 次提交(最多 10)。@git:5
@url:链接注入网页正文。@url:https://xxx.com/doc

3.2 基础使用示例

3.2.1 代码审查
审查 @file:src/main.go:10-50,检查 SQL 注入风险
3.2.2 对比配置
对比 @file:dev.yaml 和 @file:prod.yaml 的数据库配置差异
3.2.3 注入文档
总结 @url:https://xxx.com/api-doc 的核心接口

3.3 CLI 自动补全

交互式 CLI 中输入@,自动触发补全:

  • 输入@file:,自动补全当前目录文件。

  • 输入@git:,提示可输入的提交数量。

3.4 大小与安全限制

3.4.1 大小限制
  • 软限制:引用内容不超过上下文 25%,超出警告但继续。

  • 硬限制:不超过 50%,超出拒绝注入。

  • 目录最多 200 个文件,Git 最多 10 次提交。

3.4.2 安全拦截
  • 敏感路径:禁止引用~/.ssh/~/.env~/.aws/等凭证目录。

  • 二进制文件:自动检测并拒绝 .exe、.so 等二进制文件。

  • 路径遍历:禁止引用工作目录外文件。

四、上下文调试与最佳实践

4.1 调试上下文加载

查看 Hermes 实际加载的上下文文件,排查配置是否生效:

hermes chat --debug-context

输出示例:

[Context] Loaded SOUL.md (1234 chars) [Context] Loaded /my-project/AGENTS.md (3456 chars)

4.2 最佳实践

4.2.1 上下文文件
http://www.jsqmd.com/news/1113463/

相关文章:

  • LIME与SHAP实战指南:金融风控中可解释AI的工程落地
  • 3分钟掌握:抖音无水印批量下载工具的终极解决方案
  • 知识蒸馏:SFT、RL、GKD等核心区别解析
  • 3个关键维度解析open-cmdb:从数据孤岛到智能资产管理的技术演进
  • 电脑加密软件有哪些?6 款热门电脑加密软件精选推荐,2026 电脑防泄密指南
  • 艺术涂料刷涂工艺?一次说到位
  • AI落地漏斗:从POC到规模化ROI的工程化实践指南
  • 未来国际物联网卡的发展趋势是什么?跨境IoT通信产业迭代解析
  • 电驱蚊器有毒吗?最先进的灭蚊神器是什么牌子?十款质量不错灭蚊器榜单对比实测! 避坑贴!
  • OpenClaw AI代理工具:从部署到QQ联动的完整指南
  • 处理医疗废水要安装在线监测设备吗?
  • Autoware与Apollo开源自动驾驶平台核心对比
  • 2026矩阵式协作的隐性语义差:为什么开再多例会也对不齐原始意图
  • Android逆向实战:动态调试破解APK加密逻辑与IDA、Frida工具链详解
  • HS2-HF Patch:一站式解决Honey Select 2汉化、去码与插件管理的终极方案
  • Pulumi:用你熟悉的编程语言写基础设施代码
  • 年复合增长率10.0%!大数据精准营销2026-2032年发展路径清晰
  • 稀土化合物到底是什么?一篇讲清楚它的真实作用
  • 10个生产环境验证的特征工程技巧:从数据清洗到模型提效
  • 从 ASCII 到 UTF-8:一部字符集的发展史
  • 基于pytest Hook机制构建测试失败智能报警系统
  • Java计算机毕设之基于 SpringBoot 的员工合同归档与薪资发放管理系统的设计与实现 基于 SpringBoot 的企业员工综合考评与薪酬分析系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于 SpringBoot 的员工合同生命周期管理系统的设计与实现 基于 SpringBoot 的企业员工薪酬数据统计研判系统的 (源码+文档,讲解、调试运行,定制等)
  • Unity在安卓端如何调试输出信息
  • VinXiangQi:如何用AI技术让传统象棋焕发新生?[特殊字符]
  • 北京市知识产权试点优势单位各区奖补政策
  • 让 TLS 指纹与 UA 一致的抓包分析工具
  • VirtualAPK插件化安全加固:从DEX加密到函数抽取的纵深防御实践
  • React入门首选:create-react-app
  • 从Notebook到生产环境的ML模型落地实战指南