Назад в блог

Агенты и автоматизацияИнструкция

Как написать промпт, чтобы агент собрал инструмент: 3 части

Где живёт инструмент, что он делает, какие детали обязательны: промпт из трёх частей по примерам Creator Mode от DeepSeek и стоимость сессии сборки.

Автор: CheapTokens TeamОпубликовано 5 мин чтения

Три шага промпта для сборки: где живёт инструмент, что делает, требования
Содержание
  1. Как три части выглядят в настоящем промпте
  2. Пишем свой — по одной части
  3. Отправляем через API
  4. Почему одного промпта редко хватает
  5. Сколько стоит сессия сборки
  6. Проверьте перед отправкой

Вы попросили агента «сделать инструмент» и получили что-то размытое, что не встаёт в ваше приложение. Лечится это не длиннее промптом, а промптом из трёх конкретных частей: где инструмент живёт, что он делает и какие детали обязательны. И заранее готовьтесь к нескольким раундам: даже DeepSeek пишет, что часть демо-плагинов дорабатывалась в несколько раундов диалога.

Такую форму из трёх частей показывает большинство промптов из коллекции DeepSeek к демо-ролику Harness Creator Mode. Страница (коллекция промптов Creator Mode от DeepSeek, проверено 3 ноября 2026, даты публикации на странице нет) перечисляет семь плагинов: 3D-галерея известных достопримечательностей, 3D-визуализация Transformer, пиксельный интерфейс DSH, мастерская плакатов, мастерская видеомонтажа, читалка статей и статистика диалогов. Чтобы воспользоваться, вставьте промпт в DeepSeek Harness и выберите режим Creator Mode. Каждый промпт дан на английском и китайском.

Как три части выглядят в настоящем промпте#

Возьмём промпт 3D-визуализации Transformer с этой страницы. Он начинается с «Create a DeepSeek Harness plugin with a left sidebar entry» — создать плагин с пунктом в левой боковой панели. Это первая часть: где живёт инструмент. Дальше описана функция: интерактивная 3D-игра, объясняющая вычисления в Transformer. Это вторая. Заканчивается требованием, которое легко забыть и неприятно чинить потом: заголовок панели и тулбар не должны перекрывать родные кнопки окна macOS. Третья часть.

Остальные промпты на странице устроены так же, с отличиями. Место входа разное: пункт в левой боковой панели в трёх из них, доступ из диалога в двух, правая боковая панель в читалке статей. Конкретнее всего они в конце: пять стилей, один из них пиксельный, или заголовок страницы по умолчанию «Everything is a plugin». Эту схему и стоит взять, а разница видна сразу:

Сравнение

Размыто и в три части

Было

Сделай мне инструмент для моих диалогов.

Стало

Создай плагин с пунктом в левой боковой панели. Он показывает статистику моих диалогов: сколько их, какой длины каждый и в какой день было больше всего. Заголовок панели не должен перекрывать кнопки окна.

Первый вариант оставляет агенту гадать обо всём. Куда это поставить? В боковую панель, команду, отдельное окно? Что значит «для моих диалогов»? Второй отвечает на эти вопросы раньше, чем агент их задаст.

Три части промпта для сборки: место, функция, требования
Каркас промпта для сборки из трёх частей

Пишем свой — по одной части#

Допустим, вам нужна небольшая панель, которая читает статью и отвечает на вопросы по ней. Идём по частям по порядку.

Где живёт. Одна фраза с точным местом: «плагин с пунктом в левой боковой панели», «кнопка в тулбаре», «страница из меню». Не назовёте — агент выберет за вас.

Что делает. Опишите, что вы видите и на что нажимаете, а не как это сделано. «Я кидаю PDF, слева показан текст, справа чат о нём». Фреймворк не называйте без причины.

Конкретные требования. Сюда идёт то, что в прошлый раз пошло не так. Правила раскладки, что не должно перекрываться, язык, формат файла, ограничение вроде «без сетевых запросов». Короткие строки, которые можно проверить. Если по результату не понять, выполнено ли требование, перепишите его, пока не станет понятно.

Всё вместе:

text
Create a plugin with a left sidebar entry.
It is a paper reader: I open a PDF, the text is shown
on the left, and a chat about the paper is on the right.
Requirements:
- the panel title must not overlap the window buttons
- the chat answers only from the paper's text
- keep everything in one file

Отправляем через API#

Creator Mode — функция DeepSeek Harness, а сам промпт — обычный текст, поэтому его выполнит всё, что умеет читать промпт, в том числе скрипт, который вызывает API CheapTokens. Ниже тот же промпт, отправленный в DeepSeek-V4-Flash (полный id deepseek-ai/DeepSeek-V4-Flash-0731, контекст 380K, до 32 768 токенов в одном ответе — целый плагин помещается в одну реплику):

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

prompt = """Create a plugin with a left sidebar entry.
It is a paper reader: I open a PDF, the text is shown
on the left, and a chat about the paper is on the right.
Requirements:
- the panel title must not overlap the window buttons
- the chat answers only from the paper's text
- keep everything in one file"""

resp = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    messages=[{"role": "user", "content": prompt}],
    max_tokens=8000,
)
print(resp.choices[0].message.content)
print(resp.choices[0].finish_reason, resp.usage)

Ключ лежит в переменной окружения, но не в файле. Если finish_reason печатает length, плагин обрезан по max_tokens: поднимите лимит. Настройка самого DeepSeek Harness с собственным провайдером — отдельная задача, она разобрана в статье как подключить DeepSeek Harness к CheapTokens. Основы первого запроса — в документации CheapTokens.

Почему одного промпта редко хватает#

DeepSeek говорит прямо: часть демо-плагинов дорабатывалась в несколько раундов диалога, поэтому один промпт может не воспроизвести ролик в точности. Это как ТЗ для подрядчика: первый чертёж даёт большую часть комнаты, а потом вы проходите по ней и говорите «дверь открывается не в ту сторону».

Попробуйте самиПопробуйте: что написать во втором раунде?Показать ответ

Назовите то, что увидели, а не ощущение. «Заголовок перекрывает кнопку закрытия, сдвинь на 40 px вправо» получит правку. «Раскладка не такая» получит ещё одну догадку. Каждая такая правка в следующий раз становится ещё одной строкой в третьей части.

Каждый раунд добавляет историю в следующий запрос
Сессия сборки: промпт, потом правки, которые тянут за собой историю

И вот тут уходят деньги. Агент пересылает диалог с каждым раундом (тот же эффект, что в статье почему длинный чат стоит дороже), поэтому в пятом раунде идут промпт, четыре прежних ответа и весь код на сейчас.

Сколько стоит сессия сборки#

Возьмём предполагаемую сессию, а не замер: пять раундов, около 12 000 токенов в каждом на входе (промпт, история, текущий код) и около 6 000 токенов на выходе. В таблице ниже живые цены каждой модели CheapTokens; колонка OpenRouter нужна, чтобы сравнить ту же сессию в сумме, с учётом входа и выхода.

Модель За запрос 5 запросов OpenRouter, 5 запросов
GLM-5.3-Flash $0.00048 $0.0024 $0.0045
DeepSeek-V4-Flash $0.00078 $0.0039 $0.0084
MiniMax-M2.7 $0.0015 $0.0075 $0.09

12 000 входных и 6 000 выходных токенов на запрос. Цены за 1M токенов актуальны и меняются вместе с нашими тарифами; столбец OpenRouter показывает справочные цены для той же нагрузки.

Один раунд на DeepSeek-V4-Flash с теми же числами обойдётся в $0.00078. Если плагин больше, история растёт с каждым раундом, поэтому поменяйте два числа и пересчитайте. Подробнее об оценке счетов агента — в как оценить стоимость ИИ-агента, модели — на странице цен.

Проверьте перед отправкой#

Чек-лист

Перед отправкой промпта для сборки

Напишите первый промпт, прочитайте, что вернулось, и каждую правку переносите в следующую версию требований. Через две-три сессии у вас появится короткий список строк, который вы вставляете в каждый новый промпт, и первый раунд будет ближе к задуманному. Про общие привычки для любого промпта — в статье как написать хороший промпт.