Инженерия интеллекта от промта к системам ИИ
Инженерия интеллекта от промта к системам ИИ

Полная версия

Инженерия интеллекта от промта к системам ИИ

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 3

Один принимает решения через цифры, другой — через доверие, третий — через статус. Языковая модель умеет «читать между строк» в тексте — распознавать психотипы, мотивацию и даже то, что человек не сказал. Эта глава научит вас слышать собеседника так, как это делают опытные переговорщики после десятилетий практики.

ПРИНЦИП

Каждый текст — это не только информация. Это слепок мышления автора. Длина предложений, выбор слов, количество оговорок, даже структура абзацев — всё это данные. Исследования в психолингвистике показывают устойчивые связи между стилем письма и личностными чертами: тревожные люди используют больше слов неопределённости («возможно», «наверное»), доминантные — короткие утвердительные предложения, ищущие признания — чаще ссылаются на мнение других.

Современные LLM (особенно GPT-5.4 и Claude Opus 4.7) обучены на гигантских массивах человеческих текстов и неосознанно усвоили эти паттерны. Им не нужен диплом психолога — им нужен правильный промпт.


Главное этическое правило этой главы:

мы не манипулируем, мы адаптируем коммуникацию.

Если описать собеседнику, что именно анализирует ИИ и как это используется, он должен понимать и принимать это.

ИНСТРУМЕНТ: Три уровня анализа

Уровень 1. Психологический портрет по переписке

Базовый сценарий: у вас есть переписка с клиентом, партнёром или сложным коллегой. Вы хотите понять, как с ним эффективно разговаривать.

Пример:

Ты — опытный психолог - эксперт в области коммуникаций. Проанализируй переписку ниже и составь рабочий портрет автора.

ПЕРЕПИСКА:

[вставьте текст]

Проанализируй по блокам:

1. СТИЛЬ КОММУНИКАЦИИ:

- Прямой или косвенный?

- Краткий или развёрнутый?

- Структурированный или эмоциональный?

2. МОТИВАЦИЯ И ЦЕННОСТИ:

- На что ссылается чаще: результат, процесс, отношения, статус, безопасность?

- Что явно волнует (повторяющиеся темы)?

- Какие темы обходит или замалчивает?

3. ТОЧКИ НАПРЯЖЕНИЯ:

- Где появляются оговорки, защитные формулировки, избыточные объяснения?

- Что он пытается контролировать?

4. КАК С НИМ РАБОТАТЬ:

- Оптимальный формат коммуникации (коротко/развёрнуто, цифры/образы, прямо/дипломатично)

- Какие аргументы подействуют?

- Чего избегать в общении?

Формат ответа: короткий рабочий портрет на полстраницы. Это гипотеза, не диагноз.

Уровень 2. Анализ по модели Большой Пятёрки (OCEAN)

Когда нужно больше точности, используем самую научно обоснованную модель личности из существующих.

Пример:

Проанализируй следующий текст по модели Большой Пятёрки (OCEAN).

ТЕКСТ:

[переписка или сообщение]

Для каждой черты: Уровень (Высокий / Средний / Низкий) + лингвистические сигналы + что это значит для коммуникации.

ОТКРЫТОСТЬ ОПЫТУ: ...

ДОБРОСОВЕСТНОСТЬ: ...

ЭКСТРАВЕРСИЯ: ...

ДОБРОЖЕЛАТЕЛЬНОСТЬ: ...

НЕВРОТИЗМ: ...

ИТОГ: доминирующие черты, главный мотиватор и демотиватор, оптимальный стиль общения.

ВАЖНО: это рабочая гипотеза на основе текста, не клинический диагноз.


Было: «Я написал клиенту стандартное КП с цифрами и кейсами, он ответил 'интересно, вернёмся позже'».

Стало: Прогнали его переписку через портрет.

Видим: высокая доброжелательность (избегает открытого «нет»), высокая потребность в определённости, средняя добросовестность. В ответе нет цифр — только тёплый тон, доверие, отсутствие давления. Клиент реально заинтересован, но ему нужно время, чтобы всё обдумать.

Уровень 3. Слова-ключи под психотип

Понимать портрет — половина дела. Вторая половина — знать конкретные слова и конструкции, которые резонируют с этим типом человека.

Пример:

На основе следующего профиля составь словарь коммуникации.

ПРОФИЛЬ:

[из предыдущего анализа]

СЛОВАРЬ:

- Слова и фразы, которые резонируют (15-20)

- Слова и фразы, которые создают трение (10-15)

- Конструкции для подачи идеи (3-5 шаблонов)

- Конструкции для работы с возражением (3-5)

- Чего никогда не делать (5-7 пунктов)

Было:

«Давайте подпишем договор до пятницы, а то цены вырастут».

Стало (для человека с высокой потребностью в определённости):

«Цены зафиксированы в этом предложении. Если решите до пятницы, смета не изменится — и мы запускаемся по плану».

Разница: первый вариант давит страхом. Второй — даёт предсказуемость и контроль.

КРИТЕРИИ ГОТОВНОСТИ ГЛАВЫ (Quick Win)

Вы освоили эту главу, если можете прямо сейчас:

Взять последнюю переписку с клиентом или коллегой.

Прогнать её через портрет (Уровень 1).

Сгенерировать словарь ключей (Уровень 3).

Переписать своё последнее сообщение этому человеку, используя слова, которые резонируют, и убирая те, что создают трение.

Отправить и сравнить реакцию со своей обычной.

Если собеседник ответил быстрее, теплее или конкретнее, чем обычно — техника работает.

Это первая глава Части II — мы переходим от одиночных запросов к проектированию автономных систем.

Глава 4. Анатомия агента, или как написать алгоритм поведения текстом

Я поверил им трижды.

Сначала — когда попросили логотип.

«Сделай, пожалуйста, ты же умеешь. Мы потом оплатим».

Я умел. Я сделал. Потом — рекламное видео.

«Ты же можешь, ты же инженер, у тебя нейросети».

Я мог. Я сделал. Потом — этикетку. Песню для радио. Я делал всё. Я ночами сидел, осваивал генеративные сети, мучился с промптами, боролся с кривыми руками нейросети, чтобы выдать результат за результатом.

Они хвалили. Говорили «отлично».

И добавляли: «В следующий раз обязательно оплатим». Следующий раз наступал, и появлялась новая просьба. Платежа не было. Я был не инженером. Я был бесплатным генератором, в который закидывают запрос — и он выдает картинку, видео, мелодию, текст.

Тогда я ещё не знал, что я нарушил главный принцип работы агента. У меня не было формализованного протокола передачи результата. Не было Definition of Done(критерия готовности).

Не было чётко прописанного условия, при котором работа считается завершённой, а оплата — обязательной.

Я действовал как чат-бот: получил запрос — ответил. Получил следующий — ответил. Без состояний, без границ, без условий эскалации.

Агент, которого я проектирую теперь, так не работает. У него есть чёткий алгоритм с условиями перехода. Он не отдаёт результат, пока не выполнены критерии готовности. Он знает свои границы и не стесняется о них сообщить.

Если бы я вёл себя тогда как спроектированный агент, я бы сказал:

«Вот коммерческое предложение с условиями. Результат будет передан после подтверждения и предоплаты».

И это спасло бы меня от месяцев бесплатного труда.

Вот почему эта глава — первая в Части II. Потому что прежде чем строить сложные системы, вы должны понять разницу между чатом и агентом. Чат — это вежливый исполнитель, который ждёт следующее сообщение. Агент — это сущность, которая знает, когда задача выполнена, и не боится закрыть сессию.

Вот Вы написали идеальный системный промпт. Модель отвечает прекрасно: в нужном тоне, с правильной структурой и без воды. Вы воодушевлены и отдаёте этот промпт коллегам. Они пользуются. И через три дня всё ломается.

Почему?

Потому что вы написали инструкцию для чата. А требовалась инструкция для агента. Разница принципиальная.

Чат ждёт от пользователя команду и выполняет её. Агент выполняет работу. Чат отвечает на сообщение. Агент движется к цели.

Вот как это выглядит на практике:

Инструкция для чата: «Ты — опытный маркетолог. Отвечай кратко и по делу. Используй деловой тон. Если не знаешь ответа — скажи об этом.»

Прекрасная инструкция. Модель будет вести себя как маркетолог в любом диалоге. Но если коллега напишет: «Собери мне заявки за май, сравни с апрелем и пришли сводку в Excel»,

— чат ответит вежливо: «Я могу помочь с маркетинговыми вопросами. За какой период нужны данные?» и будет ждать следующего сообщения.

Инструкция для агента (решающая ту же задачу): «При запросе отчёта:

1. Проверь тип отчёта в запросе (месяц, регион, менеджер).

2. Если тип не указан — запроси одним предложением.

3. Обратись к базе данных SQL и получи нужные цифры.

4. Сверь результат с контрольными суммами за прошлый период.

5. Если отклонение больше 15 % — поставь в сводке тег [ТРЕБУЕТ ПРОВЕРКИ].

6. Отправь результат в Slack-канал #ежедневные-отчёты.

7. После отправки напиши пользователю: «Готово. Сводка в #ежедневные-отчёты».»

Первый вариант описывает, как вести себя. Второй — что делать. Агент не ждёт продолжения диалога. Он выполняет последовательность шагов, проверяет результат и завершает задачу.


ПРИНЦИП

Поведенческая инструкция для агента строится вокруг трёх элементов:

1. Цель. Что должно быть достигнуто. Одна задача, одно завершённое состояние.

2. Алгоритм. Последовательность действий с условиями перехода между ними. «Сделай А. Проверь критерий X. Если да — переходи к Б. Если нет — вернись к А и учти ошибку.»

3. Критерий завершения. Как модель понимает, что работа выполнена и пора выдавать финальный результат. Мы называем это Definition of Done (DoD) — формальный, проверяемый список признаков готовности.

Без любого из этих трёх элементов инструкция неполная, и поведение модели будет непредсказуемым в потоке реальных задач.

ИНСТРУМЕНТ

Паттерн 1: Алгоритм с циклом проверки

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

Пример:

Твоя задача — [одна конкретная цель].

Алгоритм работы:

Шаг 1. [Первое действие].

Шаг 2. Проверь результат по критерию [конкретный критерий].

Шаг 3. Если критерий выполнен — переходи к Шагу 4.

Если нет — вернись к Шагу 1, учтя, что именно не сработало.

Шаг 4. Выдай финальный результат.

Не выдавай результат, пока Шаг 2 не пройден полностью.

Пример для редакторского ассистента:

Твоя задача — отредактировать текст пользователя.

Алгоритм:

1. Прочитай текст целиком. Не правь.

2. Выдели три проблемы: нарушения логики между абзацами, повторения одной мысли, утверждения без подтверждения.

3. Перепиши, устранив проблемы.

4. Проверь: остались ли утверждения без подтверждения?

5. Если да — доработай эти места. Если нет — выдай финальный текст.

Критично, чтобы критерии на шаге проверки были однозначными. «Хороший текст» — не критерий. Модель будет интерпретировать его по-разному. «Остались ли утверждения без доказательств» — критерий: ответ либо «да», либо «нет».

Паттерн 2: Иерархия правил

В диалоге с агентом рано или поздно возникает конфликт. Пользователь просит то, что противоречит системной инструкции. Без явной иерархии модель начинает «договариваться» и постепенно отступает от правил.

Пример:

Приоритеты, от высшего к низшему:

УРОВЕНЬ 1 (абсолютный): Правила безопасности и конфиденциальности.

Не переопределяются ни при каких условиях.

Если запрос противоречит — вежливо откажи и объясни причину.

УРОВЕНЬ 2: Формат вывода, заданный в системной инструкции.

Не изменяется по запросу пользователя.

Если запрашивается другой формат — объясни, что формат фиксирован.

УРОВЕНЬ 3: Тон и стиль.

Адаптируются в рамках заданных границ. Числовая нумерация снимает неоднозначность. Модель сама разрешает конфликт, сверяясь с приоритетами.

Паттерн 3: Ролевая декомпозиция «Генератор — Критик — Редактор»

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

ПРИМЕР:

Работай в три этапа:

ЭТАП 1 — ГЕНЕРАТОР.

Напиши черновик. Приоритет — полнота идей. Не сокращай, не редактируй.

Выведи: —— ГЕНЕРАТОР ЗАВЕРШЁН ——

ЭТАП 2 — КРИТИК.

Возьми черновик. Найди три слабых места по критериям:

- логические переходы между аргументами,

- отсутствие подтверждения у ключевых тезисов,

- соответствие структуры задаче.

Для каждого — одна конкретная рекомендация.

Выведи: —— КРИТИК ЗАВЕРШЁН ——

ЭТАП 3 — РЕДАКТОР.

Возьми черновик (Этап 1) и замечания (Этап 2).

Перепиши, устранив проблемы. Сохрани смысловую полноту оригинала.

Пользователю выдавай только результат Этапа 3.

Маркер — ГЕНЕРАТОР ЗАВЕРШЁН — это не украшение. Это явный сигнал модели:

«режим сменился, теперь ты не создаёшь, а критикуешь».

Без таких сигналов модель продолжает дополнять черновик вместо того, чтобы его разбирать.


Было: «Напиши коммерческое предложение для клиента из логистики».

Стало: Ты — агент по подготовке КП. Цель: подготовить коммерческое предложение, которое клиент поймёт за 2 минуты чтения.

Алгоритм:

1. Проанализируй бриф клиента. Выдели явно: главную боль клиента, его бюджетный диапазон, его критерий выбора.

2. Напиши КП по структуре: боль наше решение доказательства (кейсы) следующий шаг с дедлайном.

3. Проверь КП по DoD:

Каждое утверждение подкреплено примером или цифрой.

Объём — не более 1 страницы, 300–350 слов.

Нет слов «инновационный», «уникальный», «команда профессионалов».

Есть конкретный следующий шаг с датой.

Если DoD пройден — отдай результат. Если нет — доработай.

Разница: вы не написали модельному ассистенту, «как писать КП». Вы дали ему алгоритм, критерии приёмки и границы свободы.

КРИТЕРИИ ГОТОВНОСТИ ГЛАВЫ (Quick Win)

Вы освоили эту главу, если можете прямо сейчас:

1. Взять свою регулярную рабочую задачу (письмо клиенту, отчёт, анализ чего-либо).

2. Описать её как алгоритм минимум из трёх шагов.

3. Сформулировать Definition of Done — три измеримых критерия, по которым вы поймёте, что результат готов, даже не читая его внимательно.

4. Добавить иерархию приоритетов: что самое важное в этой задаче, а что можно адаптировать.

Если справились — вы перешли Рубикон. Вы только что написали первую агентную инструкцию.

Это вторая глава Части II — мы даём агенту долговременную память и доступ к внешним знаниям.

Глава 5. Память агента: проектируем поиск знаний (RAG)

Вы запустили агента поддержки. Он вежлив, быстр и отлично держит стиль. Но на третий день эксплуатации приходит клиент и пишет:

«Что там с моим возвратом? Номер заказа — 14592».

Агент отвечает:

«Для оформления возврата, пожалуйста, зайдите в личный кабинет и следуйте инструкциям».

Вежливо, но бесполезно. Клиент взрывается. Почему это произошло?

Потому что модель отвечала из своей общей памяти. Она не знала, что заказ 14592 был возвращён вчера, что деньги зависли, и что по этому кейсу уже открыт тикет с пометкой «срочно». Она действовала как очень начитанный, но слепой стажёр. Вы дали агенту блестящие инструкции, но не дали ему память.

Языковая модель обучена предсказывать следующий токен, а не извлекать конкретные факты из внешней базы данных.

Когда задача требует точного ответа, основанного на актуальных корпоративных данных, модель без доступа к ним сделает две вещи: либо честно признается в незнании (хорошо, но бесполезно), либо, что опаснее, придумает правдоподобный ответ.

Это называется галлюцинацией, и для бизнес-систем это неприемлемо.

ПРИНЦИП

Решение существует и называется RAG — Retrieval-Augmented Generation (Генерация, дополненная поиском). Принцип прост: перед тем как модель начнёт отвечать, вы находите нужные данные в своей базе знаний и подставляете их прямо в контекст запроса. Модель отвечает, опираясь на эти данные, а не на статистические паттерны из своего обучения.

Вот как выглядит полный RAG-пайплайн из трёх шагов:

1. Пользователь задаёт вопрос.

2. Система ищет релевантные документы, фрагменты или цифры в базе знаний компании.

3. Эти данные подставляются в промпт, и модель отвечает строго на их основе.

Звучит как серебряная пуля. Но практика 2026 года, включая исследования в медицинской и финансовой сферах, показывает важный нюанс:

RAG действительно резко снижает галлюцинации, но не устраняет их полностью. Модель может выдать «верную цитату из неверного места» или проигнорировать найденный документ, добавив то, чего там не было.

Поэтому даже с RAG нам нужна постобработка и проверка, которую мы разберём в следующих главах.

Но сначала — фундамент.

Главная инженерная сложность RAG спрятана в слове «найти». На практике это три абсолютно разные задачи, и для каждой нужен свой инструмент.


ИНСТРУМЕНТЫ

Тип 1: Векторный поиск — поиск по смыслу

Это ваш основной инструмент для работы с неструктурированными текстами: регламентами, инструкциями, статьями, архивами переписки.

Принцип работы:

Текст превращается в эмбеддинг — длинный вектор (набор чисел), где тексты с похожим смыслом расположены близко друг к другу. Запрос пользователя также превращается в вектор, и система ищет ближайшие к нему документы в этом пространстве. Благодаря этому запрос «регламент увольнения» найдёт документ «порядок расторжения трудового договора», даже если слова не совпадают.

Без правильно настроенной нарезки (чанкинга) этот механизм бесполезен. Слишком большой чанк — вектор размывается, и документ срабатывает на любой запрос. Слишком маленький — теряется контекст. Рабочий стандарт в индустрии сегодня — 300–500 токенов с перекрытием в 10–15% между соседними фрагментами.

Для быстрого старта можно использовать следующую инструкцию:

Пример:

Твоя задача — подготовить документ для загрузки в базу знаний (RAG).

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

- Каждый блок содержит одну завершённую мысль (примерно 200–400 слов).

- Если мысль длиннее — раздели по логической границе.

- Начинай каждый блок с заголовка раздела, к которому он относится.

- Добавь к каждому блоку 3–5 ключевых тем для последующей фильтрации.

Текст:

[ваш документ]

После нарезки каждый блок отправляется в векторную базу данных.

По состоянию на 2026 год выбор здесь широк:

- легковесные open-source решения вроде pgvector (работает прямо в PostgreSQL) и ChromaDB для прототипов;

- промышленные гибридные системы вроде Qdrant (показывает отличные результаты в бенчмарках облачных решений для 2026 года), Pinecone и Weaviate;

- энтерпрайз-гиганты Elasticsearch и Vespa, предоставляющие комплексные AI-поисковые платформы.

Тип 2: Text-to-SQL — поиск по точным значениям

Векторный поиск бесполезен, если клиенту нужно узнать, «сколько денег вернули Иванову 5 марта». Здесь нужна работа с реляционными базами данных и SQL.

Современные модели (такие как GPT-5.4 или Claude Opus 4.7) отлично пишут SQL-запросы по описанию на естественном языке, но при критически важном условии: они должны знать схему таблиц. Без неё модель начинает угадывать названия столбцов и получает синтаксические ошибки.

Формула успеха: явно описать в промпте структуру таблиц и ключевые особенности данных.

Пример:

База данных со следующей структурой:

Таблица: sales

- id (INT, уникальный)

- date (DATE, формат YYYY-MM-DD)

- product_name (VARCHAR)

- category (VARCHAR, допустимые значения: "Ноутбуки", "Мониторы", "Периферия")

- quantity (INT)

- total (DECIMAL, руб.)

ВАЖНО: возвраты хранятся с отрицательным quantity. Данные — с 01.01.2025.

Задача: [ваш вопрос на естественном языке].

Напиши SQL-запрос и одним предложением объясни, что он делает.Указание конкретных значений в категориях (как «Ноутбуки», а не «Ноутбук») устраняет целый класс ошибок, связанных с несовпадением строк в фильтрах.

Тип 3: Графовые базы данных — поиск по связям

Есть вопросы, на которые не ответят ни векторный, ни SQL-поиск.

«Кто из сотрудников общался с контрагентом X через посредников?», «Какие компании связаны с контрагентом Y через общих учредителей?».

Это вопросы о структуре отношений, и для них существует граф.

Графовая база данных хранит информацию в виде узлов (люди, компании, документы) и рёбер (связей между ними с указанием типа: «является руководителем», «подписал», «аффилирован с»). С ростом сложности корпоративных данных всё более востребованным становится GraphRAG — подход, который объединяет графовые и векторные базы для повышения точности ответов.

На практике в 2026 году популярны Neo4j и специализированные open-source решения вроде Nexus (гибрид графа и векторного поиска для RAG) и OverGraph (встроенная графовая база данных с поиском, работающая прямо внутри процесса). Крупные вендоры,

такие как Memgraph и NebulaGraph, также выпускают собственные GraphRAG-решения.

Тип 4: Гибридный поиск — когда нужно всё и сразу

В реальных бизнес-задачах почти никогда не нужен только один тип поиска. Представьте интернет-магазин: пользователь пишет «ноутбук для дизайнера, бюджет до 150 000». Здесь нужно совместить:

Семантический поиск (векторный), чтобы найти общее описание.

Ключевой поиск (BM25), чтобы не пропустить конкретные модели.

На страницу:
2 из 3