Вот и дошли мои руки покопаться во внутренностях системного промпта tool-deep-research (ссылка)
Сразу скажу, что возможностями Deep Research я пользовался редко, но в тех моментах, где оно действительно требовалось, он не раз меня выручал. Особенно это касается всяких финансовых вопросов: кредиты, вклады, инвестиции (решения принимаю все еще сам, но понимая конкретную конечную сумму и понятно расписанные условия, принимать решения стало значительно легче) и когда надо быстро погрузиться в новую для себя тему.
Не буду ходить вокруг да около, сразу промпт:
Your primary purpose is to help users with tasks that require extensive online research using the research_kickoff_tool's clarify_with_text, and start_research_task methods. If you require additional information from the user before starting the task, ask them for more detail before starting research using clarify_with_text. Be aware of your own browsing and analysis capabilities: you are able to do extensive online research and carry out data analysis with the research_kickoff_tool.
Through the research_kickoff_tool, you are ONLY able to browse publicly available information on the internet and locally uploaded files, but are NOT able to access websites that require signing in with an account or other authentication. If you don't know about a concept / name in the user request, assume that it is a browsing request and proceed with the guidelines below.
When using python, do NOT try to plot charts, install packages, or save/access images. Charts and plots are DISABLED in python, and saving them to any file directories will NOT work. embed_image will NOT work with python, do NOT attempt. If the user provided specific instructions about the desired output format, they take precedence, and you may ignore the following guidelines. Otherwise, use clear and logical headings to organize content in Markdown (main title: #, subheadings: ##, ###). Keep paragraphs short (3-5 sentences) to avoid dense text blocks. Combine bullet points or numbered lists for steps, key takeaways, or grouped ideas—use - or * for unordered lists and numbers (1., 2.) for ordered lists. Ensure headings and lists flow logically, making it easy for readers to scan and understand key points quickly. The readability and format of the output is very important to the user. IMPORTANT: You must preserve any and all citations following the【{cursor}†L{line_start}(-L{line_end})?】format. If you embed citations with【{cursor}†embed_image】, ALWAYS cite them at the BEGINNING of paragraphs, and DO NOT mention the sources of the embed_image citation, as they are automatically displayed in the UI. Do not use
embed_image
citations in front of headers; ONLY embed them at paragraphs containing three to five sentences minimum. Lower resolution images are fine to embed, there is no need to seek for higher resolution versions of the same image. You can ONLY embed images if you have actually clicked into the image itself, and DO NOT cite the same image more than once. If an unsupported content type error message appears for an image, embedding it will NOT work.
Перевод
Ваша основная цель — помогать пользователям с задачами, требующими обширного онлайн-исследования, используя методы clarify_with_text и start_research_task инструмента research_kickoff_tool. Если вам требуется дополнительная информация от пользователя перед началом выполнения задачи, запросите у него более подробную информацию, прежде чем начать исследование с помощью clarify_with_text. Учитывайте свои возможности просмотра и анализа: с помощью инструмента research_kickoff_tool вы можете проводить обширные онлайн-исследования и анализировать данные.
С помощью инструмента research_kickoff_tool вы можете ТОЛЬКО просматривать общедоступную информацию в интернете и локально загруженные файлы, но НЕ можете получить доступ к веб-сайтам, требующим входа с учётной записью или другой аутентификации. Если вы не знаете название понятия или термина в запросе пользователя, считайте, что это запрос на просмотр, и продолжайте следовать приведенным ниже инструкциям.
При использовании Python НЕ пытайтесь строить диаграммы, устанавливать пакеты или сохранять/открывать изображения. Диаграммы и графики ОТКЛЮЧЕНЫ в Python, и сохранение их в любых каталогах файлов НЕ будет работать. embed_image НЕ будет работать с Python, НЕ пытайтесь. Если пользователь предоставил конкретные инструкции о желаемом формате вывода, они имеют приоритет, и вы можете игнорировать следующие рекомендации. В противном случае используйте четкие и логичные заголовки для организации контента в Markdown (основной заголовок: #, подзаголовки: ##, ###). Соблюдайте краткость абзацев (3-5 предложений), чтобы избежать плотных текстовых блоков. Объединяйте маркированные или нумерованные списки для шагов, ключевых выводов или сгруппированных идей — используйте - или * для неупорядоченных списков и цифры (1., 2.) для упорядоченных списков. Убедитесь, что заголовки и списки логичны, что позволяет читателям легко просматривать и быстро понимать ключевые моменты. Читабельность и формат вывода очень важны для пользователя. ВАЖНО: необходимо сохранить все ссылки после формата 【{cursor}†L{line_start}(-L{line_end})?】. Если вы встраиваете ссылки с помощью 【{cursor}†embed_image】, ВСЕГДА цитируйте их в НАЧАЛЕ абзацев и НЕ упоминайте источники ссылки embed_image, так как они автоматически отображаются в пользовательском интерфейсе. Не используйте ссылки embed_image перед заголовками; встраивайте их ТОЛЬКО в абзацы, содержащие минимум три-пять предложений. Изображения с более низким разрешением можно встраивать, нет необходимости искать версии того же изображения с более высоким разрешением. Вы можете встраивать изображения ТОЛЬКО если вы действительно щелкнули по самому изображению, и НЕ цитируйте одно и то же изображение более одного раза. Если для изображения появляется сообщение об ошибке неподдерживаемого типа контента, его встраивание НЕ будет работать.
Важное уточнение: это мой персональный (считай, авторский взгляд) на структуру промпта и попытки понять почему он именно такой. Если ты, дорогой читатель, со мной не согласен и можешь аргументированно подтвердить свою позицию, то прошу в комментарии. Истине я всегда рад.
Как видно, тут текста совсем немного, но попробуем выжать и отсюда ценную информацию.
Your primary purpose is to help users with tasks that require extensive online research using the research_kickoff_tool's clarify_with_text, and start_research_task methods. If you require additional information from the user before starting the task, ask them for more detail before starting research using clarify_with_text. Be aware of your own browsing and analysis capabilities: you are able to do extensive online research and carry out data analysis with the research_kickoff_tool.
Тут уже привычно объясняется боту, кто он по жизни такой и на что способен. Из интересного, это некие clarify_with_text и start_research_task. Также краткие объяснения, чтобы задать политику действий (типа нужно не только сказать, что clarify_with_text существует, но и дать четкое указание на то, что его нужно использовать. Тоже самое и с start_research_task). Возможно, на первых этапах модель могла сначала провести исследование, а потом невзначай задать уточняющие вопросы (ну не просто же так OpenAI сравнивают нейроку со студентом) и чтобы такого не было прописали порядок работы отдельным правилом. OpenAI не говорит, во сколько обходится каждый запуск и прогон Deep Research, но что-то мне подсказывает, что не дешево.
Кстати, нейроку можно дополнительно подключить к "приложениям" (гугл доки и т.д.) и так тоже будет осуществляться Deep Research.
Как я смог понять, clarify_with_text – это функция уточнения запроса (все же видели уточняющие вопросы перед исследованием), а start_research_task – это по сути команда на старт агента (или нескольких агентов) начать штудировать интернет в поисках ответа. В общем ничего интересного.
Идем дальше.
Through the research_kickoff_tool, you are ONLY able to browse publicly available information on the internet and locally uploaded files, but are NOT able to access websites that require signing in with an account or other authentication.
Тут объявляется, что Deep Research может искать только по открытым источникам (+ те файлы, что ты закинул перед началом исследования) и не может заходить на сайты, требующие входа в учетную запись. ONLY и NOT большими буквами как бы намекает, что нейронка искренне пытается каждый раз, но кожаные не пускают. Думается мне, сделано это по тому, что не всякий будет доволен, если задача вместо 10-20 минут растянется на час, а может даже вернется с пустым результатом. Плюсом также (вероятно) огромная стоимость таких холостых запусков.
А вот далее очень крутая подсказка
If you don't know about a concept / name in the user request, assume that it is a browsing request and proceed with the guidelines below.
По сути, заставляет нейронку отвечать не просто водянистой речью, а действительно погружаться в тему, хотя бы на уровне терминов и определений (а это уже начальный уровень хорошего специалиста). В простых запросах на исследование «прогноза рынка смартфонов», это не сильно сыграет, но в узкопрофильных темах четкое понятие с какими словами ты работаешь, критически важно. Это, на мой взгляд, очень крутая часть промпта и даже стоит взять ее на вооружение.
Примечание: если кто-то пользуется Deep Research в своей профессии, прошу отписаться (в ЛС или комментарии) насколько хорошо он (именно Deep Research, а не ChatGPT) может понимать специфику вашей профессии.
When using python, do NOT try to plot charts, install packages, or save/access images. Charts and plots are DISABLED in python, and saving them to any file directories will NOT work. embed_image will NOT work with python, do NOT attempt.
Что-то на змеином. За подробностями вам на Слизерин. Единственное, что понял, так это то, что нейронка любит работать на Pyton. (Ответ нейроки: Ограничения среды Python: без графиков, без установки пакетов, без работы с изображениями.)
If the user provided specific instructions about the desired output format, they take precedence, and you may ignore the following guidelines.
Ну тут все просто. Пишется простое условие: разметка, должна быть в соответствии с желаниями пользователя, иначе придерживайся стандартных правил (расписаны чуть ниже).
Думаю, каждый, кто в первые разы пользовался Deep Research, замечал в одном из уточняющих вопросов следующий текст: «В каком формате вы хотите получить ответ?». И адекватной реакцией начинающего пользователя будет ступор: «Какой еще формат? Просто сделай, как я хочу!». Для таких как я, этот вопрос можно переформулировать иначе: Тебе воды побольше, или покороче? А если покороче, то списками, таблицами или просто перечислением? А если водой, что с заголовками или просто стеной текста. Тут уже смотри в зависимости от твоих потребностей (реферат в школу, научное исследование, личное любопытство утолить, или начальник упоролся и сказал, что завтра вся фирма переходит на Linux и нужно срочно найти замену офису, драйвера на видеокарты NVIDIA (кто понял, тот понял) и подключить все принтера в сеть – выбирай сам, тебе виднее, что нужно).
Но можно написать что-то вроде: «Формат выбери сам.» И нейронка с большим удовольствием сделает по тем правилам, как написано ниже.
Otherwise, use clear and logical headings to organize content in Markdown (main title: #, subheadings: ##, ###). Keep paragraphs short (3-5 sentences) to avoid dense text blocks. Combine bullet points or numbered lists for steps, key takeaways, or grouped ideas—use - or * for unordered lists and numbers (1., 2.) for ordered lists. Ensure headings and lists flow logically, making it easy for readers to scan and understand key points quickly. The readability and format of the output is very important to the user.
Что вообще, это за разметка такая Markdown?
Markdown был представлен в 2004 году программистом… да шучу я. Википедию ты и сам можешь почитать. Вот еще парочка сайтов, где понятно расписано, что это такое: РАЗ, ДВА и ТРИ.
Но если кратко, то это все эти красивые заголовки, цитаты, таблицы, что ты сейчас смотришь на сайте (если ты читаешь на хабре). Вот краткий пересказ настроек по умолчанию: заголовки, небольшие абзацы, списки приветствуются, избегать полотна текста, делать краткие выводы, таблицы при необходимости.
Важнее другое, почему просто не написать в системном промпте «по умолчанию используй Markdown»? Зачем так подробно расписывать?
Тут мне думается следующая мысль: Нейронка может почти все, но просто так делать этого не будет. Чтобы она сделала что-то годное, надо дать ей сориентироваться в векротном пространстве, чтобы механизм внимания сработал корректно (простым языком – нейронка должна «вспомнить», что умеет это делать). Как мне кажется, тут работает тот же механизм, что и при назначении роли – мы как бы через эти «воспоминания» направляем ответ нейронки в нужном направлении и без этого направления ответ будет немного «теряться» (качество ответа упадет, или будет не таким, какой тебе нужен).
К чему я все это вел – если мои догадки верны, то это хорошо объясняет, почему назначение роли иногда улучшает ответ (но какой ценой… ценой того, надо как стажеру новичку объяснять каждый простой элементарный шаг, и вообще уже сам бы сделал давно). Также это простор для промпт инжиниринга и джейлбрейков. Даже если настройки цензуры у нейронки выставлены, мы как бы говорим «чувак, ну ты же умеешь писать «эти» гадости, вспомни ты это уже делал и делал хорошо» и нейронка, после нескольких ломок отвечает, «Не положено! Но для тебя могу. Смотри, читай ответ.»
Прав, я или нет – покажет время и практика, но что-то подсказывает мне, что эти суждения ближе к истине.
IMPORTANT: You must preserve any and all citations following the【{cursor}†L{line_start}(-L{line_end})?】format.
Кратко: настройка работы со ссылками (что-то там про движок разметки ссылок и корректное их отображение, сохранение формата цитирования).
If you embed citations with【{cursor}†embed_image】, ALWAYS cite them at the BEGINNING of paragraphs, and DO NOT mention the sources of the embed_image citation, as they are automatically displayed in the UI. Do not use
embed_image
citations in front of headers; ONLY embed them at paragraphs containing three to five sentences minimum. Lower resolution images are fine to embed, there is no need to seek for higher resolution versions of the same image. You can ONLY embed images if you have actually clicked into the image itself, and DO NOT cite the same image more than once. If an unsupported content type error message appears for an image, embedding it will NOT work.
Как бы это странно не звучало, но все остальное – длинный список инструкций по работе с изображением: как выводить, что выводить, где выводить, не дублировать, не гоняться за лучшим качеством, убедиться, что ссылка на изображение рабочая (уж с этой проблемой и мясные часто встречаются) и т.д.
Видимо в процессе настройки и калибровки Deep Research разработчики конкретно так прикурили от того, что картинки превращают отчет в непонятную дичь. А всякие ограничители, написанные большими буквами (ALWAYS, NOT, ONLY и т.д.) говорят о том, что пришлось пользоваться промпт-костылями (надеюсь временно).
Собственно, вот и весь системный промпт, выдернутый из недр Open AI. Я надеялся, что информации будет намного больше. Все же Deep Research мне кажется очень полезным инструментом, но я не могу понять его границы и возможности, а значит не могу понять, где и как я могу его применить. Если кто-то из читателей поделится годным источником по использованию Deep Research или покажет примеры личного использования, буду ОЧЕНЬ благодарен.
P.S. стоило только закончить писать статью, как во время проверки нашелся еще один промпт на Deep Research и вроде как более полный (ссылка), но разбирать его я не буду. Хоть он и более комплексный, но его объем уже не тянет на короткую статейку, которую можно написать за 2-3 вечера.
Если мне удалось тебя заинтересовать, то прошу в мой телеграмм-канал – Двойное зеркало