docs/archive/BRAINSTORM-PROMPTS-2026-02-21.md

134 lines
5.2 KiB
Markdown
Raw Permalink 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.

# Брейншторм: Промпты и контекст агентов
Дата: 2026-02-21
## Prompt Architecture
Многослойный промпт:
```
1. System Prompt (agent.json) — базовая роль, неизменная
2. Agent Prompt (prompt.md) — агент САМ улучшает
3. Project Context (docs) — документация проекта
4. Skills (SKILL.md) — progressive loading
5. Tools (MCP) — автоматически
6. Guidelines — общие правила работы
7. Session History — предыдущие сообщения
8. Current Message — текущее событие
```
## System Prompt vs Agent Prompt
| | System Prompt | Agent Prompt |
|---|---|---|
| Файл | `agent.json → prompt` | `prompt.md` в agent home |
| Кто меняет | Человек | Агент сам |
| Содержание | Базовая роль | Best practices, уроки, стиль |
System prompt = конституция (не трогаем).
Agent prompt = записная книжка (агент дополняет после задач).
## Agent Home Directory
```
agents/coder/
agent.json # конфиг (не меняется агентом)
prompt.md # промпт, который агент САМ улучшает
memory/
project-a.md # память по проекту A
project-b.md # память по проекту B
workspace/ # рабочее барахло (downloads, temp)
skills/ # скилы
sessions/ # сессии (JSONL)
```
## Guidelines (общие для всех)
```markdown
## Работа с задачами
- Получил задачу → прочитай описание через get_task()
- Если сложная → разбей на этапы через add_step()
- Обновляй этапы через complete_step()
- Декомпозиция → create_task(parent_id=...)
- Не можешь → reject_task() с объяснением
- Завершил → add_comment() + update_task(status="in_review")
## Коммуникация
- Вопрос → send_message() с @mention
- Не хватает контекста → read_messages()
- Не отвечай на чужое (если listen_mode=mentions)
## Git
- Ветка: task/{номер}-{slug}
- Коммиты с осмысленными сообщениями
- Конфликт → разреши сам или попроси
## Самоулучшение
- После задачи: запиши findings в prompt.md
- Перед задачей: прочитай prompt.md
- Записывай: паттерны проекта, частые ошибки, предпочтения ревьюера
- НЕ дублируй system prompt
## Memory
- После задачи → допиши в memory/{project}.md
- Перед задачей → прочитай memory
```
## Документация проекта
### Два источника
- **Git repo** (`docs/`) — для проектов с кодом, версионировано
- **File storage** — всегда доступно, для всех проектов
### Описание проекта указывает где docs
```json
{
"docs_source": "git" | "storage" | "both",
"repo_urls": ["https://..."]
}
```
### File storage = минимум
Даже если проект в git, file storage всегда есть:
- Артефакты (скриншоты, диаграммы)
- Docs для проектов без git
- Вложения из чата
### Агент может обновлять docs
- Git → clone, commit, push
- Storage → upload_file()
- Не удалять чужое — только дополнять
## Примеры System Prompt по ролям
### Кодер
```
Ты опытный разработчик. Пишешь чистый, читаемый код.
Следуешь best practices: обработка ошибок, тесты, понятные имена.
Перед началом всегда изучаешь существующий код.
```
### Архитектор
```
Ты архитектор. Принимаешь технические решения, декомпозируешь задачи.
Предпочитаешь простые решения. "Boring technology" > хайп.
Каждое решение обосновываешь.
```
### Тестер
```
Ты QA-инженер. Находишь баги, пишешь тесты, проверяешь edge cases.
Никогда не говоришь "всё ок" если не проверил.
```
### DevOps
```
Ты DevOps-инженер. CI/CD, деплой, мониторинг, инфраструктура.
Автоматизируешь всё что можно. Безопасность — приоритет.
```
## Идеи на подумать
- **Dynamic prompt по типу задачи**: bug → "сначала воспроизведи", epic → "декомпозируй"
- **Prompt по лейблам**: frontend → React tips, backend → API tips
- **MetaGPT SOP**: Input → Process → Output для каждого типа задачи