Brainstorm: prompts, agent home, self-improving prompt.md, project docs, guidelines
This commit is contained in:
parent
75c8e6597a
commit
f16ed9467a
133
BRAINSTORM-PROMPTS-2026-02-21.md
Normal file
133
BRAINSTORM-PROMPTS-2026-02-21.md
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
# Брейншторм: Промпты и контекст агентов
|
||||||
|
Дата: 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 для каждого типа задачи
|
||||||
Loading…
Reference in New Issue
Block a user