# 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

Збирає сигнали якості:

1. 👍 / 👎

2. Правки користувача (коли людина переписує відповідь)

3. Маркери:

   - «не по темі»
   - «неправильна відповідь»
   - «занадто загально»
   - «довго»

4. Explicit Correction  
   Користувач каже:  
   > «Замість цього говори так…»

Усе це зберігається як *мета-телеметрія*.

---

## 3.2. Pattern Analyzer

Раз на N діалогів/годин agent запускає self-review job.

Він виявляє:

- повторювані типи питань,
- категорії помилок,
- патерни, де агент слабкий,
- пропущені інструкції.

---

## 3.3. Improvement Generator

Генерує пропозиції змін:

Типи змін:

1. Нове правило (instruction)

2. Новий шаблон відповіді

3. FAQ-елементи

4. Новий «skill»  
   (регулярний патерн → мікро-інструмент / chain)

5. Мета-тести  
   (питання, з якими агент має справлятися)

Приклади:

- «Додавати приклади у відповідях команді design.»  
- «Уникай надто формального тону в каналi #marketing.»  
- «Коли питають про дедлайни — уточнюй контекст.»

---

## 3.4. User Approval Layer (Manual Control)

Агент НІКОЛИ не застосовує зміни сам.

Формує список пропозицій у вигляді:

```
• Пропозиція №17
Тип: Нове правило
Текст: "Якщо user → українська, відповідай українською."
Джерело: 13 подібних ситуацій.
[Прийняти] [Відхилити] [Редагувати]
```

Це ключова відмінність 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)

Список:

```
• Пропозиція №23
Тип: FAQ
Тема: «Як додати нового учасника?»
Згенеровано: Meta-Agent
→ [Прийняти] [Відхилити] [Редагувати]
```

---

## 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

Користувач бачить:

```
Ми використали 3 нові патерни вашої спільноти.
Винагорода: +17 1T
```

---

# 8. MVP того, що реально зробити зараз

### MVP-версія:

- збір фідбеків (👍/👎),
- ручний запуск self-review,
- генерація 1–3 пропозицій правил,
- вручну додане рев'ю у UI,
- зберігання версій у JSON.

### Наступні етапи:

- кластеризація помилок,
- автоматичні тест-кейси,
- DAGI-підключення,
- мікромоделі LoRA.

---

# 9. Завдання для Cursor (шаблон)

```
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
```

---

# 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`);
}
```

## 10.2. Компоненти UI

Створити нову структуру:

```
src/features/agent-evolution/
  AgentEvolutionTab.tsx
  SuggestionsList.tsx
  VersionHistory.tsx
  MemoryView.tsx
  FeedbackButtons.tsx
  hooks/
    useAgentEvolution.ts
    useSuggestions.ts
```

## 10.3. State Management

Використовувати React Query для кешування та синхронізації:

```ts
const { data: suggestions } = useQuery({
  queryKey: ['agent-suggestions', agentId],
  queryFn: () => getAgentSuggestions(agentId),
});
```

---

# 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;
}
```

## 11.2. AgentVersion

```ts
interface AgentVersion {
  version: string;
  createdAt: string;
  rules: Rule[];
  skills: Skill[];
  memoryDiff: MemoryDiff;
  changes: Change[];
}
```

## 11.3. Feedback

```ts
interface Feedback {
  id: string;
  messageId: string;
  type: 'positive' | 'negative' | 'correction';
  content?: string; // для explicit correction
  createdAt: string;
}
```

---

# 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.


