hermes-agent-framework

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Hermes Agent Framework

Hermes Agent Framework

Skill by ara.so — Hermes Skills collection.
Hermes Agent is an open-source AI Agent framework by Nous Research that features a built-in self-improving learning loop, three-layer memory system (episodic, semantic, procedural), and automatic Skill creation and evolution. Unlike traditional agentic frameworks, Hermes continuously learns from interactions and builds up capabilities over time.
ara.so提供的Skill——Hermes技能集合。
Hermes Agent是Nous Research开发的开源AI Agent框架,具备内置自改进学习循环、三层记忆系统(episodic, semantic, procedural)以及Skill自动创建与进化功能。与传统智能体框架不同,Hermes能从交互中持续学习,逐步提升自身能力。

Installation

安装

Prerequisites

前置条件

  • Python 3.9+
  • API key for LLM provider (OpenAI, Anthropic, etc.)
  • Python 3.9+
  • LLM提供商的API密钥(OpenAI、Anthropic等)

Basic Installation

基础安装

bash
undefined
bash
undefined

Clone the repository

Clone the repository

Install dependencies

Install dependencies

pip install -r requirements.txt
pip install -r requirements.txt

Or install via pip (if published)

Or install via pip (if published)

pip install hermes-agent
undefined
pip install hermes-agent
undefined

Configuration

配置

Create a
.env
file in the project root:
bash
undefined
在项目根目录创建
.env
文件:
bash
undefined

LLM Provider Configuration

LLM Provider Configuration

OPENAI_API_KEY=your_openai_key_here ANTHROPIC_API_KEY=your_anthropic_key_here
OPENAI_API_KEY=your_openai_key_here ANTHROPIC_API_KEY=your_anthropic_key_here

Agent Configuration

Agent Configuration

HERMES_MODEL=gpt-4 HERMES_MEMORY_PATH=./memory HERMES_SKILLS_PATH=./skills
undefined
HERMES_MODEL=gpt-4 HERMES_MEMORY_PATH=./memory HERMES_SKILLS_PATH=./skills
undefined

Core Concepts

核心概念

Three-Layer Memory System

三层记忆系统

  1. Episodic Memory: Stores conversation history and interaction sequences
  2. Semantic Memory: Long-term knowledge and facts extracted from experiences
  3. Procedural Memory: Skills and learned procedures (how to do things)
  1. Episodic Memory:存储对话历史和交互序列
  2. Semantic Memory:从经验中提取的长期知识与事实
  3. Procedural Memory:技能与习得的操作流程(如何完成任务)

Learning Loop

学习循环

Hermes operates in a continuous cycle:
  1. Perceive: Receive user input and context
  2. Reflect: Analyze what happened and extract learnings
  3. Learn: Update memory systems and create/modify Skills
  4. Act: Execute tasks using available tools and Skills
Hermes运行在持续循环中:
  1. 感知:接收用户输入和上下文
  2. 反思:分析事件过程并提取经验
  3. 学习:更新记忆系统并创建/修改Skill
  4. 行动:使用可用工具和Skill执行任务

Skills

Skills

Skills are reusable capabilities that Hermes creates and refines automatically. They're stored as structured modules in the procedural memory.
Skills是Hermes自动创建和优化的可复用能力,以结构化模块形式存储在过程记忆中。

Basic Usage

基础用法

Starting a Hermes Agent

启动Hermes Agent

python
from hermes_agent import HermesAgent, Config
python
from hermes_agent import HermesAgent, Config

Initialize configuration

Initialize configuration

config = Config( model="gpt-4", memory_path="./memory", skills_path="./skills", temperature=0.7 )
config = Config( model="gpt-4", memory_path="./memory", skills_path="./skills", temperature=0.7 )

Create agent instance

Create agent instance

agent = HermesAgent(config)
agent = HermesAgent(config)

Start conversation

Start conversation

response = agent.chat("Help me analyze this CSV file and create visualizations") print(response)
undefined
response = agent.chat("Help me analyze this CSV file and create visualizations") print(response)
undefined

With Custom System Prompt

使用自定义系统提示词

python
from hermes_agent import HermesAgent, Config

config = Config(
    model="claude-3-5-sonnet-20241022",
    system_prompt="""You are a specialized data analysis agent.
    Focus on statistical rigor and clear visualizations.
    Always explain your analytical choices."""
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config

config = Config(
    model="claude-3-5-sonnet-20241022",
    system_prompt="""You are a specialized data analysis agent.
    Focus on statistical rigor and clear visualizations.
    Always explain your analytical choices."""
)

agent = HermesAgent(config)

Enabling Memory Persistence

启用记忆持久化

python
from hermes_agent import HermesAgent, Config, MemoryConfig

memory_config = MemoryConfig(
    episodic_enabled=True,
    semantic_enabled=True,
    procedural_enabled=True,
    retention_days=90,
    auto_consolidate=True
)

config = Config(
    model="gpt-4",
    memory_config=memory_config
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, MemoryConfig

memory_config = MemoryConfig(
    episodic_enabled=True,
    semantic_enabled=True,
    procedural_enabled=True,
    retention_days=90,
    auto_consolidate=True
)

config = Config(
    model="gpt-4",
    memory_config=memory_config
)

agent = HermesAgent(config)

Memory is automatically saved and loaded

Memory is automatically saved and loaded

agent.chat("Remember that I prefer Python over JavaScript")
agent.chat("Remember that I prefer Python over JavaScript")

Later sessions will recall this preference

Later sessions will recall this preference

undefined
undefined

Working with Skills

技能操作

Creating a Custom Skill

创建自定义Skill

python
from hermes_agent import Skill, SkillParameter
python
from hermes_agent import Skill, SkillParameter

Define a custom skill

Define a custom skill

web_scraper_skill = Skill( name="web_scraper", description="Scrape and extract structured data from websites", parameters=[ SkillParameter(name="url", type="string", required=True), SkillParameter(name="selectors", type="object", required=False) ], implementation=""" import requests from bs4 import BeautifulSoup
def execute(url, selectors=None): response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser')
if selectors:
    results = {}
    for key, selector in selectors.items():
        results[key] = soup.select(selector)
    return results

return soup.get_text()
""" )
web_scraper_skill = Skill( name="web_scraper", description="Scrape and extract structured data from websites", parameters=[ SkillParameter(name="url", type="string", required=True), SkillParameter(name="selectors", type="object", required=False) ], implementation=""" import requests from bs4 import BeautifulSoup
def execute(url, selectors=None): response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser')
if selectors:
    results = {}
    for key, selector in selectors.items():
        results[key] = soup.select(selector)
    return results

return soup.get_text()
""" )

Register skill with agent

Register skill with agent

agent.register_skill(web_scraper_skill)
undefined
agent.register_skill(web_scraper_skill)
undefined

Loading Skills from Directory

从目录加载Skill

python
from hermes_agent import HermesAgent, Config

config = Config(
    model="gpt-4",
    skills_path="./my_custom_skills"
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config

config = Config(
    model="gpt-4",
    skills_path="./my_custom_skills"
)

agent = HermesAgent(config)

Agent automatically loads all skills from directory

Agent automatically loads all skills from directory

Skills are available for use in conversations

Skills are available for use in conversations

undefined
undefined

Skill Auto-Evolution

技能自动进化

python
from hermes_agent import HermesAgent, Config, LearningConfig

learning_config = LearningConfig(
    auto_create_skills=True,
    skill_refinement=True,
    min_usage_for_creation=3  # Create skill after pattern used 3+ times
)

config = Config(
    model="gpt-4",
    learning_config=learning_config
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, LearningConfig

learning_config = LearningConfig(
    auto_create_skills=True,
    skill_refinement=True,
    min_usage_for_creation=3  # Create skill after pattern used 3+ times
)

config = Config(
    model="gpt-4",
    learning_config=learning_config
)

agent = HermesAgent(config)

As agent performs repeated tasks, it automatically creates reusable skills

As agent performs repeated tasks, it automatically creates reusable skills

agent.chat("Convert this JSON to CSV format") agent.chat("Convert this other JSON to CSV") agent.chat("And convert this JSON to CSV too")
agent.chat("Convert this JSON to CSV format") agent.chat("Convert this other JSON to CSV") agent.chat("And convert this JSON to CSV too")

After 3rd usage, Hermes creates a "json_to_csv" skill automatically

After 3rd usage, Hermes creates a "json_to_csv" skill automatically

undefined
undefined

Tool Integration

工具集成

Registering External Tools

注册外部工具

python
from hermes_agent import HermesAgent, Tool

def search_api(query: str) -> dict:
    """Search using external API"""
    import os
    import requests
    
    api_key = os.getenv("SEARCH_API_KEY")
    response = requests.get(
        "https://api.example.com/search",
        params={"q": query, "key": api_key}
    )
    return response.json()
python
from hermes_agent import HermesAgent, Tool

def search_api(query: str) -> dict:
    """Search using external API"""
    import os
    import requests
    
    api_key = os.getenv("SEARCH_API_KEY")
    response = requests.get(
        "https://api.example.com/search",
        params={"q": query, "key": api_key}
    )
    return response.json()

Register as tool

Register as tool

search_tool = Tool( name="web_search", description="Search the web for current information", function=search_api, parameters={ "query": {"type": "string", "description": "Search query"} } )
agent = HermesAgent(config) agent.register_tool(search_tool)
undefined
search_tool = Tool( name="web_search", description="Search the web for current information", function=search_api, parameters={ "query": {"type": "string", "description": "Search query"} } )
agent = HermesAgent(config) agent.register_tool(search_tool)
undefined

Built-in Tool Categories

内置工具类别

python
from hermes_agent import HermesAgent, Config, ToolConfig

tool_config = ToolConfig(
    enable_file_operations=True,
    enable_web_browsing=True,
    enable_code_execution=True,
    enable_shell_commands=False,  # Disabled by default for security
    allowed_domains=["*.example.com", "api.trusted.com"]
)

config = Config(
    model="gpt-4",
    tool_config=tool_config
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, ToolConfig

tool_config = ToolConfig(
    enable_file_operations=True,
    enable_web_browsing=True,
    enable_code_execution=True,
    enable_shell_commands=False,  # Disabled by default for security
    allowed_domains=["*.example.com", "api.trusted.com"]
)

config = Config(
    model="gpt-4",
    tool_config=tool_config
)

agent = HermesAgent(config)

Multi-Agent Orchestration

多Agent编排

Creating Agent Teams

创建Agent团队

python
from hermes_agent import HermesAgent, AgentTeam, Config
python
from hermes_agent import HermesAgent, AgentTeam, Config

Create specialized agents

Create specialized agents

researcher = HermesAgent(Config( model="gpt-4", system_prompt="You are a research specialist. Focus on gathering and analyzing information." ))
coder = HermesAgent(Config( model="claude-3-5-sonnet-20241022", system_prompt="You are a coding specialist. Write clean, efficient code." ))
writer = HermesAgent(Config( model="gpt-4", system_prompt="You are a technical writer. Create clear documentation." ))
researcher = HermesAgent(Config( model="gpt-4", system_prompt="You are a research specialist. Focus on gathering and analyzing information." ))
coder = HermesAgent(Config( model="claude-3-5-sonnet-20241022", system_prompt="You are a coding specialist. Write clean, efficient code." ))
writer = HermesAgent(Config( model="gpt-4", system_prompt="You are a technical writer. Create clear documentation." ))

Create team

Create team

team = AgentTeam( agents=[researcher, coder, writer], coordinator=HermesAgent(Config( model="gpt-4", system_prompt="Coordinate agent activities and synthesize results." )) )
team = AgentTeam( agents=[researcher, coder, writer], coordinator=HermesAgent(Config( model="gpt-4", system_prompt="Coordinate agent activities and synthesize results." )) )

Execute team task

Execute team task

result = team.execute( "Research best practices for API design, implement a sample API, and document it" )
undefined
result = team.execute( "Research best practices for API design, implement a sample API, and document it" )
undefined

Agent Communication

Agent通信

python
from hermes_agent import HermesAgent, AgentChannel
python
from hermes_agent import HermesAgent, AgentChannel

Create communication channel

Create communication channel

channel = AgentChannel()
agent_a = HermesAgent(config) agent_b = HermesAgent(config)
channel = AgentChannel()
agent_a = HermesAgent(config) agent_b = HermesAgent(config)

Connect agents to channel

Connect agents to channel

agent_a.connect(channel) agent_b.connect(channel)
agent_a.connect(channel) agent_b.connect(channel)

Agents can now share context and learnings

Agents can now share context and learnings

agent_a.chat("Learn about Python async patterns")
agent_a.chat("Learn about Python async patterns")

agent_b automatically has access to what agent_a learned

agent_b automatically has access to what agent_a learned

agent_b.chat("Use async patterns to build a web scraper")
undefined
agent_b.chat("Use async patterns to build a web scraper")
undefined

Advanced Configuration

高级配置

Feedback Loop Customization

反馈循环自定义

python
from hermes_agent import HermesAgent, Config, FeedbackConfig

feedback_config = FeedbackConfig(
    enable_self_critique=True,
    reflection_frequency="after_task",  # or "periodic", "never"
    quality_threshold=0.8,
    auto_correction=True
)

config = Config(
    model="gpt-4",
    feedback_config=feedback_config
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, FeedbackConfig

feedback_config = FeedbackConfig(
    enable_self_critique=True,
    reflection_frequency="after_task",  # or "periodic", "never"
    quality_threshold=0.8,
    auto_correction=True
)

config = Config(
    model="gpt-4",
    feedback_config=feedback_config
)

agent = HermesAgent(config)

Constraints and Safety

约束与安全

python
from hermes_agent import HermesAgent, Config, ConstraintConfig

constraints = ConstraintConfig(
    max_iterations=10,
    timeout_seconds=300,
    max_tool_calls_per_turn=5,
    blocked_operations=["rm -rf", "DROP TABLE"],
    require_approval_for=["file_delete", "api_payment"]
)

config = Config(
    model="gpt-4",
    constraint_config=constraints
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, ConstraintConfig

constraints = ConstraintConfig(
    max_iterations=10,
    timeout_seconds=300,
    max_tool_calls_per_turn=5,
    blocked_operations=["rm -rf", "DROP TABLE"],
    require_approval_for=["file_delete", "api_payment"]
)

config = Config(
    model="gpt-4",
    constraint_config=constraints
)

agent = HermesAgent(config)

Memory Management

内存管理

python
from hermes_agent import HermesAgent, Config

config = Config(model="gpt-4")
agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config

config = Config(model="gpt-4")
agent = HermesAgent(config)

Inspect memory

Inspect memory

episodic = agent.memory.get_episodic(last_n=10) semantic = agent.memory.get_semantic(topic="python programming") skills = agent.memory.get_skills()
episodic = agent.memory.get_episodic(last_n=10) semantic = agent.memory.get_semantic(topic="python programming") skills = agent.memory.get_skills()

Clear specific memory types

Clear specific memory types

agent.memory.clear_episodic() # Clear conversation history agent.memory.clear_semantic(topic="outdated_info")
agent.memory.clear_episodic() # Clear conversation history agent.memory.clear_semantic(topic="outdated_info")

Export/Import memory

Export/Import memory

agent.memory.export("backup.json") agent.memory.import_from("backup.json")
undefined
agent.memory.export("backup.json") agent.memory.import_from("backup.json")
undefined

Real-World Examples

实际应用示例

Personal Knowledge Assistant

个人知识助手

python
from hermes_agent import HermesAgent, Config, MemoryConfig, ToolConfig

memory_config = MemoryConfig(
    episodic_enabled=True,
    semantic_enabled=True,
    retention_days=365,
    auto_consolidate=True
)

tool_config = ToolConfig(
    enable_file_operations=True,
    enable_web_browsing=True
)

config = Config(
    model="gpt-4",
    memory_config=memory_config,
    tool_config=tool_config,
    system_prompt="""You are a personal knowledge assistant.
    Learn from all our interactions and help me recall information,
    make connections, and build on past conversations."""
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, MemoryConfig, ToolConfig

memory_config = MemoryConfig(
    episodic_enabled=True,
    semantic_enabled=True,
    retention_days=365,
    auto_consolidate=True
)

tool_config = ToolConfig(
    enable_file_operations=True,
    enable_web_browsing=True
)

config = Config(
    model="gpt-4",
    memory_config=memory_config,
    tool_config=tool_config,
    system_prompt="""You are a personal knowledge assistant.
    Learn from all our interactions and help me recall information,
    make connections, and build on past conversations."""
)

agent = HermesAgent(config)

Over time, agent builds up knowledge about user preferences, projects, etc.

Over time, agent builds up knowledge about user preferences, projects, etc.

agent.chat("I'm working on a new Python project for data analysis")
agent.chat("I'm working on a new Python project for data analysis")

Days later...

Days later...

agent.chat("What was that project I mentioned last week?")
undefined
agent.chat("What was that project I mentioned last week?")
undefined

Development Automation Agent

开发自动化Agent

python
from hermes_agent import HermesAgent, Config, ToolConfig, LearningConfig

tool_config = ToolConfig(
    enable_code_execution=True,
    enable_file_operations=True,
    enable_shell_commands=True
)

learning_config = LearningConfig(
    auto_create_skills=True,
    skill_refinement=True
)

config = Config(
    model="claude-3-5-sonnet-20241022",
    tool_config=tool_config,
    learning_config=learning_config,
    system_prompt="You are a development automation specialist."
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, ToolConfig, LearningConfig

tool_config = ToolConfig(
    enable_code_execution=True,
    enable_file_operations=True,
    enable_shell_commands=True
)

learning_config = LearningConfig(
    auto_create_skills=True,
    skill_refinement=True
)

config = Config(
    model="claude-3-5-sonnet-20241022",
    tool_config=tool_config,
    learning_config=learning_config,
    system_prompt="You are a development automation specialist."
)

agent = HermesAgent(config)

Agent learns common development patterns and creates skills

Agent learns common development patterns and creates skills

agent.chat("Set up a new FastAPI project with PostgreSQL") agent.chat("Add authentication with JWT") agent.chat("Create CRUD endpoints for a User model")
agent.chat("Set up a new FastAPI project with PostgreSQL") agent.chat("Add authentication with JWT") agent.chat("Create CRUD endpoints for a User model")

Agent creates reusable skills for these common patterns

Agent creates reusable skills for these common patterns

undefined
undefined

Content Creation Pipeline

内容创作流水线

python
from hermes_agent import HermesAgent, AgentTeam, Config

researcher = HermesAgent(Config(
    model="gpt-4",
    system_prompt="Research topics and gather information.",
    tool_config=ToolConfig(enable_web_browsing=True)
))

writer = HermesAgent(Config(
    model="claude-3-5-sonnet-20241022",
    system_prompt="Create engaging, well-structured content."
))

editor = HermesAgent(Config(
    model="gpt-4",
    system_prompt="Review and refine content for clarity and quality."
))

team = AgentTeam(agents=[researcher, writer, editor])
python
from hermes_agent import HermesAgent, AgentTeam, Config

researcher = HermesAgent(Config(
    model="gpt-4",
    system_prompt="Research topics and gather information.",
    tool_config=ToolConfig(enable_web_browsing=True)
))

writer = HermesAgent(Config(
    model="claude-3-5-sonnet-20241022",
    system_prompt="Create engaging, well-structured content."
))

editor = HermesAgent(Config(
    model="gpt-4",
    system_prompt="Review and refine content for clarity and quality."
))

team = AgentTeam(agents=[researcher, writer, editor])

Automated content pipeline

Automated content pipeline

result = team.execute( "Create a comprehensive blog post about Hermes Agent framework" )
undefined
result = team.execute( "Create a comprehensive blog post about Hermes Agent framework" )
undefined

CLI Usage

CLI使用

If Hermes provides a command-line interface:
bash
undefined
如果Hermes提供命令行界面:
bash
undefined

Start interactive session

Start interactive session

hermes chat
hermes chat

With specific model

With specific model

hermes chat --model gpt-4
hermes chat --model gpt-4

Load skills from directory

Load skills from directory

hermes chat --skills ./my_skills
hermes chat --skills ./my_skills

Enable debug mode

Enable debug mode

hermes chat --debug
hermes chat --debug

One-off command

One-off command

hermes exec "analyze this CSV: data.csv"
hermes exec "analyze this CSV: data.csv"

Manage memory

Manage memory

hermes memory export backup.json hermes memory import backup.json hermes memory clear --episodic
hermes memory export backup.json hermes memory import backup.json hermes memory clear --episodic

List learned skills

List learned skills

hermes skills list
hermes skills list

Export a skill

Export a skill

hermes skills export web_scraper > web_scraper.py
undefined
hermes skills export web_scraper > web_scraper.py
undefined

Troubleshooting

故障排除

Memory Not Persisting

记忆未持久化

python
undefined
python
undefined

Ensure memory path is writable

Ensure memory path is writable

import os from hermes_agent import HermesAgent, Config
memory_path = "./hermes_memory" os.makedirs(memory_path, exist_ok=True)
config = Config( model="gpt-4", memory_path=memory_path, auto_save=True # Enable automatic saving )
agent = HermesAgent(config)
undefined
import os from hermes_agent import HermesAgent, Config
memory_path = "./hermes_memory" os.makedirs(memory_path, exist_ok=True)
config = Config( model="gpt-4", memory_path=memory_path, auto_save=True # Enable automatic saving )
agent = HermesAgent(config)
undefined

Skills Not Loading

技能未加载

python
undefined
python
undefined

Verify skills directory structure

Verify skills directory structure

from hermes_agent import HermesAgent, Config
config = Config( model="gpt-4", skills_path="./skills", debug=True # Enable debug logging )
agent = HermesAgent(config)
from hermes_agent import HermesAgent, Config
config = Config( model="gpt-4", skills_path="./skills", debug=True # Enable debug logging )
agent = HermesAgent(config)

Check loaded skills

Check loaded skills

print(agent.list_skills())
undefined
print(agent.list_skills())
undefined

High Token Usage

Token使用量过高

python
from hermes_agent import HermesAgent, Config, MemoryConfig
python
from hermes_agent import HermesAgent, Config, MemoryConfig

Optimize memory retrieval

Optimize memory retrieval

memory_config = MemoryConfig( max_episodic_context=5, # Limit conversation history semantic_relevance_threshold=0.7, # Only retrieve relevant memories consolidation_frequency="daily" # Compress old memories )
config = Config( model="gpt-4", memory_config=memory_config, max_tokens=2000 # Limit response length )
agent = HermesAgent(config)
undefined
memory_config = MemoryConfig( max_episodic_context=5, # Limit conversation history semantic_relevance_threshold=0.7, # Only retrieve relevant memories consolidation_frequency="daily" # Compress old memories )
config = Config( model="gpt-4", memory_config=memory_config, max_tokens=2000 # Limit response length )
agent = HermesAgent(config)
undefined

Tool Execution Failures

工具执行失败

python
from hermes_agent import HermesAgent, Config, ToolConfig

tool_config = ToolConfig(
    timeout_seconds=30,
    retry_attempts=3,
    error_handling="graceful",  # vs "strict"
    log_tool_calls=True
)

config = Config(
    model="gpt-4",
    tool_config=tool_config
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config, ToolConfig

tool_config = ToolConfig(
    timeout_seconds=30,
    retry_attempts=3,
    error_handling="graceful",  # vs "strict"
    log_tool_calls=True
)

config = Config(
    model="gpt-4",
    tool_config=tool_config
)

agent = HermesAgent(config)

Rate Limiting Issues

速率限制问题

python
from hermes_agent import HermesAgent, Config

config = Config(
    model="gpt-4",
    rate_limit_rpm=20,  # Requests per minute
    backoff_strategy="exponential",
    retry_on_rate_limit=True
)

agent = HermesAgent(config)
python
from hermes_agent import HermesAgent, Config

config = Config(
    model="gpt-4",
    rate_limit_rpm=20,  # Requests per minute
    backoff_strategy="exponential",
    retry_on_rate_limit=True
)

agent = HermesAgent(config)

Best Practices

最佳实践

  1. Start Simple: Begin with basic configuration and add complexity as needed
  2. Enable Memory: Hermes's strength is learning over time - enable all memory systems
  3. Curate Skills: Review auto-created skills periodically and refine them
  4. Set Constraints: Always configure safety constraints for production use
  5. Monitor Token Usage: Use memory consolidation to manage costs
  6. Version Skills: Export and version control important skills
  7. Use Teams Wisely: Specialized agents work better than one generalist for complex tasks
  8. Provide Feedback: The more feedback in the loop, the better Hermes learns
  1. 从简开始:先使用基础配置,再根据需求增加复杂度
  2. 启用记忆:Hermes的优势在于长期学习——启用所有记忆系统
  3. 整理技能:定期审核自动创建的技能并优化
  4. 设置约束:生产环境中务必配置安全约束
  5. 监控Token使用:通过记忆整合控制成本
  6. 版本化技能:导出并版本控制重要技能
  7. 合理使用团队:处理复杂任务时,专用Agent比通用Agent效果更好
  8. 提供反馈:反馈循环越完善,Hermes的学习效果越好

Resources

资源