В моём окружении сейчас два слова звучат по несколько раз на день: харнесс и детерминированный процесс. Мы с командой прорабатываем компоненты нашего будущего ИИ-детища, и без этих двух терминов, к сожалению или к счастью, никак.
Расскажу, что за ними стоит и почему скоро вы услышите их у себя.
Agent Harness, агентная обвязка, звучит как очередное модное слово, но за ним скучная и честная вещь: обычная программная инженерия, к которой мы все возвращаемся после года игр с промптами.
Голая LLM это процессор: думает и выдает ответ быстро, но сама по себе ничего не доводит до конца. Чтобы она стала автономным агентом, ей нужна «операционная система»: кто-то должен управлять памятью, маршрутизировать запросы, ловить ошибки, собирать всё в единый процесс. Вот эта обвязка вокруг модели и есть Harness.
И тут же второй термин, детерминированный процесс. Модель по своей природе вероятностна, она каждый раз чуть-чуть разная. Отсюда и знакомая многим картина: на демо всё летало, а в проде агент забывает контекст, падает и выдумывает. Задача обвязки: обернуть эту вероятностность в предсказуемый, воспроизводимый маршрут. Чтобы на одинаковый вход система давала одинаковый по качеству результат, а не как повезёт.
Поэтому сама смотрю в разработке не на модель, а на обвязку:
1️⃣ Архитектура даёт больше, чем смена модели. Показательный случай: команда LangChain оставила ту же самую LLM, но переработала обвязку вокруг неё. В жёстком бенчмарке TerminalBench они поднялись с позиции ниже топ-30 сразу на 5-е место, при этом модель не трогали. Изменили только то, что вокруг. И я точно уверена, что именно в этом сила во внедрении приделать «мозгам» руки, ноги и конечно дать качественные материалы на вход.
2️⃣ Контекст важнее красивого промта. В реальных задачах контекстное окно быстро забивается мусором, и модель буквально глупеет на глазах. Хорошая обвязка сжимает историю диалога и подтягивает только то, что нужно на конкретном шаге. Я уже писала про переход от промпт-инжиниринга к контекст-инжинирингу. Harness это тот же переход, доведённый до уровня архитектуры.
3️⃣ Детерминированность вместо шаманства. Обвязку можно описать понятиями, которые разработчик знает: пайплайны, состояние, вход и выход. Это управляемо и воспроизводимо. А бесконечный тюнинг промтов, где ты меняешь одно слово и молишься, это не процесс, это гадание.
Вывод, к которому я пришла на своих проектах: если ИИ-пилот стабильно генерирует инциденты, дело не в том, что вы взяли «не ту модель», а в том как организован процесс вокруг.
Всем здоровья, мира и добра!🕊
#ИИглоссарий
Расскажу, что за ними стоит и почему скоро вы услышите их у себя.
Agent Harness, агентная обвязка, звучит как очередное модное слово, но за ним скучная и честная вещь: обычная программная инженерия, к которой мы все возвращаемся после года игр с промптами.
Голая LLM это процессор: думает и выдает ответ быстро, но сама по себе ничего не доводит до конца. Чтобы она стала автономным агентом, ей нужна «операционная система»: кто-то должен управлять памятью, маршрутизировать запросы, ловить ошибки, собирать всё в единый процесс. Вот эта обвязка вокруг модели и есть Harness.
И тут же второй термин, детерминированный процесс. Модель по своей природе вероятностна, она каждый раз чуть-чуть разная. Отсюда и знакомая многим картина: на демо всё летало, а в проде агент забывает контекст, падает и выдумывает. Задача обвязки: обернуть эту вероятностность в предсказуемый, воспроизводимый маршрут. Чтобы на одинаковый вход система давала одинаковый по качеству результат, а не как повезёт.
Поэтому сама смотрю в разработке не на модель, а на обвязку:
1️⃣ Архитектура даёт больше, чем смена модели. Показательный случай: команда LangChain оставила ту же самую LLM, но переработала обвязку вокруг неё. В жёстком бенчмарке TerminalBench они поднялись с позиции ниже топ-30 сразу на 5-е место, при этом модель не трогали. Изменили только то, что вокруг. И я точно уверена, что именно в этом сила во внедрении приделать «мозгам» руки, ноги и конечно дать качественные материалы на вход.
2️⃣ Контекст важнее красивого промта. В реальных задачах контекстное окно быстро забивается мусором, и модель буквально глупеет на глазах. Хорошая обвязка сжимает историю диалога и подтягивает только то, что нужно на конкретном шаге. Я уже писала про переход от промпт-инжиниринга к контекст-инжинирингу. Harness это тот же переход, доведённый до уровня архитектуры.
3️⃣ Детерминированность вместо шаманства. Обвязку можно описать понятиями, которые разработчик знает: пайплайны, состояние, вход и выход. Это управляемо и воспроизводимо. А бесконечный тюнинг промтов, где ты меняешь одно слово и молишься, это не процесс, это гадание.
Вывод, к которому я пришла на своих проектах: если ИИ-пилот стабильно генерирует инциденты, дело не в том, что вы взяли «не ту модель», а в том как организован процесс вокруг.
Всем здоровья, мира и добра!🕊
#ИИглоссарий