Я модернизировал банкомат 80-х за 3 минуты вместе с Бобом из IBM (полный разбор)

BBetter Stack
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00Зацените.
00:00:01Это интересно.
00:00:02Он не добавил никаких тестов, так как это типично для устаревших приложений на мейнфреймах, которые полагаются
00:00:07на ручное тестирование или специфические инструменты тестирования для мейнфреймов, отсутствующие в репозитории.
00:00:13Это Bob, новая IDE от IBM, которую они называют вашим ИИ-партнером по разработке.
00:00:20Несколько месяцев назад я делал видео о флагманских моделях Granite от IBM, а теперь они выводят
00:00:25их на новый уровень, выпуская совершенно новую платформу IDE с милым аватаром и кучей
00:00:31крутых функций, работающих на базе их моделей Granite.
00:00:34В этом видео мы внимательнее рассмотрим Bob, увидим, как он работает, протестируем его и выясним,
00:00:39действительно ли Bob — тот самый автономный архитектор, которого мы все так ждали.
00:00:45Будет очень весело, так что давайте начнем.
00:00:51В мире, где существуют Claude Code, Gemini, Codec и все прочие инструменты на базе ИИ, возникает
00:00:58вопрос: что делает Bob особенным или уникальным?
00:01:01Что ж, в то время как большинство помощников сосредоточены на "вайб-кодинге", что по сути является лишь генерацией
00:01:06фрагментов кода как можно быстрее, Bob создан для архитектурного управления.
00:01:11Дело не в одном окне чата, а в агентном рабочем процессе, который отделяет планирование
00:01:17от исполнения.
00:01:18IBM специально разработала Bob так, чтобы у него был набор полезных функций, позволяющих вам тщательно
00:01:23контролировать различные этапы циклов разработки, такие как планирование, кодинг, ревью и т.д.
00:01:30И это видно по переключателю режимов в самом низу чата.
00:01:34У вас есть режим "Ask" для быстрых вопросов, режим "Code" для реализации и режим "Plan".
00:01:40И вы даже можете создавать свои собственные режимы, адаптированные под ваши нужды.
00:01:44Но одна из моих любимых функций — это режим ревью (Review mode).
00:01:48Вы можете запустить команду /review, и Bob использует свои встроенные средства обеспечения безопасности для сканирования
00:01:53на наличие таких вещей, как зашитые в код секреты, риски инъекций или слабые места согласно OWASP.
00:01:59Он даже предоставляет специальную панель с результатами, где можно сортировать проблемы, как в профессиональном
00:02:05инструменте для аудита безопасности.
00:02:07Но этот встроен прямо в вашу IDE.
00:02:09А если вы предпочитаете CLI, вы также можете использовать его в терминале с помощью Bob Shell.
00:02:14И поскольку IBM — одна из старейших технологических компаний, у которой такие глубокие
00:02:18корни в системах мейнфреймов, Bob, вероятно, обладает специализированным пониманием старых языков,
00:02:24таких как COBOL.
00:02:25Поэтому я решил подвергнуть его окончательному испытанию.
00:02:28Вы знаете, как все шутят, что COBOL — один из древнейших языков, который до сих пор управляет
00:02:33многими банковскими системами и банкоматами, и как все боятся притронуться к
00:02:38исходному коду из страха сломать глобальный финансовый конвейер?
00:02:42Что ж, я взял репозиторий с открытым исходным кодом на COBOL под названием zBank, и мы посмотрим, сможет ли Bob
00:02:48обратно спроектировать эту логику устаревшего мейнфрейма и автономно модернизировать её в
00:02:53функциональное приложение на Python.
00:02:55Как только я впервые открываю Bob, он предлагает импортировать настройки из
00:03:00других популярных IDE, например, VS Code.
00:03:03Так что я сейчас это и сделаю.
00:03:04И теперь, когда мы внутри, мы видим, что он очень похож на VS Code, но с
00:03:09небольшой милой панелью чата Bob сбоку.
00:03:12И здесь мы видим, что можем выбрать один из режимов, которые мы обсуждали ранее.
00:03:17Поскольку я не планирую новый проект, я просто выберу режим "Code", чтобы попросить
00:03:22Bob начать кодить прямо сейчас.
00:03:24А в промпте я указал, что Bob — Python-разработчик, которому поручено
00:03:28модернизировать старый стек банкомата на COBOL и превратить его в понятное веб-приложение на
00:03:34Streamlit с красивым интерфейсом.
00:03:37И перед тем как Bob начнет писать код, он отображает очень подробную модель автоподтверждения.
00:03:43И это приятный штрих, потому что здесь вы можете точно указать, что агенту разрешено
00:03:47делать без вашего разрешения.
00:03:49Давайте будем честны, я думаю, что большую часть времени мы просто жмем автоподтверждение.
00:03:53Но здесь вы действительно можете определить четкую песочницу, так что вы можете выбирать.
00:03:58Но для этой демонстрации я разрешу ему читать и записывать файлы в нашем репозитории, а затем позволю
00:04:03ему делать своё дело.
00:04:04В общем, у Bob ушло примерно три минуты на выполнение задачи, теперь давайте запустим приложение и
00:04:08посмотрим, как оно работает на самом деле.
00:04:10Итак, у нас есть красивая страница входа в темной теме.
00:04:13И мы можем войти с помощью зашитых демо-учетных данных, чтобы проверить это.
00:04:18Дашборд тоже выглядит вполне достойно, хотя всплывающий текст слишком яркий.
00:04:22Так что ему не хватает немного дизайнерского чутья, но все операции функциональны.
00:04:27В целом, ему удалось успешно завершить эту задачу и модернизировать стек COBOL.
00:04:33А теперь я хочу попробовать функцию ревью.
00:04:35Это заставит Bob провести полный аудит кодовой базы и найти любые потенциальные проблемы безопасности.
00:04:42После запуска мы видим, что появилась новая панель с результатами Bob, которая только что
00:04:46появилась, где мы можем детально изучить каждую проблему.
00:04:49И если мы нажмем на одну из проблем, вы увидите, что там также есть удобная кнопка
00:04:54с лампочкой.
00:04:55И если нажать на неё, Bob автоматически попытается исправить эту проблему самостоятельно.
00:05:00И не только это, но после исправления он также спрашивает, хотим ли мы добавить специальный модульный
00:05:05тест для этой конкретной проблемы.
00:05:08Так что давайте нажмем на это.
00:05:10И теперь мы видим, что Bob добавляет дополнительные тесты и выполняет их, чтобы перепроверить, что
00:05:15проблема действительно исправлена.
00:05:17И здесь мы также можем увидеть логи diff изменений, которые сделал Bob.
00:05:21Давайте попробуем другую проблему.
00:05:22Эта интересная.
00:05:23Он обнаружил потенциальную проблему состояния гонки (race condition).
00:05:26Так что давайте нажмем на лампочку и попробуем исправить это.
00:05:29О, ничего себе.
00:05:30Исправление этого — буквально изменение в одну строку, чтобы добавить команду begin immediate для надлежащей
00:05:35блокировки в SQLite.
00:05:37Довольно круто.
00:05:38Так что снова, мы можем позволить ему исправить это, а затем попросить добавить соответствующие тесты, чтобы убедиться,
00:05:43что проблема должным образом обработана.
00:05:46И есть ещё одна вещь, которую я хочу проверить.
00:05:47Поэтому я открою новую копию этого репозитория без наших изменений на Python.
00:05:52И я хочу запустить команду ревью для оригинальной реализации на COBOL, чтобы посмотреть, найдет ли он
00:05:57какие-либо потенциальные проблемы.
00:05:59И посмотрите на это.
00:06:00Он нашел восемь проблем.
00:06:02Так что он может уверенно идентифицировать критические ошибки даже в таких старых языках, как COBOL.
00:06:08И я... я не понимаю, что здесь происходит.
00:06:10Но давайте просто попробуем исправить одну из этих проблем.
00:06:12И снова, после исправления, Bob спрашивает, хотим ли мы добавить для этого специальные тесты.
00:06:19Так что давайте нажмем "да".
00:06:20И зацените.
00:06:21Это интересно.
00:06:23Он не добавил никаких тестов, потому что это типично для устаревших приложений на мейнфреймах, которые полагаются
00:06:28на ручное тестирование или специфические инструменты тестирования для мейнфреймов, отсутствующие в репозитории.
00:06:33Вау.
00:06:34Похоже, это настолько древний стек, что они даже не тестировали его автоматически в то
00:06:39время.
00:06:40Так что, вероятно, не существует никаких фреймворков для тестирования COBOL в природе.
00:06:45Так что это довольно любопытно.
00:06:47Но в любом случае, вот и всё, ребята.
00:06:49Это Bob вкратце.
00:06:51Возможно, это спорное мнение, но мне честно очень нравится использовать IDE в противовес CLI, где
00:06:57я большую часть времени не понимаю, что делает агент.
00:07:00Я действительно ценю тот факт, что в таком инструменте, как Bob, есть отдельные панели и элементы управления интерфейсом
00:07:06для таких вещей, как подтверждения или результаты аудита.
00:07:09Я считаю, что это обеспечивает гораздо более структурированный способ работы с кодовыми базами, разделение
00:07:15задач и получение полной картины того, что происходит на самом деле.
00:07:19Так что, если вы хотите попробовать Bob сами, они предоставляют бесплатную пробную версию, которая включает 40 монет Bob
00:07:24на расходы.
00:07:25И для сравнения, тест, который мы только что сделали, стоил около четырех монет Bob, а одна монета Bob
00:07:30эквивалентна 50 центам США.
00:07:33Так что вы думаете о Bob?
00:07:34Вы пробовали его?
00:07:35Будете ли вы им пользоваться?
00:07:36Дайте нам знать в комментариях ниже.
00:07:38И ребята, если вам нравятся такие технические разборы, дайте мне знать, нажав
00:07:42кнопку лайка под видео.
00:07:44И также не забудьте подписаться на наш канал.
00:07:47С вами был Андрис из Betterstack, и увидимся в следующих видео.

Key Takeaway

Платформа Bob IDE сочетает в себе агентное управление архитектурой и встроенные средства аудита безопасности, позволяя автоматизировать модернизацию устаревших систем, таких как COBOL, в современные стеки вроде Python за считанные минуты.

Highlights

  • Платформа Bob IDE использует агентный рабочий процесс для разделения планирования и исполнения кода.

  • Интегрированный режим Review автоматически сканирует кодовую базу на наличие секретов, рисков инъекций и уязвимостей по стандарту OWASP.

  • Модернизация устаревшего репозитория банкомата на COBOL в веб-приложение на Python заняла три минуты.

  • Инструмент обнаружил восемь потенциальных проблем безопасности в исходном коде на COBOL.

  • Автоматические модульные тесты для COBOL недоступны из-за отсутствия современных фреймворков тестирования для мейнфреймов.

  • Стоимость выполнения аудита безопасности и рефакторинга кода составила около четырех монет Bob, где одна монета равна 50 центам США.

Timeline

Функциональные возможности и архитектура Bob IDE

  • Агентный рабочий процесс разделяет задачи планирования, кодирования и проверки.
  • Режим Review позволяет находить уязвимости безопасности непосредственно в IDE.
  • Инструмент поддерживает работу через CLI посредством Bob Shell.

Платформа сфокусирована на управлении архитектурой, а не только на генерации кода. Интерфейс включает режимы Ask, Code и Plan, адаптируемые под конкретные требования разработчика. Встроенная система аудита безопасности работает как профессиональный инструмент проверки, анализируя код на соответствие правилам OWASP.

Модернизация банковского ПО с COBOL на Python

  • Модернизация системы zBank на COBOL выполнена за 3 минуты.
  • Результатом стало функциональное веб-приложение на базе Streamlit.
  • Пользователь может гибко настраивать разрешения для агента через панель автоподтверждения.

Тестирование проводилось на репозитории zBank, управляющем логикой банкоматов. Bob успешно переписал логику на Python, создав веб-интерфейс для управления операциями. Модель автоподтверждения позволяет пользователю ограничить доступ агента к файловой системе репозитория.

Аудит безопасности и обработка ошибок

  • Автоматическое исправление ошибок доступно через кнопку с лампочкой в панели результатов.
  • Система предлагает создание модульных тестов после внесения правок для подтверждения результата.
  • Bob идентифицировал состояние гонки в SQLite и предложил изменение в одну строку для блокировки.

После аудита кодовой базы Bob визуализирует обнаруженные проблемы. Автоматизация исправления включает логирование изменений (diff) и написание тестов. При анализе оригинального кода на COBOL инструмент обнаружил восемь ошибок, но не смог сгенерировать тесты из-за отсутствия соответствующих фреймворков для данного языка.

Интерфейс, стоимость и выводы

  • Интерфейс IDE обеспечивает более структурированную работу по сравнению с CLI-инструментами.
  • Бесплатная пробная версия включает 40 монет Bob.
  • Стоимость одной монеты составляет 50 центов США.

Преимущество использования Bob заключается в прозрачности действий агента благодаря визуальным элементам управления. Стоимость анализа и рефакторинга в ходе теста составила около 2 долларов США, что делает инструмент доступным для профессиональных задач.

Community Posts

View all posts