Protocol: router as text relay, single session per agent

This commit is contained in:
Markov 2026-02-21 09:57:51 +01:00
parent d9fd2e0d96
commit 8ce40aff91

View File

@ -111,15 +111,24 @@ Tracker → Agent:
## Архитектура в Picogent ## Архитектура в Picogent
### Принцип: максимум разговорной речи
Все события приходят агенту как **текстовые сообщения**. Агент — LLM, он сам понимает что делать.
Router не строит промпты, не вызывает API — просто передаёт текст.
### Одна сессия на агента
НЕ создавать отдельные сессии на задачу/чат. Всё в одном контексте:
задачи, чат, ответы — чтобы агент видел полную картину.
### Router (обработка WS-событий) ### Router (обработка WS-событий)
``` ```
WS event → Router: WS event → Router:
task.assigned → buildPrompt() → runAgent(prompt, mcp_tools) task.assigned → текст "Тебе назначена задача TB-42: ..." → runAgent(текст)
chat.message → если mention/listen:all → runAgent(message, mcp_tools) chat.message → если mention/listen:all → текст "[чат] @author: ..." → runAgent(текст)
task.comment → если mention → runAgent(comment, mcp_tools) task.comment → если mention → текст "[комментарий к TB-42] @author: ..." → runAgent(текст)
task.taken → internal: убрать из available (НЕ в промпт) task.taken → internal: убрать из available (НЕ в промпт)
task.status → internal: проверить зависимости (НЕ в промпт) task.status → internal: проверить зависимости (НЕ в промпт)
``` ```
Агент сам решает: вызвать get_task(), add_step(), send_message() — через MCP tools.
### MCP Tools (регистрация) ### MCP Tools (регистрация)
``` ```