Files
microdao-daarion/docs/cursor/09_evolutionary_agent.md
2026-02-16 07:38:52 -08:00

15 KiB
Raw Blame History

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 подібних ситуацій.
[Прийняти] [Відхилити] [Редагувати]
```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,
- генерація 13 пропозицій правил,
- вручну додане рев'ю у 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.