Self-Evolving RAG for AI Agents — A cross-app persistent memory system where agents autonomously write, retrieve, and evolve their knowledge
Project description
Core Concept
Traditional RAG
|
Self-Evolving RAG
|
Key Differences:
| Traditional RAG | Adaptive Agent MCP | |
|---|---|---|
| Read | Retrieves pre-indexed documents | Dynamically accumulates at runtime |
| Write | Human-maintained knowledge base | Agent writes autonomously |
| Scope | Generic knowledge | User-specific memory |
| State | Static data | Continuously evolves |
How It Works
In Claude Code: "Remember, I prefer TypeScript"
↓
Agent automatically calls:
• append_daily_log() → Record to daily log
• update_preference() → Update preferences
• extract_knowledge() → Extract knowledge graph
↓
In Antigravity: "What are my coding preferences?"
↓
AI: "You prefer TypeScript"
Teach once, remember forever. Share across apps, never forget.
Getting Started
Prerequisites
- Python 3.10+
- Ripgrep (
rg): REQUIRED for full-text search. (Windows:choco install ripgrep, macOS:brew install ripgrep) - SQLite: Handled automatically by Python.
Configuration (v0.6.0)
Configuration is managed via Environment Variables.
1. mcp.json Structure
{
"mcpServers": {
"adaptive-agent-mcp": {
"command": "uvx",
"args": ["adaptive-agent-mcp"],
"env": {
"ADAPTIVE_STORAGE_PATH": "C:/Users/YourName/.adaptive-agent/memory",
"ADAPTIVE_EMBEDDING_PROVIDER": "openai_compatible",
"ADAPTIVE_EMBEDDING_BASE_URL": "https://api.siliconflow.cn/v1",
"ADAPTIVE_EMBEDDING_API_KEY": "sk-your-siliconflow-key",
"ADAPTIVE_EMBEDDING_MODEL": "Qwen/Qwen2.5-Coder-7B-Instruct",
"ADAPTIVE_RERANK_PROVIDER": "cohere_compatible",
"ADAPTIVE_RERANK_BASE_URL": "https://api.siliconflow.cn/v1",
"ADAPTIVE_RERANK_API_KEY": "sk-your-siliconflow-key",
"ADAPTIVE_RERANK_MODEL": "BAAI/bge-reranker-v2-m3"
}
}
}
}
2. Environment Variables
All variables are prefixed with ADAPTIVE_.
| Variable | Description | Default |
|---|---|---|
ADAPTIVE_STORAGE_PATH |
Storage location | ~/.adaptive-agent/memory |
ADAPTIVE_RIPGREP_PATH |
Path to rg executable |
Auto-detect |
ADAPTIVE_EMBEDDING_PROVIDER |
Embedding provider (openai_compatible) |
openai_compatible |
ADAPTIVE_EMBEDDING_BASE_URL |
API Endpoint | None |
ADAPTIVE_EMBEDDING_API_KEY |
API Key | None |
ADAPTIVE_EMBEDDING_MODEL |
Embedding Model | Qwen/Qwen3-Embedding-8B |
ADAPTIVE_RERANK_PROVIDER |
Rerank provider (cohere_compatible) |
cohere_compatible |
ADAPTIVE_RERANK_BASE_URL |
API Endpoint | None |
ADAPTIVE_RERANK_API_KEY |
API Key | None |
ADAPTIVE_RERANK_MODEL |
Reranker Model | Qwen/Qwen3-Reranker-8B |
Default storage path:
~/.adaptive-agent/memory. All apps share the same memory.
Enhance Agent Memory Behavior (Optional)
If your AI doesn't actively read/write memory, add this to your system prompt or user rules:
## Memory System Instructions
- At the start of each conversation, call `initialize_session` to load user preferences.
- When user says "remember", "save", or expresses preferences, call `update_preference` or `append_daily_log`.
- After completing tasks, briefly record progress using `append_daily_log`.
- When user asks about past conversations, use `query_memory_headers` or `search_memory_content`.
Features
| Feature | Description | Version |
|---|---|---|
| Three-Layer Memory | MEMORY.md + Daily Logs + Knowledge Items | v0.1.0 |
| Scope Isolation | project:xxx, app:xxx, global |
v0.2.0 |
| Concurrent Safety | Cross-process file locking + async locks | v0.3.0 |
| Incremental Indexing | mtime-based smart updates | v0.3.0 |
| Hybrid Search | Vector + FTS5 with RRF fusion | v0.6.0 |
| Area Partitioning | Scope-based knowledge routing | v0.6.0 |
| Knowledge Graph | NetworkX-based entity relations | v0.5.0 |
| Async Foundation | Non-blocking I/O throughout | v0.6.0 |
Available Tools (14 tools)
Session & Retrieval
| Tool | Description |
|---|---|
initialize_session |
Initialize session with user profile and recent context |
query_memory_headers |
Index scan — browse memory file metadata |
read_memory_content |
Read complete memory file content |
search_memory_content |
Full-text search using ripgrep |
Memory & Knowledge
| Tool | Description |
|---|---|
update_preference |
Intelligently update user preferences |
append_daily_log |
Append content to daily log or knowledge items |
query_knowledge |
Hybrid search (Vector + FTS5 + RRF fusion) with browse fallback |
delete_knowledge |
Soft-delete knowledge items |
get_period_context |
Aggregate weekly/monthly logs for summaries |
archive_period |
Save period summaries |
Knowledge Graph
| Tool | Description |
|---|---|
extract_knowledge |
Extract entity relations from text |
add_knowledge_relation |
Manually add relations |
query_knowledge_graph |
Query entities, relations, or stats |
multi_hop_query |
Multi-hop reasoning queries |
Storage Structure
~/.adaptive-agent/memory/
├── MEMORY.md # User preferences (scope-based)
├── knowledge/
│ └── areas/
│ ├── general/items.json # Global knowledge
│ ├── chat/items.json # Chat-scope knowledge
│ ├── coding/items.json # Coding-scope knowledge
│ ├── writing/items.json # Writing-scope knowledge
│ └── projects/{name}/items.json # Project-specific knowledge
├── .index/
│ ├── vectors.db # SQLite + sqlite-vec + FTS5
│ └── index.json # Indexer metadata
├── .graph/
│ └── knowledge.json # NetworkX graph
├── .locks/ # File lock directory
└── memory/
└── 2026/
└── 02_february/
└── week_07/
└── 2026-02-10.md # Daily logs
Data Safety
- Isolated storage: Data stored in
~/.adaptive-agent/memory, independent of uvx installation - Concurrent safety: filelock prevents data corruption from multiple clients
- Human-readable: All data in Markdown/JSON format, easy to backup and version control
Documentation
- Architecture Design (Chinese)
- Local Model Setup
- Changelog
License
MIT License - See LICENSE for details.
Adaptive Agent MCP — Where agents learn, remember, and evolve.
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 adaptive_agent_mcp-0.6.0.tar.gz.
File metadata
- Download URL: adaptive_agent_mcp-0.6.0.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0rc2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17ded4b0cf3d8a6b835ccc14284b6dac5f2a460940229587c892db2e9ce47435
|
|
| MD5 |
187890d69c560bc892a70bc44259a77d
|
|
| BLAKE2b-256 |
0b364a6ca2399da39a2c4054e3989332407d6805873d3a35c7ca9e8f968aa200
|
File details
Details for the file adaptive_agent_mcp-0.6.0-py3-none-any.whl.
File metadata
- Download URL: adaptive_agent_mcp-0.6.0-py3-none-any.whl
- Upload date:
- Size: 46.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0rc2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec634e81aa01e809f7eabdb0584f6514eaf267710d2582fa41292a46e024e119
|
|
| MD5 |
dbb9dd38bfc8d0e9bd81b2807f677e54
|
|
| BLAKE2b-256 |
540a4740d2c90644e6bbf6ffbc3b796bd43027c0cd844287bba6bd33ed0644b5
|