15 KiB
09 — Evolutionary Agent (Self-Improving AI) for MicroDAO
Цей документ описує архітектуру та принципи роботи самонавчального агента MicroDAO.
Агент вміє:
- аналізувати свої відповіді,
- виявляти помилки і прогалини,
- створювати пропозиції покращень,
- еволюціонувати через зміни правил, FAQ, мікро-навичок,
- вчитись на поведінці клієнтів та спільноти,
- надавати журнали змін (версії),
- взаємодіяти з DAGI через анонімізований Train-to-Earn.
1. Мета
Створити особистого eволюційного агента для кожної microDAO:
- приватного,
- адаптивного,
- підконтрольного користувачу,
- який стає розумнішим з часом,
- але не змінює глобальну LLM-модель,
- а накопичує власний досвід: правила, пам'ять, патерни, мікро-навички.
Це перетворює microDAO на живий цифровий організм, який виростає з досвіду команди.
2. Архітектура (3 рівні мозку)
Еволюційний агент складається з трьох шарів.
2.1. Рівень 0 — Базова LLM (Frozen Model)
- GPT/Claude/локальна модель.
- Не модифікується.
- Відповідає за мовні і логічні здібності.
2.2. Рівень 1 — Пам'ять та контекст
- Контекст сесій.
- Векторна пам'ять (Co-Memory microDAO).
- Профіль агента (тон, роль, лексика, мова).
- Налаштування приватності та доступу.
Працює як «довгострокова кора».
2.3. Рівень 2 — Meta-Agent (Self-Improvement Layer)
Це ядро еволюції.
Включає:
- аналіз діалогів,
- фідбеки користувачів,
- пошук недоліків,
- генерацію покращень,
- контроль застосування,
- трекінг версій.
3. Компоненти Meta-Agent
3.1. Feedback Collector
Збирає сигнали якості:
-
👍 / 👎
-
Правки користувача (коли людина переписує відповідь)
-
Маркери:
- «не по темі»
- «неправильна відповідь»
- «занадто загально»
- «довго»
-
Explicit Correction
Користувач каже:«Замість цього говори так…»
Усе це зберігається як мета-телеметрія.
3.2. Pattern Analyzer
Раз на N діалогів/годин agent запускає self-review job.
Він виявляє:
- повторювані типи питань,
- категорії помилок,
- патерни, де агент слабкий,
- пропущені інструкції.
3.3. Improvement Generator
Генерує пропозиції змін:
Типи змін:
-
Нове правило (instruction)
-
Новий шаблон відповіді
-
FAQ-елементи
-
Новий «skill»
(регулярний патерн → мікро-інструмент / chain) -
Мета-тести
(питання, з якими агент має справлятися)
Приклади:
- «Додавати приклади у відповідях команді design.»
- «Уникай надто формального тону в каналi #marketing.»
- «Коли питають про дедлайни — уточнюй контекст.»
3.4. User Approval Layer (Manual Control)
Агент НІКОЛИ не застосовує зміни сам.
Формує список пропозицій у вигляді:
• Пропозиція №17
Тип: Нове правило
Текст: "Якщо user → українська, відповідай українською."
Джерело: 13 подібних ситуацій.
[Прийняти] [Відхилити] [Редагувати]
```text
Це ключова відмінність MicroDAO від централізованих систем:
**користувач контролює еволюцію інтелекту.**
---
## 3.5. Versioning Engine
Веде історію еволюції:
- v0 — чистий агент
- v1 — після перших 20 діалогів
- v2 — після 100 діалогів
- …
Кожна версія містить:
- список правил,
- diff памʼяті,
- список навичок,
- історію змін.
UI показує «дерево еволюції».
---
## 4. UI/UX модуля "Еволюція агента"
## 4.1. Вкладка 1 — Огляд
Показує:
- версію агента,
- скільки правил застосовано,
- скільки покращень очікує.
---
## 4.2. Вкладка 2 — Памʼять
Показує:
- які факти агент зберіг,
- що він знає про команду,
- ключові поняття та терміни.
Кнопка:
- «Очистити коротку пам'ять»
- «Показати довгострокові факти»
---
## 4.3. Вкладка 3 — Самонавчання
Перемикачі:
- `[x] Самонавчання увімкнено`
- Рівень:
- `Базовий`
- `Розширений`
- Джерела:
- `[x] Діалоги в цій спільноті`
- `[ ] Всі мої microDAO`
- `[ ] Анонімізований внесок у DAGI (Train-to-Earn)`
---
## 4.4. Вкладка 4 — Пропозиції покращень (Actionable Insights)
Список:
```text
• Пропозиція №23
Тип: FAQ
Тема: «Як додати нового учасника?»
Згенеровано: Meta-Agent
→ [Прийняти] [Відхилити] [Редагувати]
```text
---
## 4.5. Вкладка 5 — Журнал Еволюції (Versions)
Хронологічне дерево змін.
---
## 5. Логіка самонавчання (алгоритм)
## 5.1. Тригер self-review
Self-review запускається коли:
- кожні 50 повідомлень,
- або щогодини,
- або вручну.
## 5.2. Self-review pipeline
1. витягує останні діалоги
2. фільтрує по негативних сигналах
3. кластеризує помилки
4. генерує пропозиції
5. оцінює важливість
6. показує користувачу для схвалення
---
## 6. API для еволюційного агента
Додаємо нові ендпоїнти:
### GET /agents/{id}/evolution
Історія еволюції.
### GET /agents/{id}/suggestions
Список пропозицій meta-agent.
### POST /agents/{id}/suggestions/{sid}/accept
Застосувати пропозицію.
### POST /agents/{id}/suggestions/{sid}/reject
Відхилити.
### POST /agents/{id}/suggestions/{sid}/edit
Внести зміну вручну.
### POST /agents/{id}/memory/update
Оновити довгострокову памʼять агента.
---
## 7. Як працює Train-to-Earn
Коли користувач вмикає цю опцію:
- meta-agent генерує анонімізовані патерни
- агрегує їх (без текстів, без персональних даних)
- відправляє в DAGI
- DAGI оцінює їхню цінність
- видає винагороду у вигляді 1T або іншого токена
- microDAO отримує reward
Користувач бачить:
```text
Ми використали 3 нові патерни вашої спільноти.
Винагорода: +17 1T
```text
---
## 8. MVP того, що реально зробити зараз
### MVP-версія
- збір фідбеків (👍/👎),
- ручний запуск self-review,
- генерація 1–3 пропозицій правил,
- вручну додане рев'ю у UI,
- зберігання версій у JSON.
### Наступні етапи
- кластеризація помилок,
- автоматичні тест-кейси,
- DAGI-підключення,
- мікромоделі LoRA.
---
## 9. Завдання для Cursor (шаблон)
```text
You are a senior React/TS and backend engineer.
Implement the Self-Improving Agent module using:
* 09_evolutionary_agent.md
* 03_api_core_snapshot.md
* 05_coding_standards.md
Tasks:
1. Create UI: Agent → Evolution tab.
2. Show suggestions list (stub data).
3. Implement actions: accept/reject/edit (client-only).
4. Add version history (client-only).
5. Add feedback buttons 👍/👎 to agent messages.
Output:
* list of files
* diff
* summary
```text
---
## 10. Інтеграція з існуючим кодом
## 10.1. Використання API клієнтів
Розширити існуючий `src/api/agents.ts` для підтримки нових ендпоїнтів:
```ts
// Додати до agents.ts
export async function getAgentEvolution(agentId: string) {
return apiClient.get(`/agents/${agentId}/evolution`);
}
export async function getAgentSuggestions(agentId: string) {
return apiClient.get(`/agents/${agentId}/suggestions`);
}
export async function acceptSuggestion(agentId: string, suggestionId: string) {
return apiClient.post(`/agents/${agentId}/suggestions/${suggestionId}/accept`);
}
```text
## 10.2. Компоненти UI
Створити нову структуру:
```text
src/features/agent-evolution/
AgentEvolutionTab.tsx
SuggestionsList.tsx
VersionHistory.tsx
MemoryView.tsx
FeedbackButtons.tsx
hooks/
useAgentEvolution.ts
useSuggestions.ts
```text
## 10.3. State Management
Використовувати React Query для кешування та синхронізації:
```ts
const { data: suggestions } = useQuery({
queryKey: ['agent-suggestions', agentId],
queryFn: () => getAgentSuggestions(agentId),
});
```text
---
## 11. Типи даних
## 11.1. Suggestion
```ts
interface Suggestion {
id: string;
type: 'rule' | 'faq' | 'skill' | 'template';
title: string;
description: string;
source: {
type: 'feedback' | 'pattern' | 'explicit';
count: number;
examples: string[];
};
status: 'pending' | 'accepted' | 'rejected' | 'edited';
createdAt: string;
}
```text
## 11.2. AgentVersion
```ts
interface AgentVersion {
version: string;
createdAt: string;
rules: Rule[];
skills: Skill[];
memoryDiff: MemoryDiff;
changes: Change[];
}
```text
## 11.3. Feedback
```ts
interface Feedback {
id: string;
messageId: string;
type: 'positive' | 'negative' | 'correction';
content?: string; // для explicit correction
createdAt: string;
}
```text
---
## 12. Тестування
## 12.1. Unit Tests
- Тести для `FeedbackCollector`
- Тести для `PatternAnalyzer`
- Тести для `ImprovementGenerator`
- Тести для парсингу фідбеків
## 12.2. Integration Tests
- Тестування повного циклу: фідбек → аналіз → пропозиція → застосування
- Тестування версіонування
- Тестування API інтеграції
## 12.3. E2E Tests
- Користувач ставить 👍 → з'являється пропозиція → приймає → агент оновлюється
- Перевірка відображення історії версій
- Перевірка UI вкладок еволюції
---
## 13. Безпека та приватність
## 13.1. Контроль доступу
- Тільки власник/адміністратор microDAO може застосовувати зміни
- Фідбек може залишати будь-який учасник
- Історія еволюції доступна тільки для адмінів
## 13.2. Анонімізація для DAGI
Перед відправкою в DAGI:
- Видаляти персональні дані
- Видаляти конкретні тексти діалогів
- Залишати тільки патерни та структури
- Агрегувати дані
## 13.3. Валідація змін
- Перевірка на шкідливий контент
- Перевірка на порушення правил спільноти
- Модерація перед застосуванням
---
## 14. Продуктивність
## 14.1. Оптимізація self-review
- Запускати в фоні
- Кешувати результати аналізу
- Обмежувати кількість одночасних аналізів
## 14.2. Оптимізація пам'яті
- Архівувати старі версії
- Стискати дані
- Використовувати векторні БД для ефективного пошуку
---
## 15. Майбутні покращення
## 15.1. Розширений аналіз
- Використання LLM для кластеризації помилок
- Автоматичне виявлення патернів
- Предиктивне покращення
## 15.2. LoRA Fine-tuning
- Створення мікромоделей для конкретних спільнот
- Локальне навчання без зміни базової моделі
- Персоналізація на рівні моделі
## 15.3. Спільне навчання
- Обмін анонімізованими патернами між microDAO
- Колективна еволюція
- Рейтинг найкращих практик
---
## 16. Результат
Еволюційний агент стає серцем MicroDAO:
він вчиться, адаптується, росте — і належить спільноті.
Кожна microDAO отримує унікального інтелектуального помічника, який:
- розуміє контекст спільноти,
- адаптується до стилю комунікації,
- покращується з часом,
- залишається під повним контролем користувача,
- може співпрацювати з глобальною мережею через DAGI.
---
**Готово.**
Це **повна специфікація еволюційного агента**, готова до використання в Cursor.