Self-evolving AI agents via LoRA โ Just talk to your agent, it learns.
Project description
๐ฆ EvoClaw
Just talk to your agent โ it learns and EVOLVES.
EvoClaw turns live conversations into continuous training data โ automatically.
Works with any OpenAI-compatible API. Uses free Groq for PRM scoring. Trains with Tinker cloud LoRA.
๐ฅ What is EvoClaw?
EvoClaw wraps your existing AI agent behind an OpenAI-compatible proxy. Every conversation is:
- Scored by a PRM (Process Reward Model) via Groq
- Skills extracted from high-quality responses and stored
- Skills injected into future prompts (immediate improvement, no retraining needed)
- Failed turns trigger automatic skill evolution via LLM
- All turns feed Tinker LoRA training (GRPO or OPD)
After every batch_size samples, updated weights are saved to Tinker โ no service interruption.
๐ Quick Start
pip install evoclaw
evoclaw init # enter your Groq + Tinker API keys
evoclaw start # proxy starts on localhost:8080
Then point your existing OpenAI client at EvoClaw:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key="any-string", # Not checked by proxy
)
# Just use it normally โ EvoClaw learns in the background
response = client.chat.completions.create(
model="llama-3.3-70b-versatile",
messages=[{"role": "user", "content": "Explain impermanent loss"}]
)
That's it. Start chatting. EvoClaw learns automatically.
๐ค Key Features
Skill Injection
At every turn, the most relevant learned skills are injected into the system prompt.
Immediate behavior improvement โ no waiting for retraining.
Skill Evolution
When the agent fails (low PRM score), EvoClaw uses an LLM to generate a new skill
that would have prevented the failure. Over time, the skill bank grows smarter.
Tinker LoRA Training
All conversations feed into online LoRA training via Tinker.
No GPU required. Updated weights are hot-swapped with no downtime.
Two Learning Modes
- GRPO: Reinforcement learning from implicit conversation rewards
- OPD: On-policy distillation from high-quality responses
Works with Any Provider
Unlike MetaClaw (OpenClaw + Kimi-2.5 only), EvoClaw works with:
- Groq (free, recommended)
- OpenAI
- Anthropic
- Any OpenAI-compatible endpoint
โ๏ธ Configuration
All settings in EvoClawConfig:
| Field | Default | Description |
|---|---|---|
model_name |
Qwen/Qwen3-4B |
Tinker base model |
lora_rank |
32 |
LoRA rank |
batch_size |
32 |
Samples before train step |
loss_fn |
importance_sampling |
grpo / opd / cross_entropy |
use_prm |
True |
PRM scoring |
prm_threshold |
0.65 |
Min score to learn from |
use_skills |
True |
Skill injection |
enable_skill_evolution |
True |
Auto-generate skills from failures |
proxy_port |
8080 |
Proxy listen port |
๐ช Skill Packs
Pre-built skills for common domains:
config = EvoClawConfig(
skill_packs=["general", "coding", "crypto", "defi", "security", "agentic"]
)
๐ Training Loop Example
python examples/run_conversation_rl.py # GRPO mode
python examples/run_conversation_rl.py --mode opd # OPD mode
python examples/run_conversation_rl.py --no-train # Skill injection only
Train from your own conversation file:
evoclaw train --file conversations.jsonl
# Format: {"user": "...", "assistant": "..."}
๐ Monitor Progress
evoclaw status # Skills + trainer status
evoclaw skills # List all learned skills
evoclaw skills --category crypto # Filter by category
๐๏ธ Architecture
User/Agent
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ EvoClaw Proxy (localhost:8080) โ
โ - Inject skills into prompt โ
โ - Forward to upstream API โ
โ - Score response async (Groq) โ
โ - Evolve skills on failure โ
โ - Feed samples to Tinker โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โผ โผ
Groq API Tinker LoRA
(responses) (training)
๐ License
MIT
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evoclaw-0.2.0.tar.gz.
File metadata
- Download URL: evoclaw-0.2.0.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efe4d21eea4d46c7313e3a8c18f73394cab02b29de557787c143a48a894063cc
|
|
| MD5 |
052e6e57bfef70574cf8bf26766753e8
|
|
| BLAKE2b-256 |
147d174acf000e802d9c4b593fb90b1caac8508a6f1311e26ef8fda94ad3a023
|
File details
Details for the file evoclaw-0.2.0-py3-none-any.whl.
File metadata
- Download URL: evoclaw-0.2.0-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4159875b5735cd60bcbc8194041dbab3ebfe9d8f26bd9a0762de00f45245280f
|
|
| MD5 |
c05125fc0dfba5a4c555391c6391e32d
|
|
| BLAKE2b-256 |
f2f90f7044ae877b3cbb7833ca33529732b6ece63811f5d7aa29b4bca4a74e11
|