Прогресс в области агентского ИИ за последние 18 месяцев невозможно игнорировать. В Monzo мы протестировали ряд инструментов и увидели стремительный рост их внедрения: почти все наши инженеры теперь регулярно используют как минимум одного агента для написания кода в своей повседневной работе.
Учитывая такой высокий спрос, мы увидели возможность создать собственного агента для инженерных задач, адаптированного к нашей среде и обладающего всем необходимым контекстом для создания и проверки своей работы с тем же уровнем уверенности, что и у инженера.
Мы создали экосистему агентов, которая сейчас генерирует около 10% всех объединенных PR (pull requests) в Monzo и ежедневно выполняет более 1800 задач.
Зарождение нашего ИИ-агента 🆕
Мы хотели достичь следующих результатов:
- расширить спектр и объем задач, которые могут выполнять инженеры
расширить спектр и объем задач, которые могут выполнять инженеры
- снизить порог входа для неспециалистов, чтобы они могли вносить свой вклад
снизить порог входа для неспециалистов, чтобы они могли вносить свой вклад
- улучшить наш жизненный цикл разработки ПО и инженерные операции за счет автоматизации задач и процессов, перекладывая больше рутинной работы на агентов и позволяя людям сосредоточиться на решении более важных проблем
улучшить наш жизненный цикл разработки ПО и инженерные операции за счет автоматизации задач и процессов, перекладывая больше рутинной работы на агентов и позволяя людям сосредоточиться на решении более важных проблем
Для начала мы заложили фундамент, который позволил нам этого добиться:
- Наш шлюз MCP: обеспечивает централизованный доступ к набору источников знаний, которые информируют модели о наших шаблонах, практиках, наработках и т. д., обогащая контекст агента релевантной информацией для получения лучших результатов
Наш шлюз MCP: обеспечивает централизованный доступ к набору источников знаний, которые информируют модели о наших шаблонах, практиках, наработках и т. д., обогащая контекст агента релевантной информацией для получения лучших результатов
- Удаленная агентская инфраструктура: ключевая инфраструктура для запуска изолированного контейнера, в котором работает агент. Мы можем безопасно запускать агентов с ограниченным набором инструментов (наш MCP, GitHub и т. д.), используя наши существующие возможности наблюдаемости инфраструктуры
Удаленная агентская инфраструктура: ключевая инфраструктура для запуска изолированного контейнера, в котором работает агент. Мы можем безопасно запускать агентов с ограниченным набором инструментов (наш MCP, GitHub и т. д.), используя наши существующие возможности наблюдаемости инфраструктуры
Параллельно мы определили ключевые требования, которые необходимо было учитывать:
- Скорость итерации: в такой динамичной области важно относиться к этому как к продукту, а значит, мы должны иметь возможность внедрять изменения в инструментарий за минуты, а не месяцы. Мы внимательно наблюдаем за тем, как наши клиенты (внутренние пользователи) используют инструменты, а затем быстро итерируем и реагируем на отзывы и уроки, используя реальные данные, инсайты и настроения.
Скорость итерации: в такой динамичной области важно относиться к этому как к продукту, а значит, мы должны иметь возможность внедрять изменения в инструментарий за минуты, а не месяцы. Мы внимательно наблюдаем за тем, как наши клиенты (внутренние пользователи) используют инструменты, а затем быстро итерируем и реагируем на отзывы и уроки, используя реальные данные, инсайты и настроения.
- Владение системой управления: мы банк, поэтому наблюдаемость и контроль имеют первостепенное значение. Мы должны точно знать, что видит агент, что он может делать, и ограничивать его соответствующим образом. Когда в конце 2025 года мы приняли решение создать это самостоятельно, мы понимали, что разработка дает нам полный контроль над необходимыми защитными механизмами и рисками, которыми нужно управлять. Впоследствии это дает нам высокую уверенность в том, что система может и чего не может, и позволяет быстро вносить изменения в партнерстве с нашими инженерами по безопасности.
Владение системой управления: мы банк, поэтому наблюдаемость и контроль имеют первостепенное значение. Мы должны точно знать, что видит агент, что он может делать, и ограничивать его соответствующим образом. Когда в конце 2025 года мы приняли решение создать это самостоятельно, мы понимали, что разработка дает нам полный контроль над необходимыми защитными механизмами и рисками, которыми нужно управлять. Впоследствии это дает нам высокую уверенность в том, что система может и чего не может, и позволяет быстро вносить изменения в партнерстве с нашими инженерами по безопасности.
Стало ясно, что создание собственного инструмента — лучший путь вперед. Мы потратили около трех недель на создание минимально жизнеспособного продукта, и именно так Agent Chip был представлен миру Monzo.
Представляем Agent Chip 👋
Agent Chip — это вездесущий инструмент, доступный в Slack, Linear, Github и локально на компьютере пользователя.
Agent Chip предоставляет доступ к подавляющему большинству наших репозиториев, документации, систем наблюдаемости и т. д. одним нажатием кнопки или с помощью запроса из одного предложения.
Где он оказался наиболее полезным 💪
На данный момент можно выделить несколько вариантов использования:
Инциденты. Когда что-то ломается, цена медленного первого ответа высока. Agent Chip собирает контекст из разных систем, выявляет вероятные причины и может подготовить исправление, пока люди координируют ответ. Мы неоднократно видели, как наш «режим инцидентов Agent Chip» обнаруживал ошибки у реагирующих инженеров, которые могли бы усложнить устранение инцидента или увеличить время его разрешения.
Предоставление возможности неинженерам вносить небольшие исправления и улучшения UX. Некоторые из самых ценных и «волшебных» изменений в наших продуктах не являются глубоко техническими: это правки текста, небольшие несоответствия в UX, граничные случаи, замеченные сотрудниками службы поддержки клиентов. С Agent Chip люди, наиболее близкие к проблеме, могут описать исправление простым языком и получить готовый pull request. Инженер по-прежнему проверяет и объединяет его, но «узкое место» смещается с «найти свободного инженера» на «найти рецензента». Это меняет то, кто может улучшать продукт.
Рутинная инженерная работа. Обновление библиотек, повторяющиеся рефакторинги — та работа, которая важна, но редко бывает самой захватывающей в списке задач. Agent Chip берет эту работу на себя, и сэкономленное время суммируется.
Архитектура высокого уровня 🏗️
Эта диаграмма архитектуры высокого уровня показывает, как мы подаем ряд входных данных в инфраструктуру Agent Chip. Ключевой частью является «агентский пакет» (agent bundle), который развертывается в изолированной среде, отделенной от всех сервисов, которые мы используем для работы банка.
Пакет используется для изоляции агента, работающего в нашей производственной среде, настолько, чтобы мы могли выбирать, какой доступ агент имеет для каждой конкретной задачи. Агент может быть запущен в специфическом для среды образе Docker в зависимости от назначенной задачи и получает единственный изолированный прокси для связи по HTTP. Это позволяет нам изолировать секреты и снизить риски доступа агента к внешнему миру.
Важно отметить: надежность лежит в основе нашего банка. Мы создали Agent Chip самостоятельно, чтобы сохранить гибкость и полный контроль над базовым агентом кодирования. Если у поставщика моделей происходит сбой или снижается производительность, мы можем быстро и беспрепятственно переключиться на другого. Это предотвращает привязку к поставщику и гарантирует, что наши инструменты всегда доступны для Monzonauts, которым они необходимы.
Текущая конфигурация выполняет отдельные задачи «однократного действия», такие как:
- Расследование оповещений: автоматическое расследование пейджинговых оповещений в рабочей среде
Расследование оповещений: автоматическое расследование пейджинговых оповещений в рабочей среде
- Запрос через Slack: реализация PR, исправление ошибок и реактивная работа непосредственно из контекста Slack
Запрос через Slack: реализация PR, исправление ошибок и реактивная работа непосредственно из контекста Slack
- Командный ответчик: отвечает на вопросы между командами, выполняя поиск по нашей кодовой базе и базе знаний, прежде чем потребуется вмешательство человека
Командный ответчик: отвечает на вопросы между командами, выполняя поиск по нашей кодовой базе и базе знаний, прежде чем потребуется вмешательство человека
- Код-ревью: автоматизированные проверки кода в GitHub
Код-ревью: автоматизированные проверки кода в GitHub
- Ответчик на инциденты: «живой» агент, который отслеживает инцидент и помогает с анализом первопричин, создавая исправления и анализируя влияние.
Ответчик на инциденты: «живой» агент, который отслеживает инцидент и помогает с анализом первопричин, создавая исправления и анализируя влияние.
Все эти «чипы» используют фундаментальную работу, которую мы проделали, чтобы агенты могли получать доступ к метрикам, логам, коду и нашей базе знаний. Этот базовый уровень функциональности делает Agent Chip универсальным и способствовал его внедрению в компании для множества сценариев использования.
Федеративный доступ к важному
Чтобы максимально эффективно использовать наше инженерное сообщество в Monzo и обеспечить быструю итерацию, мы спроектировали систему для федеративного внедрения: создали четкий барьер, отделяющий Agent Chip как «платформу» от Agent Chip как «продукт».
Точкой входа является сервис под названием remote-code-agent-trigger, который поставляется с набором потребителей различных событий из наших внутренних систем (сообщение в Slack, задача в Linear, вебхуки и т. д.); эти потребители затем отображаются на «рабочие процессы» (workflows).
Рабочие процессы — это интерфейс, которому следуют все задачи, выполняемые на Agent Chip. Они помогают нам поддерживать наблюдаемость сценариев использования, распределять задачи по командам и контролировать расходы на уровне продукта, не перегружая основной сервис remote-code-agent бизнес-логикой.
Рабочие процессы определяют «тип пропускной способности» (пакетное задание/ASAP), структуру ответа от агента и способы обработки ответов от него.
Этот подход помог сотрудникам по всей компании быстро настроить интеграции с Agent Chip без особых усилий (многие интеграции были созданы самим Agent Chip!).
Что дальше 🔮
Мы все еще находимся на очень ранней стадии жизненного цикла нашего продукта Agent Chip. Следующие 6 месяцев будут сильно отличаться от предыдущих 6, и мы стремимся к тому, чтобы Monzo стал одним из тех мест, где формируется облик агентной инженерии, а не просто обсуждается.
В планах на будущее есть несколько пунктов:
- Сделать Agent Chip еще лучше в поддержке инженеров; предоставить доступ ко всей нашей базе знаний и дать ему возможность создавать, запускать, тестировать и развертывать код во всей нашей кодовой базе
Сделать Agent Chip еще лучше в поддержке инженеров; предоставить доступ ко всей нашей базе знаний и дать ему возможность создавать, запускать, тестировать и развертывать код во всей нашей кодовой базе
- Сделать еще проще для нетехнических специалистов компании использование Agent Chip для задач, которые ранее требовали участия инженера
Сделать еще проще для нетехнических специалистов компании использование Agent Chip для задач, которые ранее требовали участия инженера
- Улучшение инфраструктуры проверки, оценки и безопасности, которая дает нам уверенность в возможностях Agent Chip, включая проверку PR
Улучшение инфраструктуры проверки, оценки и безопасности, которая дает нам уверенность в возможностях Agent Chip, включая проверку PR
Если вы инженер, которого вдохновляют подобные задачи — создание систем, превращающих ИИ в конкурентное преимущество внутри реальной, крупной, ориентированной на клиента компании — мы будем рады услышать вас.
Мы нанимаем сотрудников непосредственно в эту команду и в более широкие команды платформенной инженерии, которые обеспечивают и поддерживают такую работу. Работа конкретна, цикл быстрый, а результат быстро доходит до реальных клиентов.
Приходите создавать вместе с нами!
