ArrayKit

Линтер системного промпта

Найдите в промпте противоречия, мёртвые инструкции и незаполненные плейсхолдеры.

Линтер системного промпта

Найдите в промпте противоречия, мёртвые инструкции и незаполненные плейсхолдеры.

Системные промпты — один из самых чувствительных текстов, что пишет команда. Всё разбирается в браузере и никуда не отправляется.

Сравнить с предыдущей версией

Об инструменте Линтер системного промпта

Хорош ли промпт, по тексту не определить. Спорит ли он сам с собой — определить можно. Проверки здесь намеренно механические: требование выдать JSON без описания этого JSON; указание длины без единого числа; плейсхолдер, всё ещё не заполненный; оборот, который в одном предложении требуют, а в другом запрещают. Каждое замечание указывает на фрагмент, откуда оно взялось: результат линтера, который нельзя найти в тексте, — просто мнение. Часть правил касается не правильности, а стоимости: сплошные заглавные и уговоры добавляют токены к каждому запросу, ничего не меняя в ответе.

Возможности

  • Противоречия, где одно и то же и требуется, и исключается
  • Требования JSON без описанной формы
  • Указания длины без единого числа
  • Незаполненные шаблонные метки — как ошибки
  • Теги в духе XML, открытые и не закрытые
  • Указания не рассуждать — обычно дают обратный эффект
  • Каждое замечание указывает на точный найденный текст
  • Оценка, где ошибки весят больше заметок

Как использовать Линтер системного промпта

  1. Вставьте системный промпт
  2. Читайте замечания, начиная с ошибок
  3. Исправьте противоречия: именно они меняют поведение
  4. Перепроверяйте по ходу правки

Пример

Ввод

Always include the order number. Never include the order number if unverified.

Результат

Possible contradiction: “the order number” is both asked for and ruled out

Абсолютное указание плюс условное исключение — обычная форма.

Частые ошибки и устранение неполадок

  • Отмечено противоречие, которое я задумал. — Правило с исключением часто так и читается. Если исключение намеренное, сформулируйте и первое указание условно, чтобы приоритет был явным.
  • Жалуется на JSON, хотя я описываю форму. — Проверка ищет видимый ключ или схему. Если у вас это в прозе, показать маленький пример всё равно понятнее.
  • Отмечает «всегда» и «никогда». — Только как заметки. Абсолютные формулировки легко писать и трудно соблюдать, и они обычный источник противоречий дальше по тексту.
  • Отмечен длинный промпт. — Длина не ошибка. Заметка есть потому, что середина длинного промпта — место, где инструкции теряются: непреложные лучше ставить в начало или в конец.

Часто задаваемые вопросы

Если всё исправить, промпт станет хорошим?
Нет. Это механические проверки: противоречия, недостающие форматы, мёртвые метки. Верны ли сами инструкции — суждение о вашей задаче, которого не выносит ни один линтер.
Почему отмечается «не думай»?
Указания пропустить рассуждение скорее ухудшают вывод, чем сокращают его, а на нынешних моделях могут вытолкнуть рассуждение в видимый ответ вместо того, чтобы подавить. Работает просьба ответить короче.
Почему важны заглавные?
Сплошные заглавные не несут того выделения, что для человека, и стоят больше токенов, чем те же слова строчными. Это заметка, а не ошибка.
Как работает поиск противоречий?
Он ищет одну и ту же именную группу и в требуемом, и в запрещённом, включая уточнённый вариант. Он намеренно узок: скорее пропустит тонкий конфликт, чем завалит вас ложными срабатываниями.
Подходит ли это любому промпту?
Он написан для текста в форме инструкций: системные промпты, описания инструментов, тела навыков. На обычной прозе он выдаст заметки, которые мало что значат.

Связанные инструменты

Другие инструменты: ИИ и агенты

Все инструменты: ИИ и агенты · Все инструменты