docs: expand lint scope batch51 (2 files)
This commit is contained in:
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 1. Базові принципи
|
## 1. Базові принципи
|
||||||
|
|
||||||
1. Агент — це **чиста функція + конфіг**.
|
1. Агент — це **чиста функція + конфіг**.
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 2. Інтерфейси агента
|
## 2. Інтерфейси агента
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
export type AgentRole =
|
export type AgentRole =
|
||||||
@@ -59,7 +59,7 @@ export interface AgentConfig {
|
|||||||
modelHint?: string; // підказка для modelRouter
|
modelHint?: string; // підказка для modelRouter
|
||||||
tools?: string[]; // назви інструментів, які дозволені
|
tools?: string[]; // назви інструментів, які дозволені
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
Повідомлення:
|
Повідомлення:
|
||||||
|
|
||||||
@@ -72,11 +72,11 @@ export interface AgentMessage {
|
|||||||
toolName?: string; // якщо role === "tool"
|
toolName?: string; // якщо role === "tool"
|
||||||
ts?: string;
|
ts?: string;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 3. Runtime-контекст агента
|
## 3. Runtime-контекст агента
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
export interface AgentContext {
|
export interface AgentContext {
|
||||||
@@ -94,11 +94,11 @@ export interface AgentContext {
|
|||||||
memory: AgentMemoryAdapter;
|
memory: AgentMemoryAdapter;
|
||||||
llm: AgentLLMAdapter;
|
llm: AgentLLMAdapter;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 4. Інтерфейси Memory та LLM
|
## 4. Інтерфейси Memory та LLM
|
||||||
|
|
||||||
## 4.1. AgentMemoryAdapter
|
## 4.1. AgentMemoryAdapter
|
||||||
|
|
||||||
@@ -109,11 +109,11 @@ export interface AgentMemoryAdapter {
|
|||||||
saveTurn(ctx: AgentContext, turn: AgentMessage): Promise<void>;
|
saveTurn(ctx: AgentContext, turn: AgentMessage): Promise<void>;
|
||||||
appendFact(ctx: AgentContext, fact: string): Promise<void>;
|
appendFact(ctx: AgentContext, fact: string): Promise<void>;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
* `short-term` — останні N ходів діалогу;
|
- `short-term` — останні N ходів діалогу;
|
||||||
|
|
||||||
* `long-term` — узагальнені знання про команду/проект.
|
- `long-term` — узагальнені знання про команду/проект.
|
||||||
|
|
||||||
## 4.2. AgentLLMAdapter
|
## 4.2. AgentLLMAdapter
|
||||||
|
|
||||||
@@ -125,13 +125,13 @@ export interface AgentLLMAdapter {
|
|||||||
options?: { modelHint?: string }
|
options?: { modelHint?: string }
|
||||||
): Promise<string>;
|
): Promise<string>;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
Фактична реалізація використовує `openaiClient` + `modelRouter` з `11_llm_integration.md`.
|
Фактична реалізація використовує `openaiClient` + `modelRouter` з `11_llm_integration.md`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 5. Інструменти (Tools)
|
## 5. Інструменти (Tools)
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
export type ToolFn = (ctx: AgentContext, args: any) => Promise<any>;
|
export type ToolFn = (ctx: AgentContext, args: any) => Promise<any>;
|
||||||
@@ -139,23 +139,23 @@ export type ToolFn = (ctx: AgentContext, args: any) => Promise<any>;
|
|||||||
export interface ToolRegistry {
|
export interface ToolRegistry {
|
||||||
[name: string]: ToolFn;
|
[name: string]: ToolFn;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
Приклади tools:
|
Приклади tools:
|
||||||
|
|
||||||
* `create_followup`
|
- `create_followup`
|
||||||
|
|
||||||
* `create_task`
|
- `create_task`
|
||||||
|
|
||||||
* `get_project_summary`
|
- `get_project_summary`
|
||||||
|
|
||||||
* `get_channel_history`
|
- `get_channel_history`
|
||||||
|
|
||||||
Інструменти не викликаються напряму з UI, тільки через агентський runtime.
|
Інструменти не викликаються напряму з UI, тільки через агентський runtime.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 6. Головна функція: runAgentTurn
|
## 6. Головна функція: runAgentTurn
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
export interface AgentTurnResult {
|
export interface AgentTurnResult {
|
||||||
@@ -209,11 +209,11 @@ export async function runAgentTurn(ctx: AgentContext): Promise<AgentTurnResult>
|
|||||||
|
|
||||||
return { reply, toolCalls };
|
return { reply, toolCalls };
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 7. buildLLMMessages: як формується промпт
|
## 7. buildLLMMessages: як формується промпт
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
function buildLLMMessages(
|
function buildLLMMessages(
|
||||||
@@ -240,43 +240,43 @@ function buildLLMMessages(
|
|||||||
|
|
||||||
return [system, memoryMsg, ...shortTerm, userInput];
|
return [system, memoryMsg, ...shortTerm, userInput];
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
Надалі:
|
Надалі:
|
||||||
|
|
||||||
* можна додати Co-Memory / RAG (витягнути релевантні факти з векторної БД);
|
- можна додати Co-Memory / RAG (витягнути релевантні факти з векторної БД);
|
||||||
|
|
||||||
* можна додати структуровані інструкції для tools.
|
- можна додати структуровані інструкції для tools.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 8. Життєвий цикл одного запиту агента (end-to-end)
|
## 8. Життєвий цикл одного запиту агента (end-to-end)
|
||||||
|
|
||||||
1. UI (`AgentChatWindow` або `AgentOnboardingChat`) відправляє `/agents/{id}/chat`:
|
1. UI (`AgentChatWindow` або `AgentOnboardingChat`) відправляє `/agents/{id}/chat`:
|
||||||
|
|
||||||
* `agentId`,
|
- `agentId`,
|
||||||
|
|
||||||
* `channelId`,
|
- `channelId`,
|
||||||
|
|
||||||
* `userId`,
|
- `userId`,
|
||||||
|
|
||||||
* `input` (текст користувача).
|
- `input` (текст користувача).
|
||||||
|
|
||||||
2. Backend:
|
2. Backend:
|
||||||
|
|
||||||
* дістає `AgentConfig` з БД;
|
- дістає `AgentConfig` з БД;
|
||||||
|
|
||||||
* формує `AgentContext`:
|
- формує `AgentContext`:
|
||||||
|
|
||||||
* agent, teamId, channelId, userId,
|
- agent, teamId, channelId, userId,
|
||||||
|
|
||||||
* history (опційно),
|
- history (опційно),
|
||||||
|
|
||||||
* memory adapter,
|
- memory adapter,
|
||||||
|
|
||||||
* llm adapter,
|
- llm adapter,
|
||||||
|
|
||||||
* tools.
|
- tools.
|
||||||
|
|
||||||
3. Викликає `runAgentTurn(ctx)`.
|
3. Викликає `runAgentTurn(ctx)`.
|
||||||
|
|
||||||
@@ -288,15 +288,15 @@ function buildLLMMessages(
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 9. Інтеграція з SML / локальними моделями
|
## 9. Інтеграція з SML / локальними моделями
|
||||||
|
|
||||||
У майбутньому:
|
У майбутньому:
|
||||||
|
|
||||||
* `AgentLLMAdapter.complete` може:
|
- `AgentLLMAdapter.complete` може:
|
||||||
|
|
||||||
* для простих задач (класифікація, короткі відповіді) викликати локальний SML,
|
- для простих задач (класифікація, короткі відповіді) викликати локальний SML,
|
||||||
|
|
||||||
* для складних — OpenAI/велику LLM.
|
- для складних — OpenAI/велику LLM.
|
||||||
|
|
||||||
Псевдокод:
|
Псевдокод:
|
||||||
|
|
||||||
@@ -308,63 +308,63 @@ export async function complete(ctx, messages, options) {
|
|||||||
return callLLM(messages, pickModel(ctx.agent.role));
|
return callLLM(messages, pickModel(ctx.agent.role));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 10. Використання для різних типів агентів
|
## 10. Використання для різних типів агентів
|
||||||
|
|
||||||
### Guide Agent (онбординг)
|
### Guide Agent (онбординг)
|
||||||
|
|
||||||
* той самий runtime,
|
- той самий runtime,
|
||||||
|
|
||||||
* інший `systemPrompt`,
|
- інший `systemPrompt`,
|
||||||
|
|
||||||
* інший набір tools:
|
- інший набір tools:
|
||||||
|
|
||||||
* `create_team`
|
- `create_team`
|
||||||
|
|
||||||
* `update_team_mode`
|
- `update_team_mode`
|
||||||
|
|
||||||
* `create_channel`
|
- `create_channel`
|
||||||
|
|
||||||
* `create_agent`
|
- `create_agent`
|
||||||
|
|
||||||
### Team Assistant
|
### Team Assistant
|
||||||
|
|
||||||
* general-purpose агент,
|
- general-purpose агент,
|
||||||
|
|
||||||
* має tools:
|
- має tools:
|
||||||
|
|
||||||
* `create_followup`
|
- `create_followup`
|
||||||
|
|
||||||
* `create_task`
|
- `create_task`
|
||||||
|
|
||||||
* `get_summary`
|
- `get_summary`
|
||||||
|
|
||||||
* `search_memory`
|
- `search_memory`
|
||||||
|
|
||||||
### Evolution Meta-Agent
|
### Evolution Meta-Agent
|
||||||
|
|
||||||
* використовує:
|
- використовує:
|
||||||
|
|
||||||
* `conversation_log` як input,
|
- `conversation_log` як input,
|
||||||
|
|
||||||
* інший systemPrompt,
|
- інший systemPrompt,
|
||||||
|
|
||||||
* tools:
|
- tools:
|
||||||
|
|
||||||
* `create_improvement_proposal`
|
- `create_improvement_proposal`
|
||||||
|
|
||||||
* `update_agent_rules`
|
- `update_agent_rules`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 11. Структура файлів
|
## 11. Структура файлів
|
||||||
|
|
||||||
## 11.1. Core Runtime
|
## 11.1. Core Runtime
|
||||||
|
|
||||||
```
|
```text
|
||||||
src/agent-runtime/
|
src/agent-runtime/
|
||||||
core/
|
core/
|
||||||
types.ts # AgentConfig, AgentContext, AgentMessage
|
types.ts # AgentConfig, AgentContext, AgentMessage
|
||||||
@@ -379,18 +379,18 @@ src/agent-runtime/
|
|||||||
createFollowup.ts # Інструмент створення follow-up
|
createFollowup.ts # Інструмент створення follow-up
|
||||||
createTask.ts # Інструмент створення задачі
|
createTask.ts # Інструмент створення задачі
|
||||||
getSummary.ts # Інструмент отримання підсумку
|
getSummary.ts # Інструмент отримання підсумку
|
||||||
```
|
```text
|
||||||
|
|
||||||
## 11.2. Контролери
|
## 11.2. Контролери
|
||||||
|
|
||||||
```
|
```text
|
||||||
src/controllers/
|
src/controllers/
|
||||||
agentsController.ts # HTTP endpoint /agents/{id}/chat
|
agentsController.ts # HTTP endpoint /agents/{id}/chat
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 12. Реалізація адаптерів
|
## 12. Реалізація адаптерів
|
||||||
|
|
||||||
## 12.1. Memory Adapter
|
## 12.1. Memory Adapter
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ export class DatabaseMemoryAdapter implements AgentMemoryAdapter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
## 12.2. LLM Adapter
|
## 12.2. LLM Adapter
|
||||||
|
|
||||||
@@ -474,11 +474,11 @@ export class OpenAILLMAdapter implements AgentLLMAdapter {
|
|||||||
return await callLLM(openaiMessages, model);
|
return await callLLM(openaiMessages, model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 13. Реєстр інструментів
|
## 13. Реєстр інструментів
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { ToolRegistry, ToolFn } from "./types";
|
import { ToolRegistry, ToolFn } from "./types";
|
||||||
@@ -506,11 +506,11 @@ export function getAvailableTools(agent: AgentConfig): ToolRegistry {
|
|||||||
}
|
}
|
||||||
return registry;
|
return registry;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 14. Парсинг викликів інструментів
|
## 14. Парсинг викликів інструментів
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
export function parseToolCalls(replyText: string): Array<{ name: string; args: any }> {
|
export function parseToolCalls(replyText: string): Array<{ name: string; args: any }> {
|
||||||
@@ -533,13 +533,13 @@ export function parseToolCalls(replyText: string): Array<{ name: string; args: a
|
|||||||
|
|
||||||
return calls;
|
return calls;
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
Альтернативно, можна використовувати structured outputs або function calling API OpenAI.
|
Альтернативно, можна використовувати structured outputs або function calling API OpenAI.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 15. HTTP Endpoint
|
## 15. HTTP Endpoint
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { Request, Response } from "express";
|
import { Request, Response } from "express";
|
||||||
@@ -610,11 +610,11 @@ export async function chatWithAgent(req: Request, res: Response) {
|
|||||||
res.status(500).json({ error: "Agent failed to respond" });
|
res.status(500).json({ error: "Agent failed to respond" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 16. Тестування
|
## 16. Тестування
|
||||||
|
|
||||||
## 16.1. Unit Tests
|
## 16.1. Unit Tests
|
||||||
|
|
||||||
@@ -648,15 +648,15 @@ describe("runAgentTurn", () => {
|
|||||||
expect(mockLLM.complete).toHaveBeenCalled();
|
expect(mockLLM.complete).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 17. Завдання для Cursor
|
## 17. Завдання для Cursor
|
||||||
|
|
||||||
Приклад промта:
|
Приклад промта:
|
||||||
|
|
||||||
```
|
```text
|
||||||
You are a senior backend engineer.
|
You are a senior backend engineer.
|
||||||
|
|
||||||
Implement the Agent Runtime Core for MicroDAO using:
|
Implement the Agent Runtime Core for MicroDAO using:
|
||||||
@@ -682,25 +682,24 @@ Output:
|
|||||||
- list of modified files
|
- list of modified files
|
||||||
- diff
|
- diff
|
||||||
- summary
|
- summary
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 18. Результат
|
## 18. Результат
|
||||||
|
|
||||||
Після впровадження цього ядра:
|
Після впровадження цього ядра:
|
||||||
|
|
||||||
* усі агенти MicroDAO працюють через єдиний runtime;
|
- усі агенти MicroDAO працюють через єдиний runtime;
|
||||||
|
|
||||||
* легко додавати нові типи агентів;
|
- легко додавати нові типи агентів;
|
||||||
|
|
||||||
* пам'ять, LLM і tools чітко відокремлені;
|
- пам'ять, LLM і tools чітко відокремлені;
|
||||||
|
|
||||||
* інтеграція з SML і DAGI стає питанням конфігурації, а не переписування коду.
|
- інтеграція з SML і DAGI стає питанням конфігурації, а не переписування коду.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Готово.**
|
**Готово.**
|
||||||
Це **повна специфікація Agent Runtime Core**, готова до використання в Cursor.
|
Це **повна специфікація Agent Runtime Core**, готова до використання в Cursor.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
Агент-проєктний менеджер для команд і спільнот
|
Агент-проєктний менеджер для команд і спільнот
|
||||||
|
|
||||||
Цей документ описує агентський модуль "Проєкти" у MicroDAO — систему управління роботою, яка повністю працює через агентів. Проєкти, задачі, дедлайни, фоллоуапи та прогрес — це не просто дані, а живий простір, у якому взаємодіють люди та агенти microDAO.
|
Цей документ описує агентський модуль "Проєкти" у MicroDAO — систему
|
||||||
|
управління роботою, яка повністю працює через агентів. Проєкти, задачі,
|
||||||
|
дедлайни, фоллоуапи та прогрес — це не просто дані, а живий простір, у якому
|
||||||
|
взаємодіють люди та агенти microDAO.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 1. Ідея
|
## 1. Ідея
|
||||||
|
|
||||||
Проєкт у MicroDAO — це:
|
Проєкт у MicroDAO — це:
|
||||||
|
|
||||||
@@ -19,7 +22,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 2. Ролі агентів у модулі
|
## 2. Ролі агентів у модулі
|
||||||
|
|
||||||
## 2.1. Projects Agent (основний)
|
## 2.1. Projects Agent (основний)
|
||||||
|
|
||||||
@@ -52,7 +55,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 3. Структура проєкту
|
## 3. Структура проєкту
|
||||||
|
|
||||||
Проєкт складається з:
|
Проєкт складається з:
|
||||||
|
|
||||||
@@ -80,7 +83,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 4. Модель задачі
|
## 4. Модель задачі
|
||||||
|
|
||||||
Задача (`task`) має:
|
Задача (`task`) має:
|
||||||
|
|
||||||
@@ -101,7 +104,7 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 5. Основні спроможності Projects Agent
|
## 5. Основні спроможності Projects Agent
|
||||||
|
|
||||||
## 5.1. Авто-створення задач з діалогів
|
## 5.1. Авто-створення задач з діалогів
|
||||||
|
|
||||||
@@ -160,7 +163,7 @@ Projects Agent може:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 6. Tools для Projects Agent
|
## 6. Tools для Projects Agent
|
||||||
|
|
||||||
У форматі, що сумісний з Runtime Core (12).
|
У форматі, що сумісний з Runtime Core (12).
|
||||||
|
|
||||||
@@ -194,7 +197,7 @@ Projects Agent може:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 7. Інтеграція з Runtime Core (12)
|
## 7. Інтеграція з Runtime Core (12)
|
||||||
|
|
||||||
Projects Agent — звичайний агент:
|
Projects Agent — звичайний агент:
|
||||||
|
|
||||||
@@ -215,57 +218,57 @@ const projectsAgentConfig: AgentConfig = {
|
|||||||
"auto_followup"
|
"auto_followup"
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
```
|
```text
|
||||||
|
|
||||||
Projects Agent працює з:
|
Projects Agent працює з:
|
||||||
|
|
||||||
* памʼяттю (13),
|
- памʼяттю (13),
|
||||||
* каналами (14),
|
- каналами (14),
|
||||||
* еволюційним агентом (09),
|
- еволюційним агентом (09),
|
||||||
* LLM (11).
|
- LLM (11).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 8. Інтеграція з памʼяттю (13)
|
## 8. Інтеграція з памʼяттю (13)
|
||||||
|
|
||||||
Projects Agent використовує:
|
Projects Agent використовує:
|
||||||
|
|
||||||
### 8.1. Short-Term Memory
|
### 8.1. Short-Term Memory
|
||||||
|
|
||||||
* поточні обговорення задач у каналі проєкту.
|
- поточні обговорення задач у каналі проєкту.
|
||||||
|
|
||||||
### 8.2. Long-Term Memory
|
### 8.2. Long-Term Memory
|
||||||
|
|
||||||
* ключові рішення команди,
|
- ключові рішення команди,
|
||||||
* визначення задач і стандартів,
|
- визначення задач і стандартів,
|
||||||
* історія пріоритетів.
|
- історія пріоритетів.
|
||||||
|
|
||||||
### 8.3. Mid-Term Memory
|
### 8.3. Mid-Term Memory
|
||||||
|
|
||||||
* summary спринтів,
|
- summary спринтів,
|
||||||
* переліки завершених задач,
|
- переліки завершених задач,
|
||||||
* звіти про прогрес.
|
- звіти про прогрес.
|
||||||
|
|
||||||
Projects Agent додає факти в памʼять:
|
Projects Agent додає факти в памʼять:
|
||||||
|
|
||||||
* "Задачу X завершено 12 жовтня."
|
- "Задачу X завершено 12 жовтня."
|
||||||
* "Проєкт переходить до етапу тестування."
|
- "Проєкт переходить до етапу тестування."
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 9. Інтеграція з Messenger Agent (14)
|
## 9. Інтеграція з Messenger Agent (14)
|
||||||
|
|
||||||
Messenger Agent допомагає Projects Agent:
|
Messenger Agent допомагає Projects Agent:
|
||||||
|
|
||||||
* показувати списки задач у чатах,
|
- показувати списки задач у чатах,
|
||||||
* формувати треди для задач,
|
- формувати треди для задач,
|
||||||
* робити дайджести по каналах.
|
- робити дайджести по каналах.
|
||||||
|
|
||||||
Projects Agent може викликати Messenger Agent через tools або через делегацію.
|
Projects Agent може викликати Messenger Agent через tools або через делегацію.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 10. API для проєктів та задач
|
## 10. API для проєктів та задач
|
||||||
|
|
||||||
### 10.1. Projects
|
### 10.1. Projects
|
||||||
|
|
||||||
@@ -285,46 +288,46 @@ Projects Agent може викликати Messenger Agent через tools аб
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 11. UI інтеграція
|
## 11. UI інтеграція
|
||||||
|
|
||||||
## 11.1. Sidebar → Projects
|
## 11.1. Sidebar → Projects
|
||||||
|
|
||||||
У лівому сайдбарі в блоці "Простори" відображаються:
|
У лівому сайдбарі в блоці "Простори" відображаються:
|
||||||
|
|
||||||
* список проєктів,
|
- список проєктів,
|
||||||
* кнопка "Створити проєкт".
|
- кнопка "Створити проєкт".
|
||||||
|
|
||||||
## 11.2. Right Sidebar → Project Context
|
## 11.2. Right Sidebar → Project Context
|
||||||
|
|
||||||
Коли користувач знаходиться у каналі проєкту:
|
Коли користувач знаходиться у каналі проєкту:
|
||||||
|
|
||||||
* правий сайдбар показує:
|
- правий сайдбар показує:
|
||||||
|
|
||||||
* назву проєкту,
|
- назву проєкту,
|
||||||
* короткий опис,
|
- короткий опис,
|
||||||
* задачі по статусам,
|
- задачі по статусам,
|
||||||
* кнопку "Нова задача".
|
- кнопку "Нова задача".
|
||||||
|
|
||||||
## 11.3. Task Panel
|
## 11.3. Task Panel
|
||||||
|
|
||||||
Клік по задачі відкриває:
|
Клік по задачі відкриває:
|
||||||
|
|
||||||
* повну картку задачі,
|
- повну картку задачі,
|
||||||
* чат-тред задачі,
|
- чат-тред задачі,
|
||||||
* дії:
|
- дії:
|
||||||
|
|
||||||
* змінити статус,
|
- змінити статус,
|
||||||
* призначити,
|
- призначити,
|
||||||
* додати опис,
|
- додати опис,
|
||||||
* переглянути памʼять.
|
- переглянути памʼять.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 12. Інструкції для Cursor
|
## 12. Інструкції для Cursor
|
||||||
|
|
||||||
Приклад промта:
|
Приклад промта:
|
||||||
|
|
||||||
```
|
```text
|
||||||
Implement the Projects Agent module using:
|
Implement the Projects Agent module using:
|
||||||
|
|
||||||
- 15_projects_agent_module.md
|
- 15_projects_agent_module.md
|
||||||
@@ -359,18 +362,16 @@ Output:
|
|||||||
- list of changed files
|
- list of changed files
|
||||||
- diff
|
- diff
|
||||||
- summary
|
- summary
|
||||||
```
|
```text
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 13. Результат
|
## 13. Результат
|
||||||
|
|
||||||
Після впровадження цього модуля:
|
Після впровадження цього модуля:
|
||||||
|
|
||||||
* MicroDAO отримує повноцінний агентський менеджмент проєктів;
|
- MicroDAO отримує повноцінний агентський менеджмент проєктів;
|
||||||
* задачі створюються з діалогів, а не через форму;
|
- задачі створюються з діалогів, а не через форму;
|
||||||
* агенти синхронізують роботу між каналами й людьми;
|
- агенти синхронізують роботу між каналами й людьми;
|
||||||
* зʼявляється можливість планувати спринти, отримувати прогрес і формувати дайджести;
|
- зʼявляється можливість планувати спринти, отримувати прогрес і формувати дайджести;
|
||||||
* Projects Agent стає центральним "організатором роботи" у кожному microDAO.
|
- Projects Agent стає центральним "організатором роботи" у кожному microDAO.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -131,3 +131,5 @@ docs/cursor/11_llm_integration.md
|
|||||||
docs/cursor/17_comemory_knowledge_space.md
|
docs/cursor/17_comemory_knowledge_space.md
|
||||||
docs/cursor/23_domains_wallet_dao_deepdive.md
|
docs/cursor/23_domains_wallet_dao_deepdive.md
|
||||||
docs/cursor/14_messenger_agent_module.md
|
docs/cursor/14_messenger_agent_module.md
|
||||||
|
docs/cursor/15_projects_agent_module.md
|
||||||
|
docs/cursor/12_agent_runtime_core.md
|
||||||
|
|||||||
Reference in New Issue
Block a user