Я тут пишу везде “ИИ” и на выступлениях говорю “ИИ”, хотя, конечно, никакие нейросети сегодня не ИИ. Но так короче их называть. Собственно, главная проблема почему нейронкам нужен контролер именно в том, что они никакой не интеллект, поэтому склонны к галлюцинациям и ошибкам.
Хороший промпт снижает количество этих самых ошибок и повышает качество ответа, но иногда этого мало. А автоматизировать процесс хочется, или даже это некая необходимость, поэтому есть еще один способ, как качество ответа повысить – поставить контролера, который будет проверять ответы ИИ.
Самый простой и надежный – контролер-человек. Но какая это автоматизация, когда за ИИ надо все перепроверять. Это скорее полуавтоматизация и в целом даже так можно процессы ускорять, а деньги экономить/зарабатывать. Но вершина эволюции построения процессов – это полная автоматизация, поэтому контролер-человек не наш выбор.
Наш выбор – контролер-ИИ.
Но как сделать так, чтобы ИИ, который глючит, мог проверить другой ИИ, который тоже глючит?
Так как я постоянно занимаюсь построением процессов в n8n с применением ИИ, я перепробовал кучу разных вариантов, и вот самые действенные мои техники:
1️⃣ У исполнителя и контролера должны быть разные промпты. Нельзя просто скопировать промпт исполнителя и поправить в нем “сделай” на “проверь”. Так тоже работает, но плохо, часто выдавая ошибки. 2️⃣ Исполнитель и контролер должны быть разными моделями. Одна и та же модель, условно имеет “одни и те же убеждения”. Это все в переносном смысле, разумеется. Но на практике, если 5.1 проверяет 5.1, то даже с новым промптом делает ошибки, хоть и меньше, чем с таким же (см. пункт 1). 3️⃣ Контролер должен быть самой новой моделью. Она “поумнее”. Почему не пользовать умную модель везде? Без контроля все равно не получится, а так как модели должны быть разными, то лучше ту, что поумнее оставить на ответственном участке. Ну и еще из-за цены токенов.
4️⃣ Контролер должен быть в нескольких местах процесса и не обязательно сразу после ответа ИИ. То есть ответы можно писать в data tables, а потом выбирать для контроля часть данных по нужным критериям.
