Стандарты в промптинге: как экономить токены и получать предсказуемый output Я уже писал про то, ка

Стандарты в промптинге: как экономить токены и получать предсказуемый output

Я уже писал про то, как люблю стандарты — они спасают сотни часов разработки, а иногда и жизни. Сейчас хочу поделиться простой техникой, которая сильно упрощает работу со structured output.

Суть в том, что LLM отлично понимают широко-используемые стандарты (ISO и не только) и им не нужно объяснять что это такое — достаточно просто назвать. Вместо «в этом поле укажи язык» (и потом парсить «English», «english», «eng», «английский») — просто говоришь «ISO 639-1» и получаешь чёткий «en».

Что это дает:
— Меньше токенов на выходе — «US» вместо «United States of America»
— Детерминированность — никаких вариаций и неточностей
— Проще парсить — не надо городить регулярки на все случаи жизни
— Совместимость — стандарты работают со всеми библиотеками и API, а еще легко найти готовые маппинги/справочники типа такого

Все стандарты запомнить невозможно, поэтому у меня такой подход: перед тем как составить схему/промпт, спрашиваю себя (и AI) — а есть ли тут стандарт? Дальше разбираюсь какие есть варианты, насколько они общеприняты, и просто ссылаюсь в промпте.

Собрал для вас список наиболее полезных стандартов (список раскрывается)

Языки и локализация
— ISO 639-1 для языков: «en», «ru», «zh»
— ISO 639-2/T (Alpha-3): «eng», «rus», «chi»
— BCP 47 для локалей: «en-US», «zh-Hans», «pt-BR»
— Unicode (UTF-8) для кодировки символов

География
— ISO 3166-1 alpha-2 для стран: «US», «DE», «JP»
— ISO 3166-1 alpha-3 для стран: «USA», «DEU», «JPN»
— ISO 3166-2 для регионов: «US-CA», «DE-BY»
— IANA/Olson для таймзон: «America/New_York», «Europe/Moscow»
— WGS 84 (EPSG:4326) для координат GPS: «55.7558, 37.6173»

Даты и время
— ISO 8601 для дат: «2024-03-15», «2024-03-15T14:30:00Z»
— ISO 8601 duration для периодов: «P3Y6M», «PT2H30M»
— Cron expression для расписаний: «0 9 * * 1-5»
— RRULE (RFC 5545) для повторений: «FREQ=WEEKLY;BYDAY=MO,WE,FR»

Финансы
— ISO 4217 для валют: «USD», «EUR», «BTC»
— IBAN / BIC / SWIFT (ISO 9362) — для счетов и банков

Контакты
— E.164 для телефонов: «+14155551234»
— vCard (RFC 6350) для обмена контактами

Прочие
— MIME types для файлов: «application/pdf», «image/png»
— Hex RGB для цветов: «#FF5733» (а также HSL / HSLA)
— Транслитерация BGN/PCGN
— конечно же база: помните про СИ из школьной физики?

Паттерн в промпте простой: «Extract X from this text. Return ONLY in [STANDARD NAME] format (e.g., «example1», «example2″). If uncertain, return null.»

💡 Pro-tip: Когда стандарт найден — идете на github и ищите его название — скорее всего выйдете много полезного: справочники, библиотеки и тд. Справочники можно искать прямо в gist по фильтру JSON: пример.

Попробуйте на своих задачах. Скорее всего для вашего кейса уже есть стандарт, который LLM знает лучше вас и вам же будет проще это использовать в остальном коде.

🔥🔁 P.S. в тг все еще нет органики, поэтому делитесь если понравилось

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *