Skip to main content

Негативные Ограничения и Антипаттерны в Промптинге

Методология формулирования запретов и явного исключения нежелательных инженерных паттернов (Anti-Goals) в системных инструкциях для предотвращения шаблонного и избыточного кода (AI Slop).

1. Обзор концепции и системная проблема

Языковые модели обучались на триллионах строк разнообразного интернет-кода. Из-за этого по умолчанию они склонны использовать так называемый "наиболее усредненный стиль" (The Mediocre Average):

  • Модель видит тривиальную математическую операцию и мгновенно добавляет import _ from 'lodash' в файл, раздувая бандл.
  • Модель встречает сложный тип TypeScript и ставит // @ts-ignore или as any, чтобы быстрее завершить генерацию.
  • Модель генерирует устаревшие и избыточные комментарии наподобие // Эта функция добавляет два числа.

Negative Constraints (Негативные ограничения) — это инженерный фильтр, который закрывает модели доступ к вредным привычкам и заставляет её двигаться исключительно узким коридором чистой архитектуры.

2. Архитектурная таксономия и ментальная модель

┌─────────────────────────────────────────────────────────────┐
│                 NEGATIVE CONSTRAINTS MATRIX                 │
├─────────────────────────────────────────────────────────────┤
│ 1. DEPENDENCY HYGIENE:                                      │
│    • NEVER run `npm install <package>` without asking.      │
│    • DO NOT import deprecated libraries (Axios, Lodash).    │
│    • Use native browser `fetch` and ES6 methods ONLY.       │
├─────────────────────────────────────────────────────────────┤
│ 2. CODE QUALITY INVARIANTS:                                 │
│    • BANNED: `any`, `unknown` without type guards.          │
│    • BANNED: `console.log` in production-facing code.       │
│    • BANNED: Commenting obvious self-explanatory lines.     │
├─────────────────────────────────────────────────────────────┤
│ 3. UI / DESIGN SYSTEM RULES:                                │
│    • NEVER invent custom HEX colors (#ff4422).              │
│    • USE predefined Tailwind semantic tokens ONLY.          │
│    • NEVER hardcode strings; use i18n translation keys.     │
└─────────────────────────────────────────────────────────────┘

3. Технический пайплайн и внутренняя механика

01. Защита от ленивых заглушек (Anti-Placeholder Rule)

В правилах фиксируется строгое наказание:

CRITICAL INSTRUCTION:
Do NOT output placeholders like `// ...existing code...` or `/* rest of implementation */`.
Always provide the FULL drop-in replacement. Truncated outputs are considered system failure.

Это на 100% искореняет привычку моделей лениться на больших файлах.

02. Запрет на создание новых файлов без согласования

Агенты часто имеют склонность "умножать сущности": создавать 5 мелких утилитарных файлов для одной строки кода. Правило: "DO NOT create new utility files unless explicitly specified in the RFC" держит структуру папок компактной.

4. Подводные камни, типовые ошибки и безопасность

  • Слепое отрицание без альтернативы: Если просто написать "Не используй React Router", но не сказать, что проект работает на Next.js App Router, модель растеряется и начнет придумывать самодельные хендлеры навигации. Всегда указывайте, что делать вместо запрещенного.
  • Раздутие списка запретов: Если в системном промпте 200 правил "НЕ", модель начнет испытывать паралич действий (Refusal Loop), отказываясь отвечать даже на безопасные промпты.

5. Стратегический вывод для инженера 2026 года

Негативный промптинг — это инструмент установления четких красных линий. Дисциплина явных запретов отсекает 80% случаев генерации синтетического мусора (AI Slop), поддерживая высокую культуру кодовой базы проекта.

/ Частые вопросыSchema.org FAQPage

FAQ: Негативные Ограничения и Антипаттерны в Промптинге

Позитивные формулировки слишком размыты и субъективны — модель имеет миллионы представлений о том, что такое 'хороший код'. Негативные ограничения резко сужают пространство выбора токенов, отсекая 90% типичных соблазнов модели (например, установка 15 ненужных npm-пакетов).
/ Внутренняя перелинковка
Все термины
Вайбкодинг и IDE

Правила Агентов (.cursorrules / CLAUDE.md / AGENTS.md)

Машиночитаемые файлы архитектурных регламентов и ограничений в репозитории, которые автоматически монтируются в системный контекст ИИ-агентов для предотвращения деградации кодовой базы.

Читать термин
Промпты и RAG

Системный промпт (System Instructions & Metaprompting)

Приоритетный метаконтекстный блок инструкций, передаваемый на нулевой позиции контекстного окна, определяющий роль, правила безопасности, доступные инструменты и границы поведения агента.

Читать термин
Выгорание и Flow

AI Slop (ШИ-шлак и загрязнение кодовой базы)

Системный феномен деградации кодовой базы в результате массового добавления низкокачественного, многословного, избыточно усложненного или дублированного кода, сгенерированного языковыми моделями без архитектурного надзора.

Читать термин
Промпты и RAG

Промпт-инжиниринг (Архитектура контекста и промпт-инжиниринг)

Инженерная дисциплина структурирования системных директив, XML-разметки, семантических делимитеров и примеров для достижения детерминированных, предсказуемых результатов от вероятностных моделей.

Читать термин