Разбор аудиорежима в кодексе
Будет особенно интересно тем, кто сам разрабатывает что-то подобное.
Но и просто пользователям тоже постарался сделать полезным – чтобы понимать ограничения таких систем и лучшие практики взаимодействия с ними
Короче, я тут на днях делал себе компрессы для глаз (*звуки деда*), а они прям полностью глаза закрывают, там такая маска, типа как для сна
Ну и вместо того, чтобы спокойно посидеть и подумать о вечном, я врубил диалоговый режим кодекса и проболтал с ним пол часа вместо положенных мне 15 минут
Стало интересно, че это он такой умный, и я полез реверсить билд кодекс аппа – реализация оказалась одновременно и простой, и глубокой. А сам подход можно использовать не только для аудио (но об этом в конце поста)
В общих чертах – вы общаетесь не с самой gpt-5.6-sol в полноценном кодекс агенте, а с тупенькой моделькой gpt-realtime-1. Тупенькой, но быстрой. И заточенной под диалоговый формат с переживаниями – без этого естественности не добиться и любое общение будет мучением.
Так вот, пока у этой модельки хватает сил самой с вами общаться - она будет. Но как только нужно будет сделать что-то сложное, она побежит к кодекс агенту и даст ему задачку. В этот момент сразу же скажет вам что-то вроде «ну-ка дай подумаю» или «так, разбираюсь». Это важно, чтобы мы чувствовали непрерывность общения – как с людьми
Такой типа эффект Джарвис. И это реально работает!
Получается интересная система, очень похожая на ту, которая бывает в обычных айти командах:
- есть менеджер, который всегда онлайн и быстро отвечает, и который общается с заказчиком
- есть исполнитель (например, разработчик), который пилит фичу и отвечает по несколько часов в перерывах между сфокусированной работой
А менеджер ему еще по ходу докидывает задачки, если у заказчика появились новые хотелки
Что интересного из этого следует для нас как для пользователей:1. Если в процессе выполнения слишком много докидывать новые хотелки, то результат получится плохим:
если вы когда то пробовали отправлять steer сообщения в чат работающему агенту, то вы скорее всего замечали – они часто его слишком сбивают с начального пути (ну реально, все как с человеками)2. Как и в реальных командах, если хотите рулить через одного менеджера несколькими процессами – нужен еще тимлид для команды. Поэтому можно просить выступать в этой роли и ничего не делать самому, а для всех задач на исполнение создавать либо отдельные чаты, либо субагентов. Тогда получится:
Менеджер
⬇️
Тимлид
↙️⬇️↘️
Исполнитель1, Исполнитель2, ..., ИсполнительN
Тогда выполнение одной задачи не будет блочить главного думающего агента и будет наш привычный опыт, когда в параллель работают несколько чатов, но только с голосом в качестве канала передачи инфы
Что тут полезного для тех, кто сам делает AI продукты/фичи Мне кажется, можно забрать сам подход с тем, что сессия основного агента не видна пользователю напрямую, а есть какой-то прокси уровень коммуникации. И это не обязательно должен быть голос. Это может быть какой-то визуальный слой (скоро поделюсь своими экспериментами с Liquid UI), или даже обычный текстовый, но в привычном интерфейсе условного Slack, с быстро отвечающей моделью, которая подтягивает контекст из сессии умного, но долгого агента
Ну и если вы делаете голосовых роботов, то советую отправить агента посмотреть, в чем отличие вашей системы от кодекса – мб захотите что-то к себе перетащить
И последнее – если вы хотите лучше разбираться в том, как сейчас строить ИИ продукты, но еще почему-то не реверсите реализацию топовых кодинговых агентов – очень советую начать. Это прям кладезь лучших практик
P.s. я, конечно, очень сильно упростил работу менеджеров – на самом деле они делают гораздо больше, чем gpt-realtime-1. Это просто самая близкая и наглядная аналогия, которую я придумал. Если у вас есть лучше, прошу в комменты
@ai_grably