При использовании Claude у вас есть уникальная возможность направлять его ответы, предварительно заполняя сообщение Assistant. Эта мощная техника позволяет вам направлять действия Claude, пропускать преамбулы, применять определенные форматы, такие как JSON или XML, и даже помогать Claude поддерживать согласованность персонажей в сценариях ролевой игры.

В некоторых случаях, когда Claude работает не так, как ожидалось, несколько предварительно заполненных предложений могут значительно улучшить производительность Claude. Небольшое предварительное заполнение имеет большое значение!

Как предварительно заполнить ответ Claude

Чтобы предварительно заполнить, включите желаемый начальный текст в сообщение Assistant (ответ Claude будет продолжаться с того места, где заканчивается сообщение Assistant):

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Какой твой любимый цвет?"},
        {"role": "assistant", "content": "Как ИИ-ассистент, у меня нет любимого цвета. Но если бы мне пришлось выбирать, это был бы зеленый, потому что"}  # Предварительное заполнение здесь
    ]
)

Примеры

Пример 1: Управление форматированием вывода и пропуск преамбулы

Совет для опытных пользователей: Предварительное заполнение { заставляет Claude пропустить преамбулу и напрямую вывести объект JSON. Это более чисто, лаконично и проще для программ анализировать без дополнительной обработки.

Пример 2: Поддержание персонажа в сценариях ролевой игры

Совет по ролевой игре: Предварительное заполнение в квадратных скобках [ИМЯ_РОЛИ] может напомнить Claude оставаться в образе даже для более длинных и сложных разговоров. Это особенно эффективно в сочетании с ролевым промптингом в параметре system.