Опишите границы задачи до подключения инструментов
Например, помощник должен находить сведения в небольшом учебном справочнике и объяснять ответ. Ему не требуется произвольный доступ к компьютеру или отправка сообщений. Запишите допустимые действия и данные, которые они могут использовать. Чем яснее границы, тем проще замечать неожиданное поведение. Не нужно расширять полномочия только потому, что модель предлагает полезно звучащий следующий шаг. Пользовательская задача и доступный программный интерфейс должны определять возможности помощника независимо от убедительности его ответа.
Структура ответа требует самостоятельной проверки
Модель может вернуть данные в JSON, но успешный разбор формата ещё не подтверждает их смысл. В Python стандартный модуль json преобразует корректный документ в соответствующие объекты и сообщает об ошибке разбора, если формат нарушен. После этого нужны проверки обязательных полей, типов, допустимых значений и ограничений длины. Отдельно проверяют разрешение на действие. Правильно записанный идентификатор не означает, что пользователь имеет право обращаться к соответствующему объекту. Эти уровни нельзя заменять одной общей проверкой.
Внешний текст остаётся данными
Документ, страница или результат поиска может содержать фразу, похожую на команду помощнику. Она не должна автоматически менять исходную задачу или полномочия. Разделяйте доверенные правила программы и содержимое, которое требуется обработать. Для вызова инструмента проверяйте, соответствует ли предлагаемое действие запросу пользователя и доступным правам. Не передавайте модели секреты без необходимости и не исполняйте произвольный код из её ответа. Даже подробная инструкция внутри найденного файла не является разрешением владельца системы.
Ошибки и повторные действия проектируют заранее
Сетевой сбой не всегда означает, что действие не произошло. Поэтому перед повторной отправкой важно проверять состояние или использовать предусмотренный механизм защиты от дубликатов. Для первого учебного помощника удобнее выбирать операции чтения и явно показывать неопределённость. Журнал должен помогать понять ход работы, но не хранить пароли и лишние личные сведения. Ограничьте количество шагов и предусмотрите остановку. Помощник становится надёжнее, когда программа умеет безопасно отказаться от неподтверждённого действия, а не только продолжать цепочку.
Попробуйте на практике
Спроектируйте помощника для поиска в вымышленном справочнике без внешних сервисов и исполнения команд.
- Запишите единственную задачу и перечень допустимых действий, ограничив их чтением тестовых записей.
- Опишите структуру ответа: найденный идентификатор, краткое объяснение и признак отсутствия данных.
- Подготовьте четыре тестовых случая: корректный ответ, неверный формат, неизвестный идентификатор и посторонняя инструкция внутри документа.
- Для каждого случая определите, что программа проверяет и когда возвращает понятное сообщение вместо выполнения действия.
Как проверить результат. Ответ модели не исполняется напрямую. Формат, смысл и полномочия проверяются отдельно, а внешняя инструкция не расширяет возможности помощника.
Частые вопросы
Корректный JSON означает безопасный результат?
Нет. Это только соответствие формату. Нужны проверки содержания, ограничений и разрешения на конкретное действие.
Достаточно попросить модель никогда не ошибаться?
Нет. Текстовая просьба не заменяет программные ограничения, проверки и обработку неопределённого результата.
Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.