Пишите ясно и на правильной высоте
Скелет контракта собран, но его легко испортить формулировками. Хорошая инструкция живёт между двумя плохими крайностями: туманным пожеланием и ручным программированием каждого шага естественным языком.
Эти крайности удобно держать перед глазами.
- Слишком высоко - "помоги клиенту". Не определены источник истины, допустимые действия, формат, эскалация и критерий решения. Модель угадывает почти всё.
- Слишком низко - пятьдесят if/else. Prompt копирует бизнес-логику, становится противоречивым и ломается на первом же новом маршруте.
- Правильная высота - эвристики и инварианты. Достаточно конкретики, чтобы принять решение, и достаточно свободы, чтобы понять новую формулировку пользователя.
- Обязательный код - проверяемые правила. Права, лимиты суммы, ownership и формат параметров не делегируются вероятностному тексту вообще.
На практике подъём на правильную высоту - это переписывание: из "будь вежливым и полезным" в конкретную цель, критерии и границы.
Плохо:
Будь вежливым и полезным. Постарайся решить проблему правильно.
Лучше:
Цель: решить вопрос за минимальное число реплик без догадок.
- Используй policy_search для правил и account_read для фактов аккаунта.
- Задавай один вопрос только тогда, когда без ответа нельзя выбрать действие.
- Не обещай возврат до результата preview_refund.
- Если политика и account data противоречат друг другу, передай оператору.
- Ответ: до 4 коротких предложений, затем один следующий шаг.И ещё одно, что заметно улучшает поведение: важные правила стоит объяснять.
Объясняйте причину важного правила. Anthropic отдельно отмечает пользу контекста и мотивации. "Не перечисляй внутренние ID, потому что клиент не может ими воспользоваться" обычно работает лучше голого запрета.