Довідка з міграції (1.x)
Лише референс
2.0 — це greenfield. Ця сторінка фіксує, що робить поточний (1.x) agentfy, для натхнення і щоб розуміти, що ми замінюємо — це не план порту.
Поточний стек 1.x
| Шар | 1.x | 2.0 |
|---|---|---|
| LLM | AWS Bedrock (Claude), Groq fallback, openai (deprecated) | system/llm — Claude API |
| Виконання | Lambda-хендлери (streams.ts, tasks.ts) + Step Functions | ефемерні k8s Jobs + worker app |
| Черга/події | EventBridge cron + Step Functions | BullMQ на Redis + Redis pub/sub |
| Реляційна БД | Postgres (Prisma) | Postgres (Prisma) |
| Чати/доки/задачі | DynamoDB | → Postgres |
| Знання / RAG | кастомний LightRAG-патерн (OpenSearch + Neo4j Louvain + Cohere + unstructured-api) | бібліотека LightRAG сервісом |
| Auth | AWS Cognito | власна JWT (issuer = Core) |
| Білинг | PayPal + квота за символами | generic usage-метеринг (+ Stripe?) |
| Object storage | S3 | infra/storage (S3 / R2 / Hetzner OS) |
| IaC | cdktf → AWS | k8s-маніфести (Hetzner) |
Де живе код 1.x
agentfy/agentfy/ — api/src/slices (NestJS), app + admin (Nuxt), runner (Docker Claude-Code PoC), sdk (embed-віджет). ~28 API-слайсів, включно зі зрілим слайсом MCP server і слайсами LightRAG-патерну knowledges/sources/vectors/neo4j.
Контраст моделей виконання
1.x — request-centric і stateless: агент це конфіг-шаблон; запит на POST /streams/bedrock вантажить конфіг, робить vector-search, ганяє Bedrock tool-loop у процесі, стримить чанки, пише в DynamoDB. Запущеного інстансу агента немає.
2.0 зберігає «агент = конфіг + стан», але додає ефемерний рантайм: мозок (api) думає і роутить; тул-робота йде в worker на вимогу; усе в черзі (BullMQ), стримиться (events) і метериться (usage). Див. Модель рантайму.
Що переноситься концептуально
Зрілий MCP server, підхід LightRAG до знань і модель user/team — це здорові ідеї, які ми перезбираємо заново, а не файли, які копіюємо.