Начало подкаста
00:00:00Шоу начинается с глубокого погружения в стратегии мобильного развития T Bank и последние тенденции в IT-индустрии. В нем рассказывается о новых задачах и креативных решениях в области создания мобильных приложений. Опытный Android-разработчик рассказывает о своем карьерном пути, который изменил его от работы на местной кухне до руководства крупными проектами и наставничества в Интернете. В повествовании технические знания переплетаются с личностным ростом, что дает четкое представление о будущем мобильных технологий.
Гость — Николай Пермяков
00:00:40Николай Пермяков сочетает в себе глубокие знания в области информационных технологий с творческим музыкальным духом, примером чего являются его выступления в группе на пении и гитаре. Он построил свою карьеру на интенсивном специализированном образовании, которое включает в себя как степень бакалавра, так и степень магистра в области информационных технологий. Обладая пятилетним опытом работы в банковской сфере, сосредоточенным на разработке серверной части на Python, он демонстрирует уникальную интеграцию технического совершенства и художественного самовыражения.
Nestor — умный ассистент для разработчиков от Т-Банка
00:01:44Команда T-Bank создала Nestor для повышения эффективности работы разработчиков за счет автоматизации рутинных задач по написанию кода, создания шаблонов и предоставления точных ответов на технические вопросы. Это решение служит внутренней альтернативой внешним помощникам по кодированию, таким как GitHub Copilot, обеспечивая сохранность конфиденциального кода в экосистеме банка. Соблюдение строгих протоколов безопасности и требований к санкциям побудило к созданию штатного помощника, что позволило устранить юридические проблемы и риски, связанные со сторонними инструментами. Название "Nestor" напоминает о надежном историческом руководстве, символизирующем роль этого инструмента в решении сложных задач программирования.
Как работают ИИ-ассистенты
00:03:30Помощники по написанию кода на базе искусственного интеллекта используют трансформаторные модели со структурами кодер-декодер, которые помогают разработчикам создавать эффективный код. Массовые языковые модели, изначально проблемные из-за повторяемости и снижения качества, улучшились благодаря обучению на обширных высококачественных наборах данных. Основная технология представляет собой простой процесс обучения нейронной сети, в котором решающее значение имеют качество и объем данных, а разнообразные методы подготовки данных обеспечивают надежную работу в различных приложениях.
Наиболее известные ИИ-ассистенты и их функции
00:05:22От ранних прототипов до локализованных нейронных помощников В 2018 году консультанты по концептуальному программированию предложили базовые рекомендации по коду, заложив основу для будущих разработок. К 2020 году GitHub Copilot усовершенствовал это видение, оказав ощутимую поддержку разработчикам. Бум инноваций в области нейронных сетей к 2023 году привел к созданию эффективных моделей всего с 7 миллиардами параметров, что резко контрастировало с более ранними системами с 400 миллиардами параметров, и позволило этим помощникам работать на локальных компьютерах.
Преодоление ограничений токенов для комплексного контекста проекта Хотя современные ассистенты могут создавать модульные тесты, рекомендации по настройке и даже полные запросы на извлечение из текстового описания проекта, они сталкиваются с ограничениями, присущими контексту. Языковые модели ограничены обработкой примерно 16 000 токенов, что недостаточно для всего проекта. Таким образом, успех зависит от точного извлечения, подготовки и ввода соответствующих проектных данных в модель для достижения значимых результатов.
Бенчмарки для ИИ-ассистентов
00:08:13Проблемы в тестах генерации кода Разработка эффективных тестов для моделей, генерирующих код, остается весьма сложной задачей. Тесты часто требуют, чтобы модель генерировала код, который проходит серию тестов, но оценка точных соответствий и корректности создает нерешенные проблемы. Универсального теста не существует, что приводит к фрагментарным подходам, которые с трудом поддаются согласованию с производственными потребностями.
Управляемые пользователями сравнительные оценки в моделях чата Оценка моделей чата использует широкомасштабные отзывы пользователей, сравнивая ответы от разных моделей и выбирая лучшую из них. Этот метод, основанный на краудсорсинге, наряду с экспертной оценкой и автоматическим сравнением с эталонными ответами, позволяет оценить качество ответов, несмотря на проблемы с точностью. Нехватка надежных тестов с открытым исходным кодом поощряет различные экспериментальные подходы к оценке общих языковых характеристик.
Принцип работы кодовых ИИ-ассистентов
00:10:53Извлечение контекста для интеллектуальной генерации кода Ассистент начинает с сбора точного контекста из базы кода, такого как определения функций, смежные файлы и структуры пользовательского тестирования. Он использует методы структурированного поиска и семантические векторные методы для идентификации сегментов кода, которые содержат общие шаблоны ключей и ключевые слова. Этот уточненный контекст имеет решающее значение при формулировании запроса, адаптированного к языковой модели. Процесс может включать промежуточные этапы, такие как создание абстрактного синтаксического дерева, для дальнейшей доработки результатов.
Оптимизация производительности и универсальность развертывания После извлечения контекста система оптимизирует весь конвейер для получения быстрых и высококачественных ответов. Производительность повышается благодаря таким методам, как квантование и аппаратное ускорение, которые позволяют небольшим моделям достигать скоростей, сравнимых с удаленными кластерами. Развертывание может быть адаптировано к различным средам, обеспечивая локальное выполнение моделей с несколькими миллиардами параметров. Синергия методов поиска и стратегий оптимизации позволяет создать оптимизированный и эффективный code assistant.
На что ориентироваться при выборе ИИ-ассистента
00:15:34Выбор помощника с искусственным интеллектом зависит не столько от различий в функциональности, сколько от соответствия его возможностей требованиям вашей задачи. Ключевым фактором является гибкость настройки — можете ли вы получить доступ к специализированным разделам GitHub или выбрать более простые альтернативы. Надежность аппаратного обеспечения, такого как мощный графический процессор или современный процессорный блок, напрямую влияет на возможность локального развертывания. Факторы стоимости также имеют значение, поскольку многие поставщики предлагают как бесплатные, так и платные варианты для удовлетворения различных потребностей.
Рефакторинг кода с помощью ИИ
00:16:23Автоматизированные помощники преобразуют монолитный код, выделяя сегменты в специальные функции, тем самым повышая общую понятность. Они эффективно реструктурируют хорошо организованные скрипты, хотя в настоящее время они обрабатывают переименование переменных только в локальных областях. Комплексный рефакторинг всего проекта включает в себя языковые инструменты, которые оценивают контекстуальные нюансы, особенно в сложных многомодульных средах.
Какие задачи можно доверить ИИ-помощнику
00:17:54Разработчики изучают идею создания полноценных приложений с помощью интерактивного искусственного интеллекта, хотя современные технологии ограничены выполнением рутинных задач. Языковые модели отлично подходят для создания шаблонного кода, такого как структуры таблиц SQL, что является полезной отправной точкой при работе с пустым экраном. Эти помощники автоматизируют предсказуемые фреймворки программирования, обеспечивая основу, для доработки и завершения которой по-прежнему требуются знания программиста.
ИИ-ассистенты: для всех ли грейдов хороши
00:19:34Контекстная поддержка Снижает сложность Кодирования Инструменты искусственного интеллекта генерируют сжатые, зависящие от контекста фрагменты кода, которые упрощают отслеживание переменных, циклов и вложенных функций. Они предоставляют небольшие логические блоки вместо громоздких фрагментов, позволяя разработчикам сосредоточиться на основной структуре кода. Это целенаправленное руководство облегчает умственную нагрузку как для начинающих, так и для опытных программистов, сохраняя текущий контекст понятным и управляемым.
Постепенная адаптация Повышает эффективность Разработчика Разработчики постепенно принимают предложения ИИ, и уровень их одобрения растет по мере того, как они узнают, какие подсказки наиболее полезны. Инструменты особенно полезны в редко используемых языках или при обновлении устаревших систем, предлагая точную поддержку синтаксиса. Со временем тщательная фильтрация рекомендаций в сложных разделах приводит к более четкому взаимодействию, что повышает общую производительность программирования.
Риски в работе с ИИ-помощниками
00:23:52Контроль разработчиков Снижает риски, связанные с автономным ИИ Помощники ИИ в проектной работе представляют собой неотъемлемые риски, которые остаются управляемыми, когда разработчики полностью контролируют их. Разработчики должны оценивать и проверять команды, генерируемые ИИ, а не следовать им вслепую. Автономное выполнение нейронными сетями может привести к вредоносным действиям, таким как выполнение опасных команд, которые нарушают работу системы. Строгий контроль доступа и тщательная настройка разрешений необходимы для предотвращения непреднамеренного повреждения.
Ограничения искусственного интеллекта в логических рассуждениях и выполнении кода Современные системы искусственного интеллекта испытывают трудности с логической точностью и надежностью при выполнении задач, связанных с кодом. Их неспособность последовательно вычислять или формировать правильные логические циклы подчеркивает непреходящую важность контроля со стороны человека. Разработчики продолжают нести ответственность за проверку и исправление результатов, поскольку ИИ по-прежнему подвержен ошибкам. Эти ограничения гарантируют, что искусственный интеллект будет функционировать как помощник, а не как полная замена квалифицированным программистам.
Функциональность Nestor
00:26:55Рабочий процесс вывода и обработки кода Нестора Пользовательский плагин для VS Code и JetBrains перенаправляет запросы на сервер, где входные данные преобразуются в логическую модель и генерируется ответ. Затем ответ корректируется, чтобы предоставить разработчику точные предложения по коду непосредственно. Каждый шаг требует тщательно проработанных подсказок и строгих ограничений кода, чтобы противостоять непредсказуемому характеру модели.
Простые подсказки по коду, генерация функций и оповещения об уязвимостях Система, созданная с нуля более года назад с использованием моделей с открытым исходным кодом, предлагает подсказки по коду, генерацию функций по сигнатуре и встроенное обнаружение уязвимостей. Она точно определяет потенциальные риски в режиме реального времени благодаря интеграции с инструментами внутренней безопасности. Такая интеграция гарантирует, что по мере написания кода уязвимости будут оперативно обнаруживаться и устраняться, что открывает путь к созданию надежного помощника по разработке в режиме реального времени.
Что умеет Nestor: наглядный обзор
00:29:54Мгновенное обнаружение уязвимостей и предупреждение об ошибках Nestor выявляет такие проблемы, как проблемы с сертификатами и небезопасные реализации, в режиме реального времени по мере написания кода. Он предоставляет подробные объяснения для каждой уязвимости и предлагает корректирующие действия, генерируемые нейронным модулем. Система упрощает отладку, выделяя критические недостатки безопасности и разъясняя природу ошибок. В настоящее время разрабатываются планы по распространению контекстуальных пояснений на другие языки.
Контекстная поддержка кода и совместное использование фрагментов Nestor легко интегрируется со средами разработки, предлагая пояснения к коду по запросу с помощью контекстных меню. Подробные сведения легко доступны при обращении к файлам, что снижает необходимость в ручной проверке кода. Встроенные подсказки и предложения, выделенные серым цветом, ускоряют понимание и облегчают быстрое освоение незнакомого кода. Этот инструмент также расширяет возможности разработчиков, позволяя создавать краткие фрагменты кода и делиться ими для совместной проверки.
Динамическая генерация кода и всесторонняя интеграция с IDE Nestor улучшает рабочий процесс, генерируя логические блоки кода и автоматизируя обработку ошибок, сводя к минимуму повторяющиеся задачи по кодированию. Он предлагает целенаправленные предложения, такие как полные функциональные схемы и упрощенные реализации для таких условий, как операторы "if". Широко интегрированный с IDE, включая Android Studio, VS Code, JetBrains, Neovim и Xcode, он поддерживает единый процесс разработки. Этот подход также распространяется на автоматизированную генерацию модульных тестов и надежные исправления безопасности, что отличает его от обычных решений для искусственного интеллекта.
Что особенного Nestor может предложить пользователю
00:35:47Nestor предлагает готовое к работе чат-решение, развернутое в корпоративном контейнере, позволяющее напрямую отправлять рабочий код и легко интегрироваться с внутренней документацией. Оно работает на основе модели с 33 миллиардами параметров, которая отслеживает привычки разработчиков и детали проекта с помощью конфигураций, специфичных для конкретного клиента, предоставляя индивидуальную информацию. Модель не обновляется в режиме реального времени в зависимости от индивидуальных взаимодействий; вместо этого она периодически собирает данные о поведении пользователей и показателях продукта для управления процессом адаптивного обучения. Методология формируется благодаря постоянной обратной связи от разработчиков, которая обеспечивает соответствие рекомендаций меняющимся рабочим процессам.
Метрики для оценки эффективности Nestor
00:38:09Эффективность оценивается путем измерения того, насколько проще становится работа и насколько улучшается настроение, при этом пользователи оценивают скорость получения подсказок от 3,8 до 4 баллов из 5. Сравнительный анализ показывает, что, хотя некоторые инструменты выигрывают от встроенных функций, наш ассистент выделяется как надежная альтернатива стандартным плагинам. Ключевые показатели эффективности, такие как коэффициент приема заявок, ежедневные активные сеансы и количество запросов, определяют текущий успех, а будущие усилия направлены на повышение скорости реагирования, качества и интеграции с внутренними системами.
Как Nestor будет развиваться
00:40:29Nestor улучшает анализ журналов с помощью автоматизированного запроса Sage функционирует как инструмент для агрегирования журналов и выполнения простых запросов на языке MHQL, в то время как сложные запросы требуют запоминания синтаксиса. Нестор помогает создавать сложную статистику и уточнять подробные требования к запросам. Автоматизированная генерация SQL и упрощенная навигация по документации повышают эффективность работы как разработчиков, так и аналитиков.
Преобразование опыта разработчиков с помощью интегрированных визуальных интерфейсов Экспериментальная интеграция представляет собой визуальное наложение на базовую языковую модель, выходящее за рамки простого интерфейса чата. Nestor разработан для решения сложных, неизведанных вопросов и повышения производительности разработчиков и аналитиков. Расширение масштабов использования с небольшого числа пользователей до более широкой аудитории требует увеличения количества аппаратных средств и улучшения качества, а также возможности внешней экспансии в условиях жесткой конкуренции.
Конкуренты Nestor — ИИ-ассистенты от Сбера и Яндекса
00:43:12В условиях конкуренции на российском рынке искусственного интеллекта помощники из Sber и Яндекса совершенствуются, чтобы справляться с нюансами языка с помощью функций, отсутствующих в стандартных моделях. Яндекс разрабатывает внутреннего помощника, который использует расширенную метрику "счастье", учитывающую такие факторы, как количество предложений и время взаимодействия с пользователем, для более полной оценки вовлеченности. Разработчики сосредоточены на создании элегантного кода и быстрой производительности, каждый из которых по-своему определяет успех. Индустрия также изучает революционные концепции, такие как рои агентов на основе языковых моделей, что намекает на трансформирующие приложения в ближайшем будущем.
Будущее ИИ-ассистентов
00:44:45Интеллектуальная декомпозиция задач с помощью специализированных агентов В будущем планируется создать централизованную языковую модель, которая разделит запросы пользователей на управляемые подзадачи. Затем специализированные агенты возьмут на себя отдельные функции, такие как поиск в Интернете или генерация кода. Каждый агент обрабатывает свою область знаний независимо, внося свой вклад в коллективный результат. Комплексный подход отражает естественное решение проблем, разбивая сложные задачи на целенаправленные операции.
Экспериментальное сотрудничество и оптимизированная нейронная обработка Экспериментальные платформы показывают, что децентрализованное взаимодействие агентов повышает производительность при решении языковых задач. Инновационные алгоритмы позволяют агентам взаимодействовать — работать в терминалах, анализировать тексты задач и собирать внутренние данные — для эффективного решения конкретных задач. Нейронные сети дают более четкие результаты при разбиении задач на более мелкие, решаемые части. Эти ранние проекты подчеркивают преимущества целенаправленного взаимодействия агентов по сравнению с управлением одной сложной задачей.
Нейросети умеют декомпозировать и размышлять
00:47:52Нейронная декомпозиция посредством последовательного мышления Нейронные системы теперь разбивают сложные запросы на цепочку логических шагов, которые отражают то, как человек мог бы обдумывать свои действия. Инновационный метод заключается в построении последовательности, при которой модель начинает с понимания запроса, а затем систематически генерирует и проверяет каждую мысль. Этот подход позволяет создать цепочку выводов, которая может включать в себя несколько параллельных цепочек для повышения точности и гибкости. Механизм улучшает базовые рассуждения, динамически связывая промежуточные этапы в единый результат.
Быстрое прототипирование и автоматизированная трансформация Методология "цепочка размышлений" позволяет моделям быстро создавать практически законченные продукты на основе кратких подсказок. Этот метод поддерживает быструю проверку гипотез и позволяет получать полезные результаты даже для малоизвестных или неподготовленных испытуемых. Он открывает путь для инновационных применений в различных областях, от творческого рассказывания историй до промышленной автоматизации. Благодаря усовершенствованным процессам рутинные задачи могут быть постепенно автоматизированы, что потенциально освобождает людей от монотонной работы.
Прогноз использования ИИ за рамками разработки
00:50:20Преобразование документооборота с помощью нейронных сетей Компании полагаются на ручной ввод документов из известных источников, что является рутинной, но чреватой ошибками задачей. Автоматизированные системы, основанные на нейронных сетях, предлагают экономичную альтернативу, несмотря на потенциально более низкое качество интеграции. Эти сети могут генерировать сценарии, проверять отчеты и оптимизировать процессы, эффективно распределяя роли между задачами программирования. Интеграция простой автоматизации с передовыми нейронными технологиями обещает повысить эффективность управления документооборотом.
Стремительное развитие нейронных сетей и зарождение Сверхразума Долгосрочные прогнозы предсказывали прорывы в области нейронных сетей в далеком будущем, однако трансформаторные модели появились всего через несколько лет. Неожиданный бум, о котором свидетельствуют такие системы, как GPT-2, изменил представления о технологическом прогрессе. В настоящее время существует множество предположений о возможном появлении сверхинтеллекта, поскольку эволюционирующие определения и расширяющиеся возможности стирают традиционные границы. Эта стремительная эволюция иллюстрирует, как воображение и инновационный дизайн объединяются, чтобы изменить ландшафт искусственного интеллекта.
Artificial General Intelligence (AGI): когда он появится
00:53:15Победа над чемпионом мира по шахматам когда-то считалась важной вехой в развитии ИИ, но настоящий интеллект требует большего, чем овладение игрой. Прохождение теста Тьюринга считается реальным показателем того, что человек способен мыслить, в то время как современные системы все еще не справляются с простыми запросами. Крупные компании могут похвастаться впечатляющими показателями, однако эти достижения часто не позволяют решать повседневные задачи и решать творческие задачи, связанные с написанием инновационных алгоритмов. В конечном счете, хотя нейронные сети вскоре могут взять на себя рутинную работу, наиболее сложные логические задачи по-прежнему будут требовать человеческой изобретательности.
Отнимут ли ИИ-ассистенты работу у разработчиков
00:55:03Помощники с искусственным интеллектом возьмут на себя выполнение рутинных задач по программированию, подталкивая разработчиков к работе с алгоритмами и созданию сложных систем. Разработчики будут уделять все больше внимания созданию сложных архитектур, в которых нейронные сети превращаются в мощные инструменты, способные автономно генерировать код. В повествовании рассказывается о кардинальном сдвиге в разработке программного обеспечения, подчеркивающем эффективность и инновации благодаря интеграции искусственного интеллекта. Затаенная благодарность и предвкушение подчеркивают общий оптимизм в отношении будущих достижений в этой области.
Подводим итоги
00:55:55Николай Пермяков, руководитель проекта NER at T Bank, подводит итоги проекта и рассказывает о динамике его работы. Ключевые достижения и инновационные стратегии представлены в виде четкой информации. Зрителям предлагается ставить лайки, подписываться и активировать уведомления о будущих материалах. Подведение итогов завершается дружеским прощанием и предвкушением новых релизов.