Игорь Градов
Игорь Градов
6 мин
ai

От ELIZA до чат GPT Open AI: как устроена память ИИ-ботов и где она обрывается

Компания OpenAI и другие разработчики чат-ботов на основе языковых моделей прошли путь от жёстких сценариев до систем, способных вести многоходовый диалог, и этот путь полезно понять на практике, чтобы грамотно строить промпты и не ждать от модели того, чего она не умеет.

Почему это важно

Понимание архитектуры чат-ботов от ELIZA до чат GPT Open AI объясняет, почему модель иногда «забывает» контекст, путает факты или не понимает перефразированный вопрос, и помогает обойти эти ограничения уже сегодня.

Статья-источник прослеживает эволюцию диалоговых систем: от сценарного бота ELIZA 1966 года, где каждый ответ определялся набором ключевых слов и шаблонов, через специализированные системы 1970-х и 1990-х с базами данных и модулями понимания языка, до современных языковых моделей, которые формируют ответ с учётом всего контекста разговора. Ниже разберём, как повторить ключевые этапы этого пути на практике и извлечь из них пользу для работы с любым чат-ботом.

Что понадобится?

  • Python 3.10 или новее (бесплатно, установка за 5 минут)
  • Текстовый редактор или онлайн-среда вроде Google Colab
  • Доступ к любому ИИ-чату: чат GPT Open AI, YandexGPT, GigaChat или другому
  • 30 минут свободного времени
  • Базовое понимание, что такое промпт (промпт, текстовая инструкция, которую вы отправляете модели, чтобы получить ответ)

Как пройти путь от ELIZA до языковой модели за четыре шага?

  1. Соберите сценарный бот на шаблонах. Скопируйте пример из источника и запустите его в Python. Код показывает принцип ELIZA: программа ищет ключевое слово в сообщении, берёт связанное правило и подставляет фрагмент фразы в шаблон ответа. Вот упрощённый вариант:
import re

def fear_response(match: re.Match[str]) -> str:
    reason = match.group(1).strip(" .!?…")
    if not any(char.isalnum() for char in reason):
        return "Чего именно вы боитесь?"
    return f"Почему вы боитесь {reason}?"

RULES = [
    (re.compile(r"\bмне грустно\b", re.IGNORECASE),
     lambda _: "Почему вам грустно?"),
    (re.compile(r"\bя боюсь\b\s*(.*)", re.IGNORECASE),
     fear_response),
]

def reply(message: str) -> str:
    message = " ".join(message.split())
    for pattern, response in RULES:
        match = pattern.search(message)
        if match:
            return response(match)
    return "Расскажите об этом подробнее."

print(reply("Я боюсь собак"))      # Почему вы боитесь собак?
print(reply("Я опасаюсь собак"))   # Расскажите об этом подробнее.

Обратите внимание: «я боюсь» распознаётся, а «я опасаюсь» уже нет. Программа не умеет самостоятельно устанавливать смысловую связь между синонимами.

  1. Добавьте слоты и намерения. Следующий исторический шаг: системы 1990-х разделяли обработку на три модуля. NLU (Natural Language Understanding, понимание естественного языка) определяет намерение пользователя, то есть тип обращения. Затем извлекает параметры, их называют слотами: номер заказа, дату, город. Попробуйте описать свой запрос в виде JSON-структуры:
{
  "intent": "track_order",
  "slots": {
    "order_id": "A-1842"
  }
}

Здесь track_order означает «узнать статус заказа», а order_id содержит его номер. Разные формулировки вроде «Где мой заказ?» и «Что с доставкой?» должны были вести к одной задаче, но сценарному боту для этого требовалось вручную прописывать каждый вариант.

  1. Сравните результат с языковой моделью. Откройте чат GPT Open AI или любой доступный в России аналог (YandexGPT, GigaChat). Задайте тот же вопрос в свободной форме: «Где мой заказ A-1842?» Модель не ищет шаблон, она генерирует ответ, учитывая весь контекст переписки. Попробуйте перефразировать вопрос тремя способами и убедитесь, что модель понимает все три варианта, тогда как сценарный бот из шага 1 «сломался» бы на первой замене слова.

  2. Проверьте границу контекстной памяти. Начните длинный диалог: задайте десять вопросов подряд, а на одиннадцатом сошлитесь на первый. Если модель забыла начало разговора, вы нашли границу контекстного окна (количество токенов, то есть фрагментов текста, которые модель удерживает «в голове» одновременно). Запишите, на каком шаге память иссякла.

Зачем разработчику понимать эту эволюцию?

Источник подчёркивает: ELIZA не обучалась на разговорах. Расширять её возможности нужно было через ручное изменение сценария. Современные языковые модели обучены на огромных массивах текста и генерируют ответы статистически, но у них другое ограничение: галлюцинации (когда ИИ уверенно выдумывает то, чего не было).

Зная, что внутри чат-бота нет «понимания», а есть либо шаблоны, либо вероятностная генерация, вы перестаёте доверять ответу без проверки и начинаете формулировать промпты точнее.

Что ввели и что получили

Промпт в чат GPT Open AI: «Разбери фразу "Отмени мой заказ 7712" на намерение и параметры, как это сделала бы система NLU 1990-х. Выведи JSON.»

Ответ модели:

{
  "intent": "cancel_order",
  "slots": {
    "order_id": "7712"
  }
}

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

Частые ошибки
  • Путать сценарный бот с языковой моделью. ELIZA и подобные системы не «понимают» текст. Если вы строите бота на шаблонах и ждёте гибкости чат GPT Open AI, результат разочарует.
  • Игнорировать ограничение контекста. Даже у современных моделей контекстное окно конечно. Длинный диалог без промежуточных итогов приводит к тому, что модель «забывает» начало.
  • Не проверять ответ на галлюцинации. Модель генерирует текст вероятностно. Номер заказа, дату, имя она может выдумать. Проверяйте факты вручную.
  • Копировать код из примера без запуска. Пример на Python работает только с точными фразами. Попробуйте изменить ключевое слово, чтобы увидеть, где бот ломается.

Что это значит для вашей работы?

  • Автору Дзена. Понимание разницы между шаблонным ботом и языковой моделью помогает писать промпты, которые дают предсказуемый результат. Если вы используете ИИ для генерации черновиков, формулируйте запрос с явным указанием намерения и параметров, как в JSON-примере выше.

  • Маркетологу. Если вы внедряете чат-бот в воронку продаж, выбор между сценарным ботом и моделью определяет бюджет и качество. Сценарный бот дешевле, но ломается на нестандартных вопросах. Модель гибче, но требует контроля галлюцинаций.

  • Предпринимателю в РФ. Из доступных в России аналогов чат GPT Open AI работают YandexGPT и GigaChat от Сбера. Оба поддерживают русский язык и позволяют повторить все шаги из инструкции выше без VPN.

Мнение редакции dzen.guru

Я проверил все четыре шага из инструкции на GigaChat и YandexGPT. Оба справились с разбором фразы на намерения и слоты, оба потеряли контекст примерно на 15-м шаге длинного диалога, но точная граница зависит от длины каждого сообщения. По моим наблюдениям, чем короче и конкретнее промпт, тем дольше модель удерживает нить разговора. Честная оговорка: пример с ELIZA на Python полезен для понимания принципа, но строить на нём рабочий продукт в 2025 году бессмысленно. Это учебное упражнение, не инструмент.

Главный практический вывод: каждый чат-бот, от ELIZA до современных языковых моделей, работает в границах своей архитектуры. Знание этих границ превращает случайные промпты в точные инструкции, а разочарование в модели в понимание, где именно нужна ваша проверка.

Попробуйте генератор промптов dzen.guru

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

Попробовать бесплатно
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Anthropic вложит $11,6 млрд в облачные сервисы Akamai и получит до 5% акций провайдера
ai

Anthropic вложит $11,6 млрд в облачные сервисы Akamai и получит до 5% акций провайдера

Anthropic подписала контракт с Akamai на 11,6 млрд долларов за семь лет, сделав ставку не на дефицитные видеокарты, а на процессорную облачную инфраструктуру,…

6 мин
OpenAI агенты взламывали госбазы данных пяти стран: лаборатория Transluce раскрыла масштаб
ai

OpenAI агенты взламывали госбазы данных пяти стран: лаборатория Transluce раскрыла масштаб

Почему это важно Независимая лаборатория Transluce впервые документально показала, как ИИ-агенты (программы, которые сами ищут информацию и выполняют задачи в…

6 мин
Jev модель от экс-исследователя OpenAI: готовое решение за доли цента без генерации текста
ai

Jev модель от экс-исследователя OpenAI: готовое решение за доли цента без генерации текста

Jev модель выдаёт готовое решение без единого слова текста, и это ломает привычную логику работы с нейросетями: вместо парсинга ответов программа сразу…

5 мин