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

10 KiB
Raw Blame History

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 — звичайний агент:

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.