# Антипаттерны промптов

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Распознать **типичные ошибки** в промптах и быстро переписать их в рабочий вид.

## Предварительно

- [Структура промпта](struktura-promta.md)
- [Шаблоны](shablony-promtov.md)

## Время

**35–50 минут**

---

## 1. «Сделай всё приложение»

**Симптом:** один промпт на эпик без границ.  
**Результат:** огромный diff, половина ломается, контекст переполнен.

**Исправление:** декомпозиция + Plan → подзадачи по [шаблонам](shablony-promtov.md).

---

## 2. Промпт без контекста

**Плохо:**

```
Добавь кэш в сервис.
```

**Хорошо:**

```
Добавь Redis-кэш для GetUser в @internal/user/service.go
по образцу кэша в @internal/product/service.go.
TTL 5m. Готово когда: тест TestGetUserCacheHit.
```

---

## 3. Размытые оценочные слова

| Слова-пустышки | Замена |
|----------------|--------|
| нормально, красиво | ссылка на rule, пример, design token |
| best practice | конкретный паттерн из репо |
| оптимизируй | метрика: latency < X, bundle < Y kb |
| как в больших компаниях | ваш стек и constraints |

---

## 4. Дублирование rules в каждом промпте

Если в каждом сообщении вы пишете «не мутируй объекты» — вынесите в [project rule](../04-rules/chto-takoe-rules.md). Промпт станет короче, поведение стабильнее.

---

## 5. Война с агентом в одном чате

**Симптом:** 15 сообщений «ты опять не то».  
**Причина:** накопленный мусор в контексте, неясная цель с самого начала.

**Исправление:** откат git → **новая сессия** → промпт по [структуре](struktura-promta.md) с резюме ошибок.

---

## 6. Секреты и PII в промпте

См. [безопасность](../02-effektivnoe-ispolzovanie/bezopasnost-i-privatnost.md). Антипаттерн №1 по риску.

---

## 7. «Просто сделай как знаешь»

Модель **не знает** ваши неявные договорённости: ветка git, стиль коммитов, запрет на force push.

**Исправление:** ограничения явно или через rules.

---

## 8. Противоречивые инструкции

```markdown
Сделай минимальный diff.
Заодно приведи весь модуль к новому стилю.
```

Агент выберет случайно. Разделите на две задачи или укажите приоритет: «Сначала только fix, стиль — отдельный PR».

---

## 9. Игнорирование DoD

Без критерия готовности агент «закончит» на первом компилирующемся варианте — часто без тестов и docs.

---

## 10. Чрезмерный `@` на весь monorepo

Эквивалент шума. См. [контекст и токены](../02-effektivnoe-ispolzovanie/kontekst-i-tokens.md).

---

## 11. Просьба «без объяснений» на сложной задаче

На L3–L4 краткий план **до** кода снижает ошибки. Полный запрет рассуждений — для простых L1–L2.

---

## 12. Копипаст stack overflow без адаптации

```markdown
Вот код с форума, вставь в проект.
```

Риск несовместимости лицензий, версий, стиля. Просите **адаптировать** под `@аналог` в репо.

---

## Таблица: антипаттерн → лекарство

| Антипаттерн | Лекарство |
|-------------|-----------|
| Эпик в одном промпте | Декомпозиция, planner |
| Нет @ | Контекст + few-shot |
| Пустые слова | Метрики, примеры |
| 15 итераций злости | Новая сессия + откат |
| Секреты | env, placeholders |
| Противоречия | Приоритет или split tasks |

---

## Упражнение: переписать

**Исходник:**

> пофикси баг с логином срочно!!!

**Ваша версия** должна содержать: цель, @, ограничения, DoD. Сравните с [bugfix-шаблоном](shablony-promtov.md).

---

## Самопроверка

1. Почему «сделай всё» — антипаттерн для Agent?
2. Когда начинать новую сессию вместо 10-го уточнения?
3. Приведите пример противоречивых инструкций из своей практики.
4. Куда вынести повторяющееся «не коммить без запроса»?

## Дальше

→ [04 — Rules](../04-rules/README.md)
