От программирования к агентам интеллектуального труда — Каран Вайдья, Composio
AAI Engineer
컴퓨터/소프트웨어AI/미래기술
스크립트
00:00:00Привет, друзья! Я Каран Ведья, соучредитель и технический директор Composio.
00:00:19Большинство вызовов инструментов для агентов сегодня
00:00:21по-прежнему происходят в одной сфере.
00:00:23Не нужно гадать — это разработка программного обеспечения.
00:00:26Все остальные виды деятельности отстают очень сильно.
00:00:29Если модели продолжают совершенствоваться, то
00:00:32почему мы все еще ограничены только написанием кода с помощью агентов?
00:00:35Это тот самый вопрос на триллион долларов, на который я здесь отвечу.
00:00:43Три года назад агенты по кодированию были просто автодополнением.
00:00:47Сегодня разработка программного обеспечения стала полностью автономной.
00:00:50Мы прошли путь от бесконечного нажатия клавиши Tab до режима, когда Claude делает все сам.
00:00:56Это просто магия.
00:00:59И почему это произошло так быстро именно в программировании?
00:01:04Большинство людей подумают, что дело в моделях.
00:01:06Да, модели действительно стали намного лучше за последние два-три года, как и
00:01:13окружения: Claude Code, Codex, Cursor.
00:01:17Но сами по себе они не смогли бы добиться такого.
00:01:20Это сработало только потому, что вся инфраструктура и системы вокруг разработки буквально
00:01:26созданы для агентов.
00:01:27Код изначально поставлялся с поддержкой, которая так нужна агентам.
00:01:31У вас есть репозиторий, история коммитов, тесты, CI/CD, код-ревью, линтеры, возможность отката при
00:01:39любой ошибке.
00:01:39Именно то, что заставляет вас доверять агентам — системы вокруг кода.
00:01:45Теперь мы направляем те же самые потрясающие агенты на все остальное: техподдержку, финансы, продажи.
00:01:54Но агенты, которые показывали феноменальные результаты в кодинге, здесь работают вслепую, потому что
00:02:00инфраструктура программирования в других сферах просто отсутствует.
00:02:04Так как же нам навести мост между агентами-кодерами и агентами для интеллектуальной работы?
00:02:11Мы считаем, что дело в шести ключевых примитивах. В кодинге были все шесть, в то время как в интеллектуальной работе нет
00:02:19ни одного.
00:02:20И именно это нам необходимо построить.
00:02:24Первое — это централизация.
00:02:26Агенты по написанию кода работали так хорошо отчасти потому, что находились очень близко к источнику правды.
00:02:34Они знали что, почему и как.
00:02:37Вы даете им репозиторий, инфраструктуру как код, замыкаете цикл и позволяете модели творить.
00:02:43творить.
00:02:44Агент начинает работу со всем необходимым в одном месте, и это — кодовая база.
00:02:51Именно этого сегодня не хватает интеллектуальной работе.
00:02:55Например, данные по одной сделке разбросаны по пяти разным платформам.
00:03:00Записи находятся в Salesforce, документы — в Notion, письма — в Gmail, переписки в
00:03:05Slack, а история техподдержки — в Zendesk.
00:03:09Нет единого источника правды, единого места для сбора всей информации.
00:03:14Кодинг обособлен, а у каждого приложения свой собственный логин.
00:03:18Прежде чем агент для интеллектуальной работы вообще сможет что-то сделать, он должен пойти и собрать все нити воедино
00:03:23и как-то самостоятельно увязать их.
00:03:27И это по-прежнему та отправная точка, с которой начинал агент по программированию.
00:03:30У него уже все было готово.
00:03:32Так как же вы можете ожидать от агента умственного труда работы того же уровня, что и от агента-кодера?
00:03:39Поэтому первое, что мы строим — это недостающий центр.
00:03:42Единое место, где сосредоточены все ваши приложения, все подключения и все логины.
00:03:46Чтобы агенту не приходилось выполнять тяжелую работу по их объединению.
00:03:51Он находит все это в одном месте.
00:03:55И получает ту же базу, с которой стартовал агент по кодированию: репозиторий, информацию
00:03:59по всем стекам в одном едином месте.
00:04:02Это фундамент, с которого вы начинаете, и вы можете предоставить агенту права на запись.
00:04:09Следующее, что нужно агенту — это чувство истории, способность заглядывать в прошлое.
00:04:16В коде вы получаете это бесплатно.
00:04:18Git хранит запись каждого вошедшего элемента, каждого внесенного изменения.
00:04:23Поэтому агент всегда может оглянуться назад и увидеть, как было сделано то или иное изменение.
00:04:27Почему что-то сработало, а почему что-то не сработало.
00:04:31Подумайте о задачах, которые вы обычно поручаете своему агенту.
00:04:34Нам пришлось отменить изменения в прошлом из-за сбоя, но это было довольно трудно осуществить.
00:04:40Можешь ли ты посмотреть на это и вернуть все назад?
00:04:43Он просто изучает историю, восстанавливает все и берется за дело.
00:04:46История нужна не только агенту.
00:04:49Она также нужна вам, чтобы вести учет того, что делает агент.
00:04:53Вы можете видеть, чем занимается агент, где он лажает, а где добивается успеха.
00:04:58И вместо того чтобы верить агенту на слово, вы можете просто зайти в конкретные приложения
00:05:04и посмотреть, что именно он сделал.
00:05:09Теперь задайте те же самые вопросы об интеллектуальной работе.
00:05:12Что привело CRM в то состояние, в котором она находится сейчас?
00:05:16Как мой коллега составил то потрясающее письмо, которое привело к закрытию сделки?
00:05:22Каков реальный процесс эскалации проблемы в поддержке или ее закрытия?
00:05:27Ответы размазаны по сотням приложений, и ни одно из них не сохраняет историю.
00:05:31Поэтому у агента нет памяти.
00:05:33Он начинает с чистого листа почти каждый раз.
00:05:36Никакого представления о том, что пробовали раньше, что сработало, а что нет.
00:05:40И вам тоже абсолютно не на что посмотреть.
00:05:44После того как агент выполняет задачу, он говорит вам, что все прошло успешно.
00:05:47Вы не знаете, действительно ли все прошло успешно.
00:05:49Нет способа узнать, прав он или нет.
00:05:52И именно этого не хватает — учета проделанной работы.
00:05:56Теперь, поскольку все наконец проходит через одно место — эту централизацию,
00:06:02мы можем построить поверх нее слой: журнал записей.
00:06:06Каждое действие, предпринимаемое агентом, может регистрироваться во всех остальных приложениях.
00:06:12Все, к чему он прикасался, что пропустил, что сработало, а что нет.
00:06:17Благодаря этому, во-первых, агент обретает память.
00:06:20Он может оглянуться назад на то, как выполнялись похожие задачи раньше, что было успешным, и повторить это.
00:06:28Он не начинает с чистого листа каждый раз.
00:06:31Во-вторых, вы получаете доверие.
00:06:33Вы наконец-то можете четко видеть, что именно делает агент.
00:06:36Поэтому вместо того, чтобы надеяться на правильность его действий, вы можете вернуться, проверить и поймать его, если он натворит дел.
00:06:44И по мере того, как вы будете все чаще видеть его правильные поступки, у вас разовьется доверие, и вы переложите на него больше задач.
00:06:50Следующее, что нужно агенту — это контекст.
00:06:53Если подумать, существует два вида контекста.
00:06:57Первый — это форма платформы, архитектура.
00:07:01Как вещи перетекают друг в друга, как они связаны, потоки данных.
00:07:05Вроде ментальной карты, которую старший инженер держит в голове, а у младшего уходит около трех месяцев на ее освоение.
00:07:12Второй — это стиль.
00:07:13Это не то, что объективно верно, а скорее то, как выглядит хороший результат в вашей компании.
00:07:19То, как вы делаете вещи: линтеры, проверки типов и так далее.
00:07:24Или, может быть, вы используете декоратор TypeScript, который больше никто не применяет.
00:07:29Это не прописано где-то в своде правил.
00:07:32Это скорее заложено в вашей кодовой базе.
00:07:34Все это доступно в вашей кодовой базе.
00:07:35Поэтому агент может просто пойти посмотреть и разобраться в спецификациях, ваших предпочтениях, линтерах, форматтерах и т. д.
00:07:45Теперь перейдем к интеллектуальной работе, здесь все то же самое.
00:07:48Допустим, вы пишете документ для клиента.
00:07:50Чтобы хотя бы начать, мне пришлось бы открыть базу данных, чтобы выгрузить показатели их использования, проверить постфактум, как они реально пользовались продуктом,
00:07:58и заглянуть в Salesforce, чтобы посмотреть детали сделки.
00:08:01Только после этого я смогу написать первую строку документа.
00:08:05Ответ не был изолирован только в одном из этих инструментов.
00:08:09Я способен написать этот документ, потому что свожу нити из всех этих инструментов в единый контекст у себя в голове.
00:08:15Объединяя историю и контекст, вы получаете карту того, как устроена организация.
00:08:21И эта часть не доступна агенту просто так.
00:08:26Поэтому, выполнив централизацию и логирование — тот самый журнал, который мы только что создали, дающий агенту память и позволяющий проверять его действия,
00:08:36мы добиваемся еще одной интересной вещи.
00:08:38Если регистрировать достаточно много действий каждого агента, вы начинаете видеть закономерности.
00:08:42Вы начинаете видеть, как работает организация, и формировать навыки, представляющие собой некий слепок того, как функционировала компания.
00:08:51Какие подходы работают, какие нет, что приводило к сбоям в прошлом и так далее.
00:08:57Журнал больше не является просто историей того, что произошло.
00:09:01Это картина того, как работает ваша компания.
00:09:03И это действительно работает на трех разных уровнях.
00:09:06Как инструмент работает в целом, что применимо к каждому сотруднику.
00:09:09Как дела обстоят в компании и как вы предпочитаете выполнять работу.
00:09:13Что для вас выглядит хорошим результатом.
00:09:15И это тот самый контекст, которого не хватало агенту по интеллектуальной работе.
00:09:19Как работа выполняется на самом деле.
00:09:21Своего рода реальный учебник-руководство.
00:09:23А также предпочтения компании и конкретного пользователя.
00:09:27И теперь агент может делать к нему запросы и перестать гадать, как функционирует компания.
00:09:34Другая причина, почему агенты-кодеры работают так хорошо.
00:09:37Они сами себя тестируют.
00:09:38Работа проверяет сама себя.
00:09:40Верификация.
00:09:41Как только агент пишет код, за ним следует целый стек проверок.
00:09:44Модульные тесты могут выловить мелкие ошибки.
00:09:47Интеграционные тесты находят те, что влияют на компоненты тремя уровнями ниже.
00:09:52Система типов даже не позволит запуститься чему-то сломанному.
00:09:57Компилятор даже не соберет проект.
00:10:00Поверх этого располагаются программные проверки.
00:10:02Линтеры, форматтеры, bugbot.md, навыки ревью и так далее.
00:10:06И они гарантируют, что код соответствует стандартам, принятым в вашей команде.
00:10:12Ничто из этого не требует вас.
00:10:14Агент сам замыкает цикл и следит за соблюдением стандартов, добиваясь работоспособности кода.
00:10:21Теперь подумайте: некоторое время назад я натравил свой open claw на рассылку для найма.
00:10:28Массовые письма кандидатам.
00:10:30Она запустилась.
00:10:31Она отправила кучу писем.
00:10:34Некоторые из вас, возможно, тоже получили их от моего open claw.
00:10:37Он сделал ровно то, что я ему велел.
00:10:40Это также оказалось катастрофой.
00:10:42Из тех, что попадают в Твиттер с моим именем наверху.
00:10:46Да, полагаю, вы можете представить всю степень моего недовольства.
00:10:51Я был не в восторге, когда это произошло.
00:10:54И вот в чем дело.
00:10:55Каждая проверка с прошлого слайда прошла бы успешно.
00:10:58Письма были корректными.
00:11:00Адреса — настоящими.
00:11:00Они действительно дошли до реальных людей, которые сделали посты.
00:11:04В мире не существовало теста, способного поставить под сомнение то, что действительно имело значение.
00:11:10Стоило ли вообще отправлять это?
00:11:13В этом и пробел.
00:11:14В коде тесты говорят вам, что верно, а что нет.
00:11:17Здесь же мне указал на ошибку интернет.
00:11:21Поэтому мы создаем проверки, которых не хватает.
00:11:24Проблема в описанной ветке была не в том, что сама рассылка ошибочна.
00:11:28А в том, что она ушла до того, как я вообще об этом узнал.
00:11:31Так что решение простое.
00:11:33Перехватывать до того, как это станет реальностью.
00:11:35Для этого мы используем два подхода.
00:11:37Первый: прежде чем агент что-то отправит, он сверяет черновики с моими прошлыми письмами на предмет соответствия моему стилю и качеству.
00:11:47Второй: перед совершением любых деструктивных действий в реальном мире мы предоставляем агенту песочницы (sandbox), имитирующие реальные инструменты, и все действия выполняются в них.
00:11:59Таким образом, ударная волна приходится не на реальный мир, а на песочницу, и я могу все проверить, прежде чем агент сделает это по-настоящему.
00:12:07Сложите эти два фактора вместе, и вы получите то, чего у интеллектуального труда никогда не было.
00:12:11Способ для агента проверить собственную работу еще до того, как она станет реальностью.
00:12:16Он наконец-то может замкнуть свой собственный цикл вместо того, чтобы останавливаться и ждать вас; и со всем этим вы сможете доверять его действиям, не подвергаясь бомбардировке твитами, которые я публикую.
00:12:29Следующее, что необходимо агенту, — это управление (governance).
00:12:32Построение доверия — это контроль над действиями агента, возведение правильных стен вокруг него.
00:12:39В коде эта проблема в основном решена и имеет многоуровневую структуру.
00:12:44Агент может делать все что хочет в своей ветке, но он не может сделать слияние (merge) в main.
00:12:49Между слиянием в main находится человек-ревьюер.
00:12:52Критические файлы имеют владельцев кода (code owners), поэтому при любом их затрагивании привлекаются нужные люди.
00:12:58Мы используем агентов для отправки в предварительные развертывания (preview), никогда не позволяя им касаться продакшена, так что мы контролируем это.
00:13:04Управление представляет собой не единый барьер, а множество шлюзов разного масштаба в зависимости от потенциального радиуса поражения.
00:13:12Ничто из этого не замедляет агента в безопасных зонах, а лишь мешает ему испортить продакшен.
00:13:19И чем жестче эти рамки, тем больше вы можете доверять агенту и позволить ему разгуляться.
00:13:25Вы наверняка видели этот случай.
00:13:27Директор по выравниванию (alignment) в Meta Super Intelligence Lab подключила агента к своей почте, и он начал уничтожать ее почту, удалив множество писем.
00:13:36Она велела ему остановиться, но он продолжал; в конце концов ей пришлось бежать к физической машине, чтобы остановить его, но к тому моменту 200 писем уже исчезли.
00:13:45Она заранее указала ему в промпте подтверждать действия в подобных случаях, но это был лишь промпт, который, вероятно, стерся из памяти.
00:13:53И если тот, чья единственная работа — ИИ-безопасность, не может правильно составить промпт для агента, то, пожалуй, никто из нас не сможет.
00:14:03И в этом истинная причина, почему этим агентам так трудно доверять — не потому, что они хуже кодинг-агентов, а потому, что вокруг них нет стен.
00:14:12В коде стена была уже встроена в систему в процессе нашей прежней разработки.
00:14:17В интеллектуальном труде тоже кое-где есть свои элементы.
00:14:20Например, у Gmail есть области видимости (scopes).
00:14:21У Salesforce есть уровни разрешений.
00:14:23Но все это настолько разрознено, что добиться реального контроля крайне сложно, и люди в основном сводят все к промптингу.
00:14:32А промптинг ненадежен.
00:14:34Агент найдет эти лазейки.
00:14:36Информация сотрется из памяти.
00:14:38И в какой-то момент одно из таких ограждений рухнет, и вы окажетесь в той же ситуации, когда 200 ваших важных писем исчезают.
00:14:47Что же реально остановит это? Не лучшая инструкция, а стена, которую агент не сможет перешагнуть, даже если забудет о ее существовании.
00:15:00Поэтому мы возводим эти стены в два слоя.
00:15:03Первый слой — детерминированный контроль над тем, к чему агент может обращаться и к чему у него есть доступ.
00:15:09Агент по найму может, пожалуй, только читать письма.
00:15:13Агент поддержки может создавать черновик письма, но не отправлять его.
00:15:17Граница находится вне этих агентов.
00:15:19Агент не может оспорить ее, забыть или затереть.
00:15:24Прошлые инструкции давали сбой, потому что хранились в памяти агента в промпте.
00:15:28Здесь не так.
00:15:30Но один лишь контроль доступа не спас бы ее, ведь она действительно создавала почтового агента.
00:15:36Поэтому ему определенно нужен был доступ к почте.
00:15:39Второе, что мы делаем, — предоставляем политики, позволяющие задавать на естественном языке правила поведения агента даже при наличии такого доступа.
00:15:49Например: никогда не удаляйте больше 10 писем без моего разрешения.
00:15:53Никогда не отправляйте письма за пределы определенного домена.
00:15:56Правила, которые регулируют поведение даже при наличии доступа.
00:16:00Таким образом, один слой контролирует, к чему агент может дотянуться, а второй регулирует его поведение в отношении этих возможностей.
00:16:09Вместе это образует реальное управление агентом.
00:16:11Не просьбы к агенту вести себя прилично, а жесткое принуждение к соблюдению правил.
00:16:17Последний столп — обратимость (reversibility).
00:16:20И здесь мы подходим к моменту, когда что-то идет не так.
00:16:25Могу ли я это отменить?
00:16:27В коде — практически всегда да.
00:16:30Каждое изменение записывается.
00:16:32Все можно отыграть назад.
00:16:33Вы можете сделать git revert последнего коммита или использовать git bisect, чтобы найти сломавший продакшен коммит и откатить его.
00:16:41Я не утверждаю, что это здорово.
00:16:44Я не буду притворяться.
00:16:45Если что-то попадает в продакшен и ломается — это всегда плохо.
00:16:48Но это все же не навсегда.
00:16:50Вы все еще можете отыграть это назад.
00:16:51И именно это дает вам уверенность позволить агентам работать и творить некоторую магию.
00:16:57Потому что даже если они что-то сломают, у вас есть путь назад.
00:17:03В интеллектуальном труде кнопки отмены нет.
00:17:05Вспомните тот случай с почтой.
00:17:07Те 200 писем пропали.
00:17:09Они испарились.
00:17:10Кстати, это стандартный случай.
00:17:12А сценарий катастрофы — это отправленное письмо, которое уже не вернуть.
00:17:15Совершенный денежный перевод, деньги по которому не вернуть.
00:17:18Удаленная запись — пропала навсегда.
00:17:20Большинство действий в интеллектуальном труде на самом деле не имеют кнопки отмены.
00:17:24И это меняет все уравнение.
00:17:27Это меняет радиус поражения.
00:17:29С кодом вы можете доверять агенту постфактум.
00:17:31Дать ему поработать.
00:17:32Проверить результат.
00:17:33Отменить, если он неверный.
00:17:34Здесь пути назад нет.
00:17:36Единственный выход для вас — доверять агенту до того, как он совершит действие.
00:17:40Именно поэтому такие агенты кажутся опасными так, как кодинг-агенты никогда не казались.
00:17:44Дело не в том, что они часто ошибаются.
00:17:46А в том, что здесь ошибки — навсегда.
00:17:49Поэтому вы либо полностью берете контроль на себя заранее, либо никогда не позволяете ему действовать.
00:17:55Буду честен.
00:17:56Обратимость труднее всего воспроизвести в интеллектуальном труде.
00:17:59Настоящая отмена, существующая для кода, вероятно, невозможна во всех сценариях интеллектуальной работы.
00:18:04Но у нас есть сценарии, где отмена возможна, и мы их называем.
00:18:09Допустим, вы добавляете метку.
00:18:11После этого вы можете удалить метку.
00:18:14Но для действий, которые вообще нельзя отменить, таких как жесткое удаление писем из входящих,
00:18:21мы снова предоставляем песочницу, где агент сначала делает все там,
00:18:25вы можете это проверить, и только после этого изменения попадают в продакшен.
00:18:30Ничто из этого не касается реального мира.
00:18:31В этом весь переворот.
00:18:32В коде ошибку можно отменить после того, как она произошла.
00:18:35Здесь вы перехватываете ее до того, как это случится.
00:18:37Разное время, тот же результат.
00:18:39Ошибка, которая не закрепится.
00:18:41Вернемся к вашему примеру.
00:18:42Для обратимых действий мы бы предоставили кнопку возврата.
00:18:45Для необратимых агент сначала отправлялся бы в песочницу,
00:18:48и она получила бы уведомление: Ваши 1200 писем собираются удалить.
00:18:52Вы хотите этого?
00:18:54Это еще не сделано.
00:18:57Но проходя через миллиарды выполняемых действий,
00:19:00мы по ходу дела учимся тому, какие из них можно отыграть назад, а какие нет,
00:19:04и соответствующим образом настраиваем песочницу.
00:19:09Если вы вынесете из сегодняшнего дня хоть что-то одно, пусть это будет следующее.
00:19:11Два года узким местом была модель.
00:19:14Поэтому все гонялись за все более совершенными моделями.
00:19:17Теперь модели стали достаточно хороши, чтобы разработка ПО была автономной на 100%.
00:19:23Но теперь узким местом стало все остальное.
00:19:26Тот же самый код, который пишет вашу программу, может выполнять наем, продажи и другую интеллектуальную работу.
00:19:36Но прямо сейчас она работает вслепую.
00:19:39Никакой истории, никакого контекста, никаких способов верификации, никаких защитных барьеров, никакого отката.
00:19:44Так что узкое место переместилось.
00:19:48Теперь это инфраструктура, которую еще никто не построил, и именно ее мы создаем в Composio.
00:19:54Да, мы обеспечиваем миллиард вызовов инструментов в общей сложности, по 300 миллионов вызовов ежемесячно.
00:20:02И если вы создаете агента, просто укажите его на Composio и наблюдайте за магией в интеллектуальном труде.
00:20:08А если вы хотите строить фундамент будущего для ИИ-агентов, пожалуйста, обращайтесь ко мне.
00:20:13Мы определенно нанимаем сотрудников, и сделать предстоит еще очень и очень многое.
00:20:17Модели будут продолжать улучшаться.
00:20:19Узким местом станут не модели.
00:20:21Ими окажутся сопутствующие вещи.
00:20:22Спасибо.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기