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