mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-03 02:11:48 +00:00
55 lines
2.9 KiB
Markdown
55 lines
2.9 KiB
Markdown
# Product Context: Hermes-Agent
|
|
|
|
## Why This Project Exists
|
|
|
|
Hermes-Agent addresses several key challenges in the AI agent space:
|
|
|
|
1. **Unified Tool Interface** - Provides a clean, consistent interface for LLMs to use various tools (web, terminal, browser, vision, etc.) without requiring custom integration for each model provider.
|
|
|
|
2. **Training Data Generation** - Enables efficient generation of high-quality tool-calling trajectories for fine-tuning LLMs, with features like batch processing, checkpointing, and trajectory compression.
|
|
|
|
3. **Flexible Deployment** - Supports multiple execution environments (local, Docker, Singularity, Modal, SSH) to accommodate different security and isolation requirements.
|
|
|
|
4. **Developer Experience** - Offers a beautiful, interactive CLI with kawaii-style feedback that makes working with AI agents enjoyable.
|
|
|
|
## Problems It Solves
|
|
|
|
### For AI Researchers
|
|
- **Data Generation at Scale**: Parallel batch processing with content-based checkpointing for fault tolerance
|
|
- **Clean Trajectories**: Trajectory compression to fit token budgets while preserving important information
|
|
- **Toolset Distributions**: Probability-based tool selection for varied training data
|
|
|
|
### For Developers
|
|
- **Tool Orchestration**: Logical grouping of tools into toolsets (research, development, debugging, etc.)
|
|
- **Session Persistence**: Conversation history and session logging for debugging
|
|
- **Multi-Model Support**: Works with any OpenAI-compatible API (OpenRouter, local models, etc.)
|
|
|
|
### For MLOps
|
|
- **Skills System**: On-demand knowledge documents for specific tools/frameworks (Axolotl, vLLM, TRL, etc.)
|
|
- **Sandboxed Execution**: Terminal commands can run in isolated environments (Docker, Singularity, Modal)
|
|
- **Configurable Backends**: Easy switching between local and cloud execution
|
|
|
|
## How It Should Work
|
|
|
|
### User Flow (CLI)
|
|
1. User launches `./hermes`
|
|
2. Beautiful welcome banner displays with caduceus logo, model info, and available tools
|
|
3. User types a natural language request
|
|
4. Agent processes request, potentially calling tools with animated feedback
|
|
5. Agent responds with results, conversation continues
|
|
6. Session is automatically logged for debugging
|
|
|
|
### User Flow (Batch Processing)
|
|
1. User prepares JSONL file with prompts
|
|
2. Runs `batch_runner.py` with distribution and worker count
|
|
3. System processes prompts in parallel, saves checkpoints
|
|
4. Completed trajectories saved to `data/<run_name>/trajectories.jsonl`
|
|
5. Optional: compress trajectories with `trajectory_compressor.py`
|
|
|
|
## User Experience Goals
|
|
|
|
- **Delightful Interaction**: Kawaii ASCII faces, animated spinners, cute messages
|
|
- **Informative Feedback**: Clear progress indication during tool execution
|
|
- **Configurable Personalities**: From "helpful" to "pirate" to "Shakespeare"
|
|
- **Easy Configuration**: YAML config file + environment variables + CLI flags
|
|
- **Graceful Degradation**: Missing tools/APIs don't break the system, just disable features
|