Files
microdao-daarion/docs/cursor/15_projects_agent_module.md
2026-02-16 07:47:45 -08:00

378 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 15 — Projects Agent Module (MicroDAO)
Агент-проєктний менеджер для команд і спільнот
Цей документ описує агентський модуль "Проєкти" у MicroDAO — систему
управління роботою, яка повністю працює через агентів. Проєкти, задачі,
дедлайни, фоллоуапи та прогрес — це не просто дані, а живий простір, у якому
взаємодіють люди та агенти microDAO.
---
## 1. Ідея
Проєкт у MicroDAO — це:
- спільний простір роботи,
- де активні ролі мають люди та агенти,
- де задачі створюються й координуються автоматично,
- де агент проектів (Projects Agent) виступає координатором, навігатором і аналітиком.
Проєкт не існує як "сторінка". Він існує як **розмова**, **контекст**, **граф подій**, яким володіє Projects Agent.
---
## 2. Ролі агентів у модулі
## 2.1. Projects Agent (основний)
Роль: `"projects_core"`
Відповідає за:
- створення, оновлення, завершення задач;
- синхронізацію задач з каналами/чатами;
- календар дедлайнів;
- AI-саммарі проєкту;
- глибоку інтеграцію з памʼяттю для пріоритизації.
## 2.2. Task Agent
Роль: `"task_unit"`
- Опікується конкретними задачами.
- Може вести діалог про задачу у власному треді.
- Має памʼять щодо історії виконання конкретної задачі.
## 2.3. Planning Agent (опційний)
Роль: `"planning"`
- Створює дорожні карти (roadmaps),
- Пропонує структурування задач,
- Формує спринти,
- Аналізує історичні патерни роботи в microDAO.
---
## 3. Структура проєкту
Проєкт складається з:
- **Мета** (опис/маніфест),
- **Учасники** (люди й агенти),
- **Задачі**:
- backlog,
- активні,
- завершені.
- **Knowledge Space** (повʼязані документи/факти),
- **Проєктний контекст у памʼяті**:
- важливі рішення,
- визначення,
- стандарти/узгодження,
- **Канали спілкування**:
- основний канал проєкту,
- треди задач.
Проєкт і канал — різні речі, але проєкт зазвичай має прив'язаний канал для комунікації.
---
## 4. Модель задачі
Задача (`task`) має:
- `id`
- `project_id`
- `title`
- `description`
- `status`: `"new" | "in_progress" | "blocked" | "done"`
- `priority`: `"low" | "medium" | "high" | "critical"`
- `assignees`: перелік людей/агентів
- `due_at` (необовʼязково)
- `created_by` (людина або агент)
- `created_at`, `updated_at`
- `memory_thread_id` (для диалогу з Task Agent)
- `tags` (опційно)
Задача може мати чат-тред, пов'язаний з Task Agent.
---
## 5. Основні спроможності Projects Agent
## 5.1. Авто-створення задач з діалогів
Якщо в чаті зʼявляється фраза:
- "Треба зробити…"
- "Хочу щоб агент підготував…"
- "До кінця тижня потрібно…"
- "Це треба виправити."
Projects Agent може запропонувати:
> "Створити задачу для цього?"
Або може створити самостійно, якщо це дозволено правами контексту.
## 5.2. Автоматичні фоллоуапи
Projects Agent:
- відстежує дедлайни,
- нагадує виконавцю,
- пропонує оновлення статусу,
- створює автосаммарі тижня/дня.
## 5.3. Розумні саммарі проєкту
Команда може попросити:
- "Покажи прогрес по проєкту."
- "Що зроблено за останні 3 дні?"
- "Які блокери є зараз?"
Projects Agent формує відповіді через LLM + памʼять + RAG.
## 5.4. Привʼязка до каналів
Кожен проєкт має:
- основний канал,
- треди задач.
Projects Agent синхронізує зміни задач у чаті:
- статуси,
- дедлайни,
- призначення.
## 5.5. Планування і пріоритети
Projects Agent може:
- групувати задачі в спринти,
- пропонувати чергу виконання,
- аналізувати історію виконання.
---
## 6. Tools для Projects Agent
У форматі, що сумісний з Runtime Core (12).
### 6.1. Створення задач
`create_task(title, description, priority?, due_at?, assignees?)`
### 6.2. Оновлення задач
`update_task(id, fields)`
### 6.3. Призначення виконавців
`assign_task(id, assignees)`
### 6.4. Пошук задач
`search_tasks(query)`
### 6.5. Показати прогрес проєкту
`summarize_project(project_id)`
### 6.6. Створення спринтів
`create_sprint(name, tasks)`
### 6.7. Авто-фоллоуап
`auto_followup(task_id)`
---
## 7. Інтеграція з Runtime Core (12)
Projects Agent — звичайний агент:
```ts
const projectsAgentConfig: AgentConfig = {
id: "ag_projects_core",
teamId: "t_...",
name: "Projects Agent",
role: "projects_core",
systemPrompt: systemProjectsPrompt,
memoryScope: "team",
tools: [
"create_task",
"update_task",
"assign_task",
"search_tasks",
"summarize_project",
"auto_followup"
],
};
```text
Projects Agent працює з:
- памʼяттю (13),
- каналами (14),
- еволюційним агентом (09),
- LLM (11).
---
## 8. Інтеграція з памʼяттю (13)
Projects Agent використовує:
### 8.1. Short-Term Memory
- поточні обговорення задач у каналі проєкту.
### 8.2. Long-Term Memory
- ключові рішення команди,
- визначення задач і стандартів,
- історія пріоритетів.
### 8.3. Mid-Term Memory
- summary спринтів,
- переліки завершених задач,
- звіти про прогрес.
Projects Agent додає факти в памʼять:
- "Задачу X завершено 12 жовтня."
- "Проєкт переходить до етапу тестування."
---
## 9. Інтеграція з Messenger Agent (14)
Messenger Agent допомагає Projects Agent:
- показувати списки задач у чатах,
- формувати треди для задач,
- робити дайджести по каналах.
Projects Agent може викликати Messenger Agent через tools або через делегацію.
---
## 10. API для проєктів та задач
### 10.1. Projects
`GET /projects?team_id=...`
`POST /projects`
`GET /projects/:id`
`PATCH /projects/:id`
### 10.2. Tasks
`GET /projects/:id/tasks`
`POST /tasks`
`PATCH /tasks/:id`
`GET /tasks/:id`
Модель задачі повинна бути сумісною з Task Agent.
---
## 11. UI інтеграція
## 11.1. Sidebar → Projects
У лівому сайдбарі в блоці "Простори" відображаються:
- список проєктів,
- кнопка "Створити проєкт".
## 11.2. Right Sidebar → Project Context
Коли користувач знаходиться у каналі проєкту:
- правий сайдбар показує:
- назву проєкту,
- короткий опис,
- задачі по статусам,
- кнопку "Нова задача".
## 11.3. Task Panel
Клік по задачі відкриває:
- повну картку задачі,
- чат-тред задачі,
- дії:
- змінити статус,
- призначити,
- додати опис,
- переглянути памʼять.
---
## 12. Інструкції для Cursor
Приклад промта:
```text
Implement the Projects Agent module using:
- 15_projects_agent_module.md
- 12_agent_runtime_core.md
- 13_agent_memory_system.md
- 14_messenger_agent_module.md
- 10_agent_ui_system.md
- 05_coding_standards.md
Tasks:
1) Create models for Project and Task in backend.
2) Implement basic API: GET/POST/PATCH for projects and tasks.
3) Register Projects Agent with tools: create_task, update_task, search_tasks, summarize_project.
4) Implement UI:
- Projects list in sidebar.
- Project context panel in right sidebar.
- Modal for creating tasks.
- Basic task list with statuses.
5) Integrate task creation with agent chat (Projects Agent intercepts messages with "треба зробити").
Output:
- list of changed files
- diff
- summary
```text
---
## 13. Результат
Після впровадження цього модуля:
- MicroDAO отримує повноцінний агентський менеджмент проєктів;
- задачі створюються з діалогів, а не через форму;
- агенти синхронізують роботу між каналами й людьми;
- зʼявляється можливість планувати спринти, отримувати прогрес і формувати дайджести;
- Projects Agent стає центральним "організатором роботи" у кожному microDAO.