Files
microdao-daarion/docs/agents_checklist.md

275 lines
11 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.
# Чеклист для повноцінної роботи агентів DAARION
**Дата створення**: 2025-11-18
**Статус**: У розробці
---
## ✅ Що вже працює
### 1. Інфраструктура
-**DAGI Router** (9102) - маршрутизація до агентів та провайдерів
-**NATS** (4222) - event streaming
-**PostgreSQL** (5432) - основна БД
-**Telegram Gateway** (8000) - Long Polling для 3 ботів
-**Local Telegram Bot API** (8081) - зменшення латентності
-**Prometheus** (9090) - збір метрик
-**Grafana** (3000) - візуалізація
### 2. LLM Infrastructure
-**Ollama** - локальна генерація (Qwen3:8b, Qwen2.5:14b)
-**OpenRouter** - fallback (DeepSeek-Chat)
-**LLM Provider** в Router - вибір оптимального провайдера
### 3. Агенти (Telegram боти)
-**DAARWIZZ** (`@DAARWIZZBot`) - microDAO оркестратор
-**Helion** (`@energyunionBot`) - Energy Union
-**GREENFOOD** (`@greenfoodliveBot`) - ERP для виробників (13 sub-agents)
### 4. Сервіси AI/ML
-**CrewAI** (9010) - multi-agent workflows
-**Vision Encoder** (8001) - розпізнавання зображень
-**DevTools** (8008) - інструменти розробника
- ⚠️ **Parser** (9400) - OCR/PDF (працює, unhealthy через curl)
- ⚠️ **STT** (9000) - Speech-to-Text (працює, unhealthy)
- ⚠️ **TTS** (9101) - Text-to-Speech (працює, unhealthy)
- ⚠️ **Qdrant** (6333) - Vector DB (працює, unhealthy)
- ⏸️ **RAG Service** - зупинено (потрібен рефакторинг Haystack 2.x)
### 5. Інтеграції
-**Memory Service** - зберігання контексту діалогів
-**RBAC Service** (9200) - управління правами
-**Gateway Service** (9300) - HTTP API
---
## 🔧 Що потрібно доопрацювати
### 1. Voice Processing (STT/TTS)
#### STT (Speech-to-Text)
- **Статус**: Сервіс працює, але потрібна інтеграція
- **Що зробити**:
- [ ] Перевірити чи `telegram-gateway` викликає STT для голосових повідомлень
- [ ] Додати логування STT викликів
- [ ] Протестувати українською та англійською
- [ ] Оптимізувати модель Whisper (tiny/base для швидкості)
- **Пріоритет**: 🔴 Високий (для голосової взаємодії)
#### TTS (Text-to-Speech)
- **Статус**: Сервіс працює, але не інтегровано
- **Що зробити**:
- [ ] Додати TTS endpoint в `telegram-gateway`
- [ ] Опція для користувачів: отримувати відповіді голосом
- [ ] Підтримка української/англійської мов
- **Пріоритет**: 🟡 Середній (nice-to-have)
---
### 2. Document Processing (Parser + RAG)
#### Parser Service
- **Статус**: ✅ Працює (але unhealthy через відсутність `curl`)
- **Що зробити**:
- [x] Додати curl в Dockerfile
- [ ] Rebuild контейнера
- [ ] Перевірити парсинг PDF через Telegram
- **Пріоритет**: 🟢 Низький (технічна проблема, не функціональна)
#### RAG Service
- **Статус**: ⏸️ Зупинено (проблеми з Haystack 2.x API)
- **Що зробити**:
- [ ] Рефакторинг `ingest_pipeline.py` для Haystack 2.x
- [ ] Виправити `async/await` синтаксис
- [ ] Додати тести
- [ ] Перезапустити сервіс
- **Пріоритет**: 🔴 Високий (для RAG queries по документах)
---
### 3. CrewAI Workflows
#### GREENFOOD Crew (13 agents)
- **Статус**: ✅ Агенти створені, але не підключені до Router
- **Що зробити**:
- [ ] Додати tools для агентів (API виклики, БД queries)
- [ ] Створити Tasks для кожного Crew
- [ ] Інтеграція з Router (`mode: "crew"`, `scenario: "onboard_vendor"`)
- [ ] Тестування всіх 4 Crews
- **Пріоритет**: 🟡 Середній (GREENFOOD assistant працює через LLM, Crew - для складних сценаріїв)
#### Інші Crews
- [ ] DAARWIZZ Crew (microDAO workflows)
- [ ] Helion Crew (Energy Union workflows)
- **Пріоритет**: 🟢 Низький (поки LLM достатньо)
---
### 4. Memory & Context Management
#### Memory Service
- **Статус**: ✅ Працює (контекст діалогів, user facts)
- **Що зробити**:
- [ ] Додати довгострокову пам'ять (summaries старих діалогів)
- [ ] Інтеграція з RAG для semantic memory
- [ ] User preferences storage
- **Пріоритет**: 🟡 Середній
#### Session Management
- **Статус**: ✅ Базова імплементація (`session_id = telegram:{chat_id}`)
- **Що зробити**:
- [ ] Підтримка multi-device (один user, кілька чатів)
- [ ] Session expiry та cleanup
- [ ] Cross-channel sessions (Telegram + Web)
- **Пріоритет**: 🟢 Низький
---
### 5. Monitoring & Observability
#### Prometheus Metrics
- **Статус**: ✅ DAGI Router та Telegram Gateway
- **Що зробити**:
- [ ] Додати `/metrics` в інші сервіси (Parser, STT, TTS, CrewAI)
- [ ] Створити custom metrics (LLM tokens, agent requests, STT duration)
- [ ] Налаштувати alerting (Slack/Telegram notifications)
- **Пріоритет**: 🟡 Середній
#### Grafana Dashboards
- **Статус**: ⏳ Grafana встановлено, дашбордів немає
- **Що зробити**:
- [ ] DAGI Router Dashboard (requests, latency, errors)
- [ ] Telegram Gateway Dashboard (messages, active chats)
- [ ] LLM Performance Dashboard (tokens, providers usage)
- [ ] System Dashboard (CPU, RAM, disk)
- **Пріоритет**: 🟡 Середній
#### Logging
- **Статус**: ⚠️ Логи є, але не централізовані
- **Що зробити**:
- [ ] Додати Loki для централізованих логів
- [ ] Інтеграція Grafana + Loki
- [ ] Structured logging (JSON format)
- **Пріоритет**: 🟢 Низький
---
### 6. Безпека та RBAC
#### Authentication
- **Статус**: ⚠️ Telegram auth через bot token, немає JWT для HTTP API
- **Що зробити**:
- [ ] JWT authentication для `/api/*` endpoints
- [ ] OAuth2 для frontend
- [ ] API keys для external integrations
- **Пріоритет**: 🔴 Високий (для production)
#### RBAC
- **Статус**: ✅ RBAC Service працює (9200)
- **Що зробити**:
- [ ] Інтеграція RBAC з усіма агентами
- [ ] Перевірка прав доступу до MicroDAO actions
- [ ] Audit log для всіх RBAC операцій
- **Пріоритет**: 🔴 Високий (для multi-user microDAO)
---
### 7. Performance & Scalability
#### LLM Optimization
- **Статус**: ⚠️ Одна Ollama інстанція, no rate limiting
- **Що зробити**:
- [ ] LLM Load Balancer (кілька Ollama nodes)
- [ ] Rate limiting (запобігання abuse)
- [ ] LLM response caching (Redis)
- [ ] Smart routing (urgent queries → fast model)
- **Пріоритет**: 🟡 Середній (для масштабування до 100+ користувачів)
#### Message Queue
- **Статус**: ✅ NATS працює, але синхронна обробка
- **Що зробити**:
- [ ] Async processing через NATS JetStream
- [ ] Retry mechanism для failed requests
- [ ] Dead letter queue
- **Пріоритет**: 🟢 Низький (поточний throughput достатній)
---
### 8. Тестування
#### Unit Tests
- **Статус**: ❌ Відсутні
- **Що зробити**:
- [ ] Тести для Router (`routing_engine.py`)
- [ ] Тести для LLM Provider
- [ ] Тести для Memory Service
- **Пріоритет**: 🟡 Середній
#### Integration Tests
- **Статус**: ❌ Відсутні
- **Що зробити**:
- [ ] End-to-end тест (Telegram → Router → LLM → Response)
- [ ] STT pipeline test
- [ ] Document processing test (PDF → Parser → RAG → Query)
- **Пріоритет**: 🟡 Середній
#### Load Testing
- **Статус**: ❌ Не проводилось
- **Що зробити**:
- [ ] Simulate 100 одночасних діалогів
- [ ] Тест STT під навантаженням
- [ ] LLM throughput benchmark
- **Пріоритет**: 🟢 Низький (для pre-production)
---
## 🎯 Пріоритизація (що робити далі)
### 🔴 Критично (наступні 1-2 дні)
1. ✅ Додати `/metrics` в Router та Gateway
2. 🔄 Перевірити голосовий чат (STT)
3. 🔄 Виправити RAG Service (Haystack 2.x)
4. ⏳ Додати JWT authentication для HTTP API
### 🟡 Важливо (наступні 1-2 тижні)
1. Завершити GREENFOOD Crew (додати tools та tasks)
2. Створити Grafana дашборди
3. Додати TTS інтеграцію
4. RBAC інтеграція з агентами
5. Memory Service improvements
### 🟢 Потім (1-2 місяці)
1. LLM Load Balancer
2. Centralized Logging (Loki)
3. Unit & Integration Tests
4. Load Testing
5. Масштабування до 1000+ агентів
---
## 📊 Поточний статус
| Компонент | Статус | Готовність |
|-----------|--------|------------|
| **Core Router** | ✅ Працює | 95% |
| **Telegram Bots** | ✅ 3 боти | 90% |
| **LLM (Ollama)** | ✅ Працює | 85% |
| **STT (Whisper)** | ⚠️ Потребує тестування | 70% |
| **TTS** | ⚠️ Не інтегровано | 50% |
| **Parser/OCR** | ✅ Працює | 80% |
| **RAG** | ⏸️ Зупинено | 40% |
| **CrewAI** | ⚠️ Базова імплементація | 60% |
| **Monitoring** | ✅ Prometheus + Grafana | 75% |
| **RBAC** | ✅ Працює | 80% |
| **Memory** | ✅ Працює | 75% |
| **Security** | ⚠️ Базова (Telegram) | 50% |
| **Tests** | ❌ Відсутні | 10% |
**Загальна готовність**: **~70%** для MVP
**Для production**: **~50%**
---
*Документ оновлюється: 2025-11-18*