hermes agent
1. 主要是 provider --LLM
2. 多渠道支持 --gateway
3. 工具注册模式 tool
4. skill的方式
hermes 插件机制
-01. memory
-02. context_engine
hermes memory
memory_provider.py memory_manager.py
plugins/memory
from plugins.context_engine import discover_context_engines, load_context_engine
agent/context_engine.py 抽象的基类
agent/context_compressor.py 实现了默认的上下文压缩
hermes agent 插件系统
采用动态导入+模块级注册的插件架构,无基类,纯 鸭子类型(Duck Typing)是程序设计中的动态类型机制
步骤
01.初步了解 功能列表
02.核心机制和原理
03.演化机制
字节跳动 推出的 DeerFlow
通过 entry_points 获取所有注册的插件。
用 frozenset 记录已加载的插件名,避免重复加载。
用 pkgutil 作为后备方案,自动发现某目录下的模块(当没有显式入口点时)
2025年 03月 Manus凭借“通用AI智能体”产品横空出
2026年 03月 openclaw
记忆管理和技能管理
推理时学习 基于强化学习的训练型自进化
进化记忆系统
进化出问题了会怎样?--识别
数据-data : trajectory 轨迹-从日常交互中持续提炼技能
持续学习,通过网络搜索、代码提取和记忆调用来获取新技能;
自我反思,通过内省和知识图谱探索来精炼已有技能。
失败驱动的发现机制 分析失败原因,
判断是因为缺少某种能力,还是现有技能用错了场景。
前者触发新技能的生成,后者触发对现有技能边界条件的修
hermes-agent 做的一件事我觉得挺有价值:
把”持续学习”从口号变成了代码。几个机制层层叠加,才构成一个真正能”grow with you”的系统,单独拿出来任何一个都不够。
hermes 的 nudge 机制隐约在往这个方向走,但 nudge 是外部注入的,不是 agent 自己发起的。
hermes-agent 有技能自改进机制
nanobot 的 Dream 机制的演化
现在 Dream 按 cron 定时触发(默认每 2 小时一次),本质上是被动的。
把”记忆整合”变成 agent 可以主动调用的工具呢?让它在感觉”我刚学到了重要的东西”时自己触发蒸馏。
nanobot 的 skill-creator 可以更新技能,但靠用户触发,不是自动的
如何从零构建高质量技能库,
已有技能的描述优化
生态构建-团队共享的知识积累系统
没有人介入时,agent 能不能主动感知到自己偏了、主动触发状态整合
发布
数据真不真实,迭代快不快-- 宣发和研发同步走
别人发布模型是,闭门造车 → 开发布会 → 上线慢慢改
MiMo 是匿名实测 → 收数据 → 迭代模型 → 再官宣
hook plugins
provider gateway tool skill
gateway
1.1.gateway/platforms/base.py
class BasePlatformAdapter(ABC)
connect disconnect send edit_message
send_image send_animation
set_message_handler
消息的类型
class MessageType(Enum):
"""Types of incoming messages."""
TEXT = "text"
LOCATION = "location"
PHOTO = "photo"
VIDEO = "video"
AUDIO = "audio"
VOICE = "voice"
DOCUMENT = "document"
STICKER = "sticker"
COMMAND = "command" # /command style
class MessageEvent class SendResult:
from gateway.platforms.base import (
BasePlatformAdapter,
MessageEvent,
MessageType,
SendResult,
SUPPORTED_DOCUMENT_TYPES,
cache_document_from_bytes,
cache_image_from_url,
cache_audio_from_bytes,
cache_image_from_bytes,
)
1.2 from gateway.config import Platform, PlatformConfig
class Platform(Enum):
class HomeChannel:
class PlatformConfig:
lass GatewayConfig: Manages all platform connections, session policies, and delivery settings.
1.3 gateway/platforms/feishu.py
2.1.gateway/delivery.py
2.2.gateway/session.py
3. gateway/run.py
This module provides:
- start_gateway(): Start all configured platform adapters
- GatewayRunner: Main class managing the gateway lifecycle
给大模型的一些内容
GATEWAY_SECRET_CAPTURE_UNSUPPORTED_MESSAGE = (
"Secure secret entry is not supported over messaging. "
"Load this skill in the local CLI to be prompted, or add the key to ~/.hermes/.env manually."
)
chat_id
message_id
等别人把能做的都做了,把能占的坑都占了,到时候你做到了,还有哪些价值--新动能变成新基建(淘汰和演化)
参考
https://zhuanlan.zhihu.com/p/2025649855939223991