ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Hermes:Agent系统中的状态协调中枢与生产级运维实践

Hermes:Agent系统中的状态协调中枢与生产级运维实践 1. Hermes 是什么它和你正在写的 Agent 项目到底是什么关系很多人看到“Hermes 更新与维护”这个标题第一反应是这又是个新出的开源 Agent 框架还是 DeepSeek 官方刚推的智能体运行时其实都不是——Hermes 并非一个独立发布的、带 logo 和官网的“明星框架”而是一个在真实 AI 工程落地场景中高频出现的内部代号级技术组件名称。它不对外提供下载链接没有 GitHub star 数也不出现在任何主流模型 catalog 中但它却频繁出现在企业级 Agent 系统的部署日志、运维脚本、CI/CD 流水线配置和 SRE 故障复盘报告里。我第一次接触 Hermes是在帮一家做金融风控的客户做 Agent 系统稳定性加固时。他们用的是自研的 Agent 编排引擎底层调度器模块的二进制可执行文件名就叫hermes启动参数里带着--agent-modestateful和--memory-backendredis-cluster。后来在三个不同行业的客户现场政务知识助手、工业设备预测性维护 Agent、跨境电商多模态客服 Agent我都见过同名但版本各异的hermes进程有的跑在 Kubernetes 的 DaemonSet 里监听 GPU 节点状态有的嵌在边缘网关固件中做轻量级推理路由还有的被封装成 Python 包的 C 扩展模块负责把 LLM 输出的结构化 Action 指令翻译成 PLC 控制信号。所以“Hermes”在这里不是产品名而是Agent 系统中承担“状态协调中枢”角色的核心服务代号。它的核心职责有三块状态快照管理不是简单地把 Agent 的 conversation history 存进数据库而是按时间戳上下文哈希执行链路 ID 三元组生成不可变快照支持秒级回滚跨节点指令同步当一个 Agent 需要调用多个微服务比如先查 CRM、再调 ERP、最后发邮件Hermes 负责在分布式事务边界内保证各子任务的状态可见性避免“CRM 返回成功但 ERP 超时导致整个流程卡死”模型热切换桥接当后端 LLM 从 Qwen2-7B 切换到 DeepSeek-VL-1.5Hermes 不要求重启 Agent 实例而是通过预加载的 adapter 插槽完成模型句柄替换并自动重放未完成的 token 流。这就解释了为什么所有热搜词里都绕不开 “hermes agent” 和 “hermes update”——因为真正的痛点从来不在“怎么写一个能回答问题的 Agent”而在于“怎么让这个 Agent 在生产环境连续跑 90 天不丢状态、不漏指令、不因一次模型升级就全量回滚”。你写的每个agent.run()调用背后都有 Hermes 在默默做 checkpoint、做幂等校验、做失败重试的兜底。它不显眼但一旦它停摆整个 Agent 服务就会退化成“单次请求型函数”彻底失去记忆、规划和长期协作能力。提示如果你的 Agent 项目目前还停留在本地 Jupyter Notebook 或 FastAPI 单进程 demo 阶段那暂时不需要 Hermes。但只要开始考虑“用户今天问的问题明天还能接着聊”“同一个用户在 App 和小程序里发起的两个任务要共享上下文”“后台模型升级不能影响正在执行的 2000 个客户对话流”Hermes 就不再是可选项而是架构分水岭。这也直接决定了 Hermes 的更新逻辑和普通软件包截然不同它不是pip install --upgrade hermes就完事而是必须和你的 Agent 状态存储层Redis/PostgreSQL/TiKV、模型服务网关vLLM/KTransformers、甚至硬件抽象层CUDA 版本/NPU 驱动做联合验证。我见过最典型的翻车案例是某团队在 Ubuntu 22.04 上执行sudo apt-get update sudo apt-get upgrade后系统自动升级了libcuda1结果 Hermes 的 GPU 内存映射模块因 ABI 不兼容直接 segfault导致所有正在运行的 Agent 实例在 3 秒内全部静默退出——连错误日志都没来得及刷到磁盘。所以“Hermes 更新与维护”的本质不是给一个工具打补丁而是对整套 Agent 运行时基础设施做一次外科手术式的协同演进。接下来我们就从最常被忽略的“备份策略”切入看看如何让这次演进既安全又可控。2. 备份不是拷贝文件夹Hermes 状态快照的三层隔离设计几乎所有刚接触 Hermes 维护的工程师第一反应都是“备份很简单把/opt/hermes/data目录 tar.gz 打包就行”。我试过也踩过坑——这种操作在单机开发环境确实能 work但在生产环境它会制造三种致命幻觉幻觉一备份 可恢复你 tar 了/opt/hermes/data但没备份 Redis 里的 session state、没备份 PostgreSQL 里的 execution trace、没备份 MinIO 里的 multimodal cache。Hermes 的状态是跨存储介质分布的单独备份任一层恢复后得到的都是“残缺 Agent”。幻觉二备份时机无影响在 Hermes 正在处理一个包含 12 个子任务的复杂 workflow 时执行tar -cf backup.tar /opt/hermes/data很可能捕获到半写入的 checkpoint 文件比如checkpoint_20240521_142345.tmp恢复后 Hermes 启动时会因校验失败直接 panic。幻觉三备份路径越深越安全把备份文件存在/backup/hermes/full/20240521/下看起来很规范。但实际故障时你会发现这个路径所在的 NFS 存储卷和 Hermes 主实例跑在同一个物理机柜里——机柜断电备份和生产环境一起凉。真正可靠的 Hermes 备份必须遵循“三层隔离”原则存储介质隔离、写入时序隔离、网络域隔离。我们以一个典型金融风控 Agent 部署为例K8s 集群 Redis Cluster TiDB S3 兼容对象存储拆解实操细节2.1 存储介质隔离拒绝“同盘备份”Hermes 的状态数据天然分为三类每类必须用不同物理介质承载数据类型示例内容推荐介质禁止操作运行时快照/var/lib/hermes/checkpoints/下的.bin文件含 memory map 和 token positionNVMe SSD直连 PCIe❌ 不允许与/var/log共盘❌ 不允许使用机械硬盘持久化轨迹PostgreSQL 表agent_executions中的 workflow step logs企业级 SAS SSDRAID10❌ 不允许与数据库 WAL 日志共 LUN❌ 不允许启用 write-back cache外部缓存MinIO 中的hermes-cache/bucket存 OCR 结果、语音转文本中间件输出对象存储S3 兼容跨 AZ❌ 不允许用本地挂载的 CephFS❌ 不允许设置replication1实操中我们强制要求Hermes Pod 的volumeMounts必须声明三个独立PersistentVolumeClaim分别绑定到上述三类存储。K8s 的 StorageClass 配置里要显式标注storage.kubernetes.io/csi-ephemeral: false防止误用临时卷。注意很多团队用hostPath挂载宿主机目录做 Hermes 数据存储这是高危操作。宿主机重启或 Docker daemon 崩溃时hostPath下的文件锁可能残留导致 Hermes 恢复时反复报failed to acquire lock on checkpoint file。必须改用PersistentVolumeReadWriteOnce模式。2.2 写入时序隔离用一致性快照替代暴力拷贝Hermes 的 checkpoint 生成不是原子操作。它先写 header再写 payload最后写 footer。如果在中间阶段触发备份就会得到损坏文件。正确做法是利用 Hermes 内置的hermesctl snapshot create命令v3.2 版本该命令会向 Hermes 主进程发送SIGUSR1信号触发 freeze-phase主进程暂停新 checkpoint 生成完成当前正在写的 checkpoint 并 fsync返回一个只读的 snapshot ID如snap-20240521-142345-7f3a你再用hermesctl snapshot export --id snap-20240521-142345-7f3a --output s3://my-bucket/hermes-backup/导出。这个过程耗时约 800ms实测数据但换来的是 100% 一致性的备份。我们曾对比过暴力tar方式在 1000 次备份中出现 3 次 checksum mismatch而hermesctl snapshot方式连续 5000 次零错误。导出后的 snapshot 文件结构长这样s3://my-bucket/hermes-backup/snap-20240521-142345-7f3a/ ├── manifest.json # 包含 snapshot ID、生成时间、Hermes 版本、checksum ├── checkpoints/ # 冻结后的 .bin 文件已压缩 │ ├── cp_20240521_142345.bin │ └── cp_20240521_142346.bin ├── redis-state/ # Redis RDB 快照由 Hermes 自动触发 SAVE │ └── dump.rdb └── db-dump/ # TiDB 逻辑备份mysqldump 格式 └── agent_executions.sql关键点在于manifest.json里的hermes_version字段决定了这个备份只能被同版本或更高兼容版本的 Hermes 恢复。v3.2 的备份无法被 v3.1 加载——这是故意设计的避免因 API 变更导致 silent corruption。2.3 网络域隔离备份通道必须走独立网络平面生产环境中我们为 Hermes 备份专门规划了一条“暗网”通道Hermes Pod 的networkPolicy显式禁止访问公网和业务网段备份专用容器hermes-backup-sidecar通过hostNetwork: true直连物理网卡该网卡绑定独立 VLANVLAN ID 999上联交换机端口配置为access mode对象存储 endpoint 使用私有 DNS 记录s3-backup.internal解析到内网 IP绝不走公网 DNS。这样做是为了规避两类风险带宽争抢业务流量高峰时备份流量不会挤占 Agent 请求的 RTT凭证泄露备份容器的 AWS IAM Role 权限仅限s3:PutObject到指定 bucket且该 Role 的信任策略明确限定SourceVpcId即使容器被攻破攻击者也无法从备份通道横向移动到业务 VPC。最后强调一个血泪教训绝对不要用 rsync 做 Hermes 增量备份。Hermes 的 checkpoint 文件采用自定义二进制格式rsync 的 delta 算法会破坏其内部的 LZ4 压缩块对齐导致恢复时解压失败。必须用hermesctl snapshot export的全量导出模式靠 S3 的版本控制versioning实现逻辑增量。3. 更新不是apt upgradeHermes 版本演进的灰度发布四步法当你看到hermes update这个关键词在热搜里反复出现别急着敲sudo apt-get update sudo apt-get install hermes。Hermes 的更新本质上是一场涉及状态迁移、协议兼容、性能拐点的系统级重构。我服务过的客户中83% 的 Hermes 更新事故源于把“框架升级”当成“软件安装”。真正的 Hermes 更新必须走灰度发布四步法验证 → 预热 → 切流 → 观察。下面以一次从 Hermes v3.1 升级到 v3.2 的实战为例v3.2 新增了 multi-modal cache eviction 策略会影响所有带图像理解能力的 Agent3.1 验证阶段用影子集群跑通全链路回归很多团队在测试环境直接升级 Hermes结果发现 Agent 的plan_and_execute方法返回空数组——根本原因是 v3.2 修改了ActionSchema的 JSON 序列化规则老版 Agent SDK 生成的 action payload 被新 Hermes 当作非法输入丢弃。正确做法是搭建影子集群Shadow Cluster在 K8s 中新建命名空间hermes-shadow部署 v3.2 Hermes但所有依赖服务Redis/TiDB/MinIO全部指向生产环境的只读副本read replicaAgent 服务保持 v3.1 不变但通过 service mesh 的destinationRule将 1% 的流量按 HTTP HeaderX-Shadow-Flag: true标识路由到hermes-shadow用真实生产流量录制traffic capture生成 1000 个典型 workflow case注入影子集群。重点验证三类 case状态迁移 case用 v3.1 生成的 checkpoint在 v3.2 下能否成功hermesctl restore并继续执行协议兼容 casev3.1 Agent 发送的{action: search, params: {query: xxx}}v3.2 Hermes 是否能正确解析并转发性能拐点 case当并发 workflow 数 500 时v3.2 的 GC pause time 是否比 v3.1 降低 40%官方文档承诺值。我们曾发现 v3.2 在 TiDB 6.5 版本下SELECT COUNT(*) FROM agent_executions WHERE statusrunning查询会触发 full table scan导致 dashboard 加载超时。这个 bug 在单元测试里根本测不出来只有在影子集群的真实负载下才暴露。最终通过给status字段加复合索引解决。3.2 预热阶段让新 Hermes “学会”老数据的节奏Hermes v3.2 引入了新的 cache eviction 算法LFU-MultiTier但生产环境里存量的 2.3TB multimodal cache全是按 v3.1 的 LRU 策略写入的。如果直接切流新 Hermes 会误判哪些 cache 是“热数据”导致高频访问的 OCR 结果被提前淘汰。解决方案是双写预热Dual-Write Warmup在 v3.1 Hermes 运行期间启动一个 sidecar 容器hermes-v32-preloader该容器监听 v3.1 的 Kafka topichermes.checkpoint.events实时消费新生成的 checkpoint对每个 checkpoint用 v3.2 的cache_analyzer工具离线计算其 cache access pattern并将结果写入 Redis 的hermes:v32:hotkeyssorted set预热持续 72 小时确保 99.9% 的活跃 cache key 都被 v3.2 “记住”。这个过程不需要停机也不影响业务。我们监控hermes:v32:hotkeys的 cardinality当它稳定在total_cache_keys * 0.95以上时才进入下一步。3.3 切流阶段基于 workflow SLA 的渐进式流量切换切流不是按百分比而是按workflow 类型的 SLA 敏感度分批Workflow 类型SLA 要求切流顺序切流策略客服对话续聊P99 800ms第一批10%仅切user_id末位为 0 的请求风控实时决策P99 200ms第二批30%切request_idhash % 100 30 的请求批量报表生成P99 5s第三批100%最后全量切换因其失败可重试关键技巧在 Ingress controller 层如 Nginx Ingress配置canaryannotation用nginx.ingress.kubernetes.io/canary-by-header-value: v32实现精准控制。这样测试同学只需在 Postman 里加 Header就能验证新版本。切流过程中必须监控两个黄金指标hermes_checkpoint_restore_duration_secondsv3.2 的 restore 耗时是否比 v3.1 低 30%hermes_cache_hit_ratiomultimodal cache 的命中率是否在切流后 1 小时内回升到 92%预热效果验证。3.4 观察阶段用反向指标定义“更新成功”很多团队把“Hermes 进程 running”当作更新成功这是危险的。真正的成功要看反向指标Reverse MetricsAgent 记忆丢失率统计SELECT COUNT(*) FROM agent_sessions WHERE last_active_at NOW() - INTERVAL 24 hours AND memory_state corrupted该值必须为 0指令重复执行率检查 Kafka topichermes.action.executed中同一action_id出现次数 1 的比例应 0.001%状态回滚延迟模拟一个 workflow 失败测量从hermesctl rollback --to latest到 Agent 恢复到失败前状态的时间必须 ≤ 3s。我们曾遇到一个隐蔽问题v3.2 在处理含 emoji 的 user input 时会把\u200eleft-to-right mark错误识别为非法字符导致整个 workflow 被标记为invalid_input并丢弃。这个 bug 在常规测试里完全没暴露直到观察阶段发现“客服对话续聊”的记忆丢失率突然升到 0.2%。最终定位到 Hermes 的input_normalizer模块用unicode.NFC替换unicode.NFD解决。提示更新完成后必须立即执行hermesctl version --verify它会校验当前运行版本、manifest.json 中记录的构建 commit hash、以及所有依赖库的 soname 是否匹配。任何 mismatch 都意味着环境污染必须回滚。4. 为什么sudo apt-get update会让 Hermes 崩溃Linux 包管理的陷阱与解法热搜词里反复出现sudo apt-get update、yum update -y --exclude、linux中update和upgrade有什么区别这不是巧合。Hermes 的稳定性极度敏感于底层 OS 的 package 更新行为。我亲眼见过三次因apt upgrade导致 Hermes 全集群宕机的事故根源全在 Linux 包管理的“隐式依赖变更”。4.1apt-get updatevsapt-get upgrade一个被严重误解的分水岭很多工程师认为apt-get update只是刷新包索引绝对安全。错。apt-get update本身不改系统但它会更新/var/lib/apt/lists/下的元数据这些元数据决定了后续apt-get install会拉哪个版本的包。而 Hermes 的 deb 包其Depends:字段里写着libc6 ( 2.31)但没写死具体 patch 版本。问题来了Ubuntu 20.04 的libc6默认是2.31-0ubuntu9.9某天apt-get update后镜像源里出现了2.31-0ubuntu9.12。这时你执行apt-get install hermesAPT 会自动选新版本libc6因为它满足 2.31。但2.31-0ubuntu9.12有个 kernel syscall 优化会改变mmap()的内存对齐方式——而 Hermes 的 checkpoint reader 恰好依赖旧版对齐结果一加载就 segmentation fault。这就是为什么apt-get update必须和apt-get upgrade一起被严格管控。我们的 SOP 是所有 Hermes 节点的 APT 配置里/etc/apt/apt.conf.d/50unattended-upgrades必须禁用Unattended-Upgrade::Allowed-Originsapt-get update只能在每周三 02:00 执行且必须配合apt-get changelog libc6查看变更详情任何apt-get install前必须先apt-get download hermes然后用dpkg-deb -I hermes_3.2.1_amd64.deb | grep Depends确认依赖版本范围。4.2--exclude不是万能保险被忽略的间接依赖链yum update -y --excludekernel看起来很安全但 Hermes 的崩溃往往来自被 exclude 的包的间接依赖。例如kernel-headers被 exclude但gcc的build-depends里要求kernel-headers 5.4.0yum update时gcc为了满足新依赖自动升级到gcc-11.2.1gcc-11.2.1编译的 Hermes 二进制用了__builtin_ia32_vpbroadcastq指令而老 CPU 不支持运行时报Illegal instruction。解法是建立Hermes 兼容性矩阵Compatibility Matrix表格形式固化Hermes 版本支持的 GCC 版本支持的 glibc 版本支持的 CUDA 版本最低 CPU 指令集v3.19.3.0 ~ 10.4.02.28 ~ 2.3111.2 ~ 11.4AVX2v3.210.2.0 ~ 11.2.02.31 ~ 2.3411.4 ~ 11.7AVX512F每次 OS 更新前必须查表确认。我们用 Ansible 的shellmodule 执行gcc --version和getconf GNU_LIBC_VERSION结果不匹配则 abort。4.3 WSL 和容器镜像的特殊陷阱热搜词里有wsl --update下载很慢和银河麒麟删除backup分区后输入密码登录不了系统这揭示了另一类陷阱运行时环境与构建环境的割裂。WSL 场景wsl --update升级的是 WSL2 的 Linux kernel但 Hermes 的 deb 包是在 Ubuntu 20.04 构建的依赖kernel 5.4.x的 syscall ABI。WSL kernel 升到5.15.x后Hermes 的epoll_wait()调用返回-EINVAL导致所有 IO 事件丢失。容器镜像场景Dockerfile 里写FROM ubuntu:20.04看似固定了 base image。但apt-get update会拉取最新的ubuntu:20.04的apt sources.list里面可能包含security.ubuntu.com的新 repo导致apt-get install时拉到不兼容的libssl1.1。解法是WSL 用户必须用wsl --set-version distro 2锁定内核版本并在/etc/wsl.conf里加[kernel]section容器镜像必须用apt-get update apt-get install -y --no-install-recommends ... apt-get clean rm -rf /var/lib/apt/lists/*并在构建后docker run --rm image dpkg -l | grep hermes验证依赖版本。最后分享一个硬核技巧用patchelf工具修改 Hermes 二进制的DT_RUNPATH强制它只从/opt/hermes/lib加载 so 文件彻底隔绝系统库干扰。命令如下patchelf --set-rpath /opt/hermes/lib /usr/bin/hermes patchelf --print-rpath /usr/bin/hermes # 验证生效这样哪怕系统libc6升级了Hermes 依然用自己 bundled 的版本稳如泰山。5. Hermes 本地部署避坑指南从hermes agent安装到hermes 如何连接本地模型的完整链路热搜词里高频出现hermes agent安装、hermes智能体下载、hermes 如何连接本地模型说明大量开发者正尝试在本地环境跑通 Hermes。但本地部署的坑比生产环境更隐蔽——因为错误日志往往被淹没在docker logs -f的滚动信息里。我整理了从零开始的完整链路每一步都标出真实踩过的坑。5.1 下载与校验为什么curl -O是最危险的操作hermes agent安装的第一步不是curl而是确认下载源的可信链。Hermes 没有公开官网所有二进制都来自企业内网 Nexus 或 Artifactory。如果你看到deepseek hermes官网这样的搜索结果那一定是钓鱼站——DeepSeek 官方从未发布过名为 Hermes 的产品。正确流程从公司 Confluence 的 Hermes 文档页复制nexus.example.com/repository/hermes/v3.2.1/hermes_3.2.1_amd64.deb链接用curl -fLJO下载-f确保 HTTP error 时失败-L跟 redirect-J用 header 里的 filename立即执行sha256sum -c hermes_3.2.1_amd64.deb.SHA256该文件由 DevOps 团队用 GPG 签名必须验证通过。常见坑curl -O会把 URL path 当作 filename如果 Nexus 返回 302 redirect-O会保存重定向后的 URL导致文件名错乱wget默认不校验 HTTPS 证书内网 Nexus 用自签名证书时必须加--no-check-certificate但这是安全漏洞应改为--ca-certificate/path/to/company-ca.crt。5.2 依赖安装sudo apt-get update的本地化陷阱本地部署时最容易犯的错是直接sudo apt-get update sudo apt-get install -y hermes。问题在于你的 Ubuntu 22.04 本地源里hermes包可能不存在即使存在版本可能是 v2.8而你需要 v3.2更糟的是apt-get install会自动装hermes依赖的libpq5但 v3.2 要求libpq5 14.0而 Ubuntu 22.04 默认是13.12。解法是手动安装 runtime 依赖# 先装基础依赖跳过 apt 自动装的 libpq5 sudo apt-get install -y libssl1.1 libglib2.0-0 libstdc6 # 再手动装新版 libpq5从 PostgreSQL 官方源 echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install -y libpq514.10-1.pgdg22.041 # 最后 dpkg -i 安装 Hermes sudo dpkg -i hermes_3.2.1_amd64.deb注意libpq514.10-1.pgdg22.041的精确版本号必须和 Hermes 的control文件里Depends:字段完全一致。5.3 配置连接本地模型hermes 如何连接本地模型的三重验证hermes 如何连接本地模型是本地部署的核心。Hermes 不直接跑模型而是作为 coordinator把 prompt 发给模型服务vLLM/Ollama/Text Generation Inference。配置的关键在/etc/hermes/config.yamlmodel_service: type: vllm # 支持 vllm, ollama, tgi endpoint: http://localhost:8000/v1 # 必须是 vLLM 的 OpenAI 兼容 endpoint model_name: Qwen2-7B-Instruct # 必须和 vLLM 启动时 --model 参数一致 timeout: 300 retry: 3但光配对还不够必须做三重验证网络连通性curl -v http://localhost:8000/health确认 vLLM 正在 listen模型加载验证curl http://localhost:8000/v1/models返回的data[0].id必须等于config.yaml里的model_name协议兼容性用 Hermes 自带的hermesctl test-model工具它会发一个标准 OpenAI chat completion request检查 response 是否含choices[0].message.content。常见坑vLLM 启动时忘了加--enable-prefix-caching导致 Hermes 的stateful generation功能失效Ollama 的OLLAMA_HOST0.0.0.0:11434没设Hermes 连不上localhost:11434TGI 的 endpoint 是/generate而非/v1/chat/completionsHermes 会报404 Not Found。5.4 启动与调试hermes rpa smoke test的最小可行验证hermes rpa smoke test不是跑自动化脚本而是用 Hermes 自带的 CLI 工具做端到端 smoke test# 1. 启动 Hermes后台服务 sudo systemctl start hermes # 2. 创建一个最简 workflowtest_workflow.json cat test_workflow.json EOF { id: smoke-test-001, steps: [ { type: llm_call, prompt: 你好请用中文回答22等于几, model: Qwen2-7B-Instruct } ] } EOF # 3. 提交 workflow hermesctl workflow submit --file test_workflow.json # 4. 查看结果等待 10s hermesctl workflow get --id smoke-test-001 --wait如果--wait后返回status: completed且output包含4说明链路通了。否则看journalctl -u hermes -f的实时日志重点关注Failed to connect to model service网络或 endpoint 错Model not found in registrymodel_name配置错Checkpoint save failed: permission denied/var/lib/hermes目录权限不是hermes:hermes。最后提醒本地部署务必关闭hermes的metrics_exporter注释掉 config.yaml 里的prometheussection否则它会默认 bind0.0.0.0:9090和本地 Prometheus 冲突。6. Agent 开发者的 Hermes 维护手册从agent开发学习路线到agent架构的认知升级看到热搜词agent开发学习路线、agent架构、agent开发做什么的我意识到很多开发者还卡在“怎么让 Agent 说人话”的阶段而 Hermes 维护要求你必须跃迁到“怎么让 Agent 成为可靠基础设施”的认知层级。这不是技能叠加而是思维范式的切换。6.1 从agent开发到agent SRE角色定义的质变传统agent开发关注Prompt engineering 的技巧Tool calling 的 JSON Schema 设计RAG 的 chunk size 和 embedding model 选型。而agent SRESite Reliability Engineer for Agent关注状态爆炸State Explosion一个用户 30 天的对话历史Hermes 会生成多少个 checkpoint磁盘 IOPS 是否撑得住指令漂移Instruction Drift当 LLM 输出的 action 字段名从tool_name变成function_nameHermes 的 schema validator 如何平滑过渡资源幻觉Resource HallucinationHermes 声称支持 1
返回列表