Система промптов для составления РПД
Немного терминов — о промптах — окно контекста — LtM мультипромпт для составления РПД — как составить свою систему
Часть первая, вводная
РПД — рабочая программа дисциплины, один из самых запросов от преподавателей на курсах по использованию нейросетей.
Промпт — структурированный запрос к нейросети, выдающий стабильный результат.
Метод промптинга — проверенный на практике принцип составления качественного промпта.
LtM — Least to Most, метод промптинга, в котором большая задача разбивается на последовательные шаги.
Дескриптор — ключевое слово, фраза, абзац, на которые конкретная нейросеть реагирует определённым образом.
Нейросеть — в данном тексте речь только о LLM, больших языковых моделях.
Часть вторая, промптная
Задача составления РПД не решается в лоб. Нельзя написать запрос и получить качественный результат. Нельзя написать промпт. Нельзя взять чужой промпт и получить подходящую вам программу.
Когда мы работаем над чем-либо, мы используем огромный объём контекста. У нейросети этого контекста нет: она никогда не встречалась с вашими студентами, не написала десятки РПД, не знает как вы предпочитаете выстраивать образовательный трек.
Следовательно, задачу «составить РПД» можно разделить минимум на две: «загрузить контекст» и «составить РПД». Если подумать ещё немного, каждая из них может быть декомпозирована на несколько подзадач, в свою очередь, их тоже можно разбить на части...
Так мы приходим к идее, что нам потребуется метод LtM для составления грамотного промпта.
При Least to Most подходе разбивку на шаги осуществляет LLM, а не её пользователь. Люди и нейросети по-разному алгоритмизируют процесс, поэтому если вы начинаете работать с нуля, на первом этапе попросите LLM разбить сложную задачу на максимально простые шаги.
Предположим, наша задача разбита на отдельные шаги. Теперь каждый шаг надо превратить в промпт. Конечно, можно обойтись и без этого и просто в одном чате просить нейросеть выполнить тот или иной шаг. Но при этом вы не получите набора отчуждаемых и стабильных промптов, и при составлении следующей РПД придётся начинать с нуля. Поэтому давайте составлять промпты!
Структура
Вариантов структур в Сети — выше крыши. И нет «правильной». Вы делите промпт на самые логичные, с вашей точки зрения, части. Задача — инструкция — форматы вывода? Роль — задача — контекст — примеры? Решайте сами.
Самое важное, что у каждой части должен быть заголовок в 1-2 слова и...
Форматирование
...и части были отделены друг от друга пустой строкой. Также могу посоветовать не использовать в промпте кавычки и круглые скобки, особенно, если вы подгружаете в чат с нейросетью какие-то документы или вставляете текст из других источников.
Дескрипторы
Самые важные вещи повторяем несколько раз. Нормально краткую формулировку задачи написать в начале и в конце промпта. В порядке вещей писать «сделай таблицу, покажи мне таблицу, больше ТАБЛИЦ».
Для каждой нейросети есть свои дескрипторы, и — естественно! — для chatGPT их больше всего. Есть дескрипторы на снижение галлюцинаций, на развёрнутый текст, на определённый стиль... У меня есть таблица дескрипторов для методистов, в ней собраны ключевые слова и фразы на русском и английском по разным образовательным методикам. Посмотрите, может быть найдёте что-то полезное для себя.
Контекст
Это №1. Никакие инструкции не помогут, если у нейросети не будет исходного материала. Понятно, что некоторый набор знаний и текстов хранится внутри, но вы не можете оценить их качество. Поэтому закидываем LLM всем, чем только можно. Роль преподавателя и методиста, примеры РПД, служебные инструкции по их составлению, ваши личные впечатления от студентов... Если в интерфейсе нейросети есть возможность прикреплять файлы — вам повезло.
Часть третья, отступительная
Кстати, про интерфейс. Посмотрите на большинство сервисов — они представляют собой чаты, в которых вы с нейросетью по очереди перекидываетесь репликами. И такой подход к взаимодействию с ИИ даёт нам несколько интересных возможностей!
- У каждой нейросети есть определённый объём окна контекста. Это информация внутри ОДНОГО чата, которой LLM может оперировать. Ваш диалог — это сам по себе контекст для ответа на следующие запросы.
- Следовательно, с одной темой и одной глобальной задачей мы работаем внутри одного чата. При смене темы или задачи — создаём новый чат.
- Если нейросеть начинает забывать то, что было в соседнем сообщении, значит, вы исчерпали окно контекста. Упс.
- При ответе на новый запрос нейросеть старается соблюдать все предыдущие инструкции. Значит, можно давать ей промпты на английском, но в самом начале попросить ответы на русском. Обычно это работает хорошо. Почему промпты на английском работают лучше? Потому что обучение LLM чаще происходит на примерах этого языка.
- Из-за особенностей окна контекста, мы можем пошагово загрузить нейросеть необходимой информацией, и только помот переходить к генерации. Поэтому часть промптов, которые я покажу ниже, бессмысленны для РПД. Они нужны самой LLM, чтобы она хоть немного приблизилась к вашему образу мышления.
Часть четвёртая, наконец-то chatGPTшная
Да, все промпты оптимизированы для chatGPT. Если используете другую LLM, то их придётся редактировать. Это просто: 1) откройте нейросеть с которой планируете работать, 2) создайте новый чат, 3) закиньте промпт и 4) попросите переписать его для получения более качественного результата.
Первый раздел — пошаговая загрузка контекста. Я использую переменные в квадратных скобках, замените их на краткое описание вашей дисциплины. Постарайтесь как можно больше рассказать нейросети о вашем курсе на этом шаге — ведь это как раз то сообщение в окне контекста, к которому нейросеть будет обращаться чаще всего.
ChatGPT легче работать с маркетинговые образами, поэтому задача сформулирована через УТП. Можно считать это как раз одним из дескрипторов.
Снова маркетинговый подход, а именно портретирование целевой аудитории. Самое важное — это последние два пункта, проблема и вопросы. Получив ответ, пробегите его глазами и убедитесь, что портреты персонажей похожи на тех, с кем вы будете работать.
С точки зрения промптинга, здесь вы требуете у LLM строгий output, то есть её ответ должен укладываться в определённую структуру.
Я предпочитаю ставить цели по Блуму, но вы можете указать другую методику. Если это что-то малоизвестное, новаторское, разработанное не на западе, то добавьте в промпт краткую справку. Также можно добавить список компетенций, примеры постановки целей в других программах и даже описания вакансий на рынке труда.
Инструкция для LLM включает в себя три шага. В зависимости от нейросети вы можете получить по-разному структурированный ответ. Если это важно — добавьте часть с описанием output.
Думаю, этот промпт вам точно придётся переписать, отталкиваясь от вашего ФОС. Если вам тоже нравятся output в виде таблицы, то укажите нейросети названия колонок (разделять их можно абзацем, знаком | или точкой с запятой).
На этом первая часть работы не заканчивается: я прошу собрать всю информацию в единый документ-техническое задание. Важно, чтобы все элементы педдизайна находились в конструктивной согласованности, поэтому я делаю дополнительную проверку и исправляю ошибку до тех пор, пока не получу приемлемый результат.
Вторая часть — работа над самой программой. Поскольку я свято верю в педагогический дизайн, то начинаю работы с методов обучения. Вы можете пропустить этот шаг, и тогда получите средний арифметический вариант; то, что нейросеть считает «нормальным».
Вместо этого можно указать ваши любимые подходы и попросить выбрать наиболее подходящий. Обычно я беру 4C/ID, Колба и ADDIE, для каждого кратко указываю особенности целевой аудитории, среды обучения и образа результата.
Тоже шаг, который можно пропустить или перенести в конец. Он нужен для очерчивания границ, поэтому детально тесты, практические задания и контрольные я разрабатываю позднее, а на этом шаге определяюсь с количеством и форматами.
Без примеров в этом промпте не обойтись. Если нет возможности прикрепить файл, то хотя бы приведите 5-6 пунктов из списка вопросов для экзамена и 1 вопрос из теста.
Здесь я даже промпт копировать не буду. Ведь ясно, что во всех вузах свои требования к составлению РПД, своя версия структуры. Поэтому промпт придётся составлять самостоятельно.
Но! Вы можете снова пойти обходным путём: 1) откройте новый чат с нейросетью, 2) загрузите готовую РПД (файлом или копипастом), 3) попросите нейросеть проанализировать и чего она состоит, 4) попросите нейросеть составить пошаговую инструкцию по составлению РПД, 5) загрузите другую РПД и спросите нейросеть, соответствует ли она алгоритму и нет ли необходимости внести в него правки, 6) повторите ещё раз, 7) скопируйте алгоритм и вставьте его внутрь промпта 2.3. Вы великолепны!
Помимо алгоритма нужно сформулировать задачу:
Составь [учебный план / РПД / силлабус / …] на основе всей информации, которую ты знаешь о [курсе].
Используй заголовки, маркированные списки. Составь таблицу с [колонками]. Не используй/используй markdown...
И обязательно определить стиль текста:
Убедись, что стиль текста соответствует лаконичному, академическому тону, подходящему для официальных документов.
А дальше смотрите на результат, вносите уточнения, просите расширить некоторые пункт.
Часть пятая, заключительная и тестировочная
На составление системы промптов у меня ушло почти три недели. Нужно было разбить процесс на шаги, написать промпты, протестировать их, прогнать на трёх гипотетических дисциплиниах, внести правки... Зато теперь всё работает достаточно стабильно.
Но передать именно готовые промтпты я не могу — они настроенны под конкретную нейросеть, конкретную манеру мышления, конкретно оформленный результат.
Поэтому свою систему вам придётся разрабатывать самим. Создайте пять новых чатов:
- В первом разбейте процесс составления РПД на отдельные шаги с помощью LLM. Здесь же попросите сформулировать каждый шаг как промпт.
- Во втором чате тестируйте предложенные промпты. Для этого придумайте какую-либо дисциплину и указывайте информацию о ней в качестве контекста. Если ответы вам не нравятся, редактируйте промпты (нажимайте на иконку карандаша и правьте текст, затем запускайте новую генерацию).
- В третьем чате сработавшую нормально версию промпта нужно оптимизировать, а то в процессе тестирования она может легко превратиться в кадавра. Я использую вот такую конструкцию и слежу за тем, чтобы LLM не вносила сильных изменений в структуру:
- Check these prompts from chatGPT to make sure they are written correctly: no ambiguous descriptors; convenient and clear structure; all the necessary details are given. If you think the prompt is not written correctly, recommend improvements. You can ask questions to clarify exactly what we're trying to accomplish with this prompt.
- В четвёртом и пятом чате тестируем оптимизированный промпт снова на двух выдуманных дисциплинах. Если упростить, то вы сравниваете, через сколько попыток в каждом чате вы добились приемлемого результат. Только не упадайте в перфекционизм!
Скажу честно: после составления программы я продолжаю использовать этот же чат. В нём я составляю список учебного контента, пишу анонсы для соцсетей, разрабатываю вопросы и практические задания... До тех пор, пока не закончится окно контекста и чат не превратится в тыкву.