[1/2] Prompt Engineering for LLMs (Рубрика AI)
Прочитал по большей части на новогодних каникулах популярную книгу про prompt engineering , которая вышла ~2 года назад. В ней Джон Берриман и Альберт Циглер рассказывали о том, как правильно «разговаривать» с большими языковыми моделями (LLMs). Авторов интересно читать, так как они – создатели одного из самых успешных AI-продуктов (GitHub Copilot) и шарят в теме.
В 2024 году тема prompt engineering была горячей, ее много обсуждали и эта книга стала одним из первых гидов - от основ до продвинутых тем, также в ней были готовые шаблоны с примерами кода. Все это сделало книгу ценным пособием для разработчиков. Если говорить подробнее про содержание книги, то она состоит из трех частей
1️⃣ Основы LLM: устройство и эволюция моделей, их обучение и переход к диалогам. В первой части было 4 главы 1. Introduction to Prompt Engineering - почему LLM выглядят как «магия», краткая эволюция языковых моделей и где в этой картине prompt engineering как инженерная дисциплина. 2. Understanding LLMs - LLM как completion engine: токены/токенизация, автрорегрессия, галлюцинации, temperature/probabilities, основы трансформера; почему порядок текста и «нагрузка» на модель реально влияют на качество. 3. Moving to Chat - переход от completion к chat: RLHF (как он собирается), instruct vs chat, «alignment tax», эволюция API и почему следующая остановка — tools. Идея промптинга как «постановки пьесы» (сцены/роли/реплики). 4. Designing LLM Applications - ключевой фрейм: LLM loop (перевод проблемы пользователя в домен модели → completion → пост‑обработка обратно). Внутри: retrieval → snippetizing → scoring → prompt assembly; где добавляются state, внешний контекст, глубина рассуждений, tools и eval.
2️⃣ Ключевые техники: few-shot примеры, добавление внешних данных (подход Retrieval-Augmented Generation) для снижения галлюцинаций, форматирование длинных запросов Во второй части было 3 главы 5. Prompt Content - из чего «собирать» промпт: static (инструкции, few-shot + типовые риски) vs dynamic (контекст на лету); RAG (lexical vs neural), эмбеддинги/векторное хранилище; суммаризация (в т.ч. иерархическая) и выбор «общей» vs «под задачу». 6. Assembling the Prompt - как упаковать всё в лимит контекста: «анатомия» промпта, выбор формата документа (advice conversation / analytic report / structured doc), форматирование сниппетов и few-shot, elastic snippets, зависимости между кусками (position/importance/dependency). Плюс важная практика: середина промпта часто “проседает” (условная valley of meh), важное лучше держать ближе к концу. 7. Taming the Model - «анатомия completion»: preamble, узнаваемые start/end, postscript; stop‑sequence/стриминг; logprobs для уверенности/классификации; как выбирать модель (качество/цена/латентность/фичи).
В продолжении я расскажу про продвинутые темы, а также поделюсь своими мыслями насчет актуальности книги в 2026 году.
#AI #DevOps #Software #Engineering #Architecture