fbpx

ChatGPT, Bard и другие известные большие языковые модели (LLM) доминировали в наших новостных лентах в течение последнего года. И это справедливо. Эти захватывающие технологии позволяют нам заглянуть в будущее, увидеть мощь и возможности ИИ.

Несмотря на то, что большой ажиотаж в обществе вызвало создание текстов, изображений и видео, эти инструменты могут использоваться и в других дисциплинах, например, для автоматизации программного обеспечения.

В этой статье мы подробно рассмотрим, как оперативная инженерия может помочь нам в автоматизации программного обеспечения. Однако в первую очередь следует рассмотреть сам оперативный инжиниринг.

 

Что такое оперативное проектирование?

 

Большие языковые модели, такие как ChatGPT, выдают результаты на основе подсказок или предложений, которые мы им предоставляем. Однако результаты сильно различаются в зависимости от того, какие слова или инструкции мы используем. Когда мы вводим нечеткие и неточные инструкции, результат может не соответствовать действительности.

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

Системы Large Language Model (LLM) используют обработку естественного языка (NLP) для интерпретации высказываний, которые мы им даем. Машины превращают эти вопросы или инструкции (т.е. подсказки) в код и прогоняют его через свои огромные хранилища данных для создания контента в том формате, который мы укажем (т.е. текст, изображения, код).

ChatGPT был обучен на более чем
570 ГБ данных
. Учебный материал состоит из книг, статей, веб-текстов и т.д. Другими словами, эти массивы данных содержат невообразимый объем знаний.

Хотя мы можем понимать суть процесса, многое из того, что происходит под капотом этих систем, остается вне поля нашего зрения. Конечно, мы контролируем входы и выходы, обучаем систему, но как именно работают эти алгоритмы и принимают решения, остается загадкой. По словам Сэма Боумана, профессора по искусственному интеллекту из Нью-Йоркского университета, «Мы его создали, мы его обучили, но мы не знаем, что он делает».

Оперативное проектирование помогает нам управлять этим хаосом, используя выходы, которые дают предсказуемые и пригодные для использования результаты. Они открывают нам путь к раскрытию огромного объема знаний, содержащихся в этих приложениях.
Эта дисциплина становится новой профессией.
Повсеместно появляются курсы по изучению возможностей использования этой мощной технологии.

Как может помочь оперативное проектирование

с автоматизацией программного обеспечения?

использование chatcpg для решения различных задач автоматизации программного обеспечения и rpa

Автоматизация программного обеспечения и LLM имеют много общего. Они оба дают возможность заглянуть в будущее, где машины будут дополнять творческие способности человека, создавая более быстрые и продуктивные рабочие места.

Существует несколько интересных областей, где обе эти технологии могут сблизиться. Вот три способа, с помощью которых мы можем использовать оперативную инженерию в автоматизации программного обеспечения.

 

#1. Генерация кода

генерация кода с помощью prompt engineering при автоматизации тестирования

Написание кода — одно из наиболее перспективных применений больших языковых моделей. Магистратура в области ИИ находится в стадии становления. В ближайшие несколько лет эта технология должна совершенствоваться по мере увеличения ресурсов как для вычислений, так и для обучения.

В перспективе эти достижения могут привести к тому, что ИИ будет писать целые программы с ограниченным вмешательством человека или вообще без него. Однако пока LLM имеют некоторые ограничения. Качество выходного сигнала при LLM-кодировании зависит в основном от качества входного сигнала. Как говорится, мусор туда, мусор сюда.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Конечно, не только эффективный оперативный инжиниринг является препятствием. Как было предложено в ChatGPT и большие языковые модели в академической среде: Возможности и проблемы (Meyer, 2023), «В настоящее время ChatGPT с большей вероятностью может быть успешным при точном написании небольших блоков кода, тогда как его надежность при написании больших/более сложных программ (например, программного комплекса) вызывает сомнения».

Более того, в недавней статье в журнале Nature некоторые ученые-компьютерщики предупредили, что к генерации кода с помощью LLM следует подходить с некоторой осторожностью. Еще одна современная газета,
Большие языковые модели и простые, глупые ошибки
(Jesse, 2023), продемонстрировал, как популярная LLM, Codex, используемая производителем Copilot, производит «известные, дословные SStuB с вероятностью в 2 раза большей, чем известный, дословный правильный код».

Хотя эти проблемы нельзя игнорировать, все еще существует оправданный интерес к тому, как эти программы могут помочь демократизировать разработку программного обеспечения, поддерживая как технические, так и нетехнические команды.

Пожалуй, наиболее впечатляющим является то, что такие инструменты, как ChatGPT, позволяют очень быстро создавать функциональный код. При правильном подходе инженеры могут сократить время программирования определенных типов кода, что обеспечивает ускорение жизненного цикла разработки программного обеспечения.

В конце 2022 года популярный центр программирования
Stack Overflow запретил генерируемые искусственным интеллектом
ответы на своем форуме. Они ссылались на высокий процент ошибок и неточностей, связанных с приложением. Однако технология находится в стадии становления, кроме того, неудовлетворенность результатами работы ИИ в равной степени связана как с плохим оперативным проектированием, так и с самой технологией.

Несмотря на недоверие к этой технологии, недавняя статья
недавняя статья McKinsey
подчеркивает то влияние, которое оперативная инженерия уже оказывает на мир программирования. Консалтинговая компания Состояние ИИ в 2023 году: Год прорыва генеративного ИИ поделились двумя интересными тенденциями. Во-первых, 7% организаций, инвестировавших средства в ИИ, нанимают оперативных инженеров. Во-вторых, компании, использующие ИИ, сократили число должностей инженеров-программистов, связанных с ИИ, с 38% до 28%.

Один из вариантов интерпретации этих тенденций заключается в том, что предприятиям удобна такая установка и они готовы передать автоматизацию программного обеспечения своим машинам. Хотя эти цифры могут испугать действующих инженеров, в исследовании McKinsey говорится, что «только 8% утверждают, что численность их персонала сократится более чем на одну пятую». В целом инженерам, вероятно, придется переквалифицироваться, чтобы воспользоваться преимуществами тенденции к автоматизации программного обеспечения, создаваемого искусственным интеллектом.

Одним из очевидных применений автоматизации программного обеспечения, создаваемого искусственным интеллектом, является создание автоматических ботов. Однако, несмотря на то, что оперативная инженерия, благодаря своей ориентированности на общение, является, по всей видимости, удобным интерфейсом, еще предстоит выяснить, сможет ли она вытеснить существующие решения.

Во многих отношениях программное обеспечение, подобное ZAPTEST, уже демократизировало рынок автоматизации программного обеспечения. Появились инструменты No-code, позволяющие нетехническим командам создавать высококачественные RPA-боты. Хотя такие программы, как ChatGPT, позволяют создавать ботов, их внедрение и обслуживание может оказаться сложным для тех, кто не является инженером-программистом, и даже для тех, кто им является.

Запись взаимодействия человека и компьютера с помощью графического интерфейса и преобразование этих движений в код гораздо удобнее, чем использование подсказок. В сочетании с потенциальной возможностью LLM создавать нестабильный и полный ошибок код можно с уверенностью сказать, что в обозримом будущем RPA-программное обеспечение никуда не денется.

 

#2. Преобразование неструктурированных данных

контрольный список uat, инструменты тестирования веб-приложений, автоматизация и многое другое

Неструктурированные данные — не самая сильная сторона Robotic Process Automation. Технология не была рассчитана на работу с электронной почтой, изображениями, аудиозаписями и т.д. Инструментам RPA необходимы предопределенные модели данных с упорядоченной структурой.

Огромную долю неструктурированных данных составляют тексты на естественном языке. Для «понимания» этой информации и извлечения из нее семантического смысла строятся большие языковые модели. Это создает широкие возможности для команд, которые хотят интерпретировать эти тексты и преобразовать их в формат, приемлемый для средств RPA.

Многие команды уже давно используют обработку естественного языка (NLP) для анализа настроений. Этот процесс, также известный как «поиск мнений», помогает организациям отслеживать чувства и отношение потребителей к брендам. В большинстве случаев эти инструменты используются для выявления положительных, отрицательных и нейтральных настроений в тексте. Однако технология способна и на гораздо более детальное распознавание эмоций.

Хотя на рынке существует несколько инструментов, предлагающих такую функциональность, LLM открывает путь к более универсальному использованию, не ограничиваясь пониманием того, как люди относятся к товару или услуге. Например, в последние годы резко возросла популярность аналитики данных. Большие данные дают компаниям преимущество, позволяя получать глубокие и понятные сведения, которые помогают принимать решения на основе данных.

В сборе данных могут помочь средства автоматизации роботизированных процессов. Однако, как мы уже отмечали выше, они с трудом воспринимают отдельные виды информации. Однако в паре с инструментами искусственного интеллекта, использующими большие языковые модели, RPA может собирать большие объемы данных и использовать их для генерации информации, необходимой для инструментов бизнес-анализа (BI).

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Одним из наиболее интересных аспектов генеративного ИИ является его способность осмысливать вводимые данные. С помощью правильной оперативной разработки команды могут преобразовать эти данные в формат, который будет работать с инструментами RPA.

RPA может помочь сделать рабочие процессы с большими данными более эффективными. Прежде всего, с его помощью можно осуществлять как ввод, так и извлечение данных. Однако, пожалуй, наиболее ценные и интригующие примеры использования RPA-инструментов связаны с преобразованием, очисткой и загрузкой данных, а также с обеспечением быстрой, эффективной и точной миграции данных.

Еще один важный момент — управление данными. Автоматизация запросов данных помогает организациям соблюдать требования законодательства и держать данные вне поля зрения сотрудников, работающих вручную.

 

#3. Автоматизация тестирования

Автоматизация тестирования получила широкое распространение в кругах разработчиков программного обеспечения, поскольку она обеспечивает более быстрый способ проверки программного обеспечения. Тестирование и обеспечение качества традиционно являются дорогостоящими и трудоемкими процессами; автоматизация тестирования позволяет решить обе эти проблемы.

Одна из первых вещей, которую может сделать оперативная инженерия, — это повысить качество тестовых примеров. При правильных подсказках эти машины могут анализировать тестовые примеры и выявлять проблемы и способы их устранения. Этот процесс может расширить область применения тестовых примеров и привести к созданию более полных тестов.

Например, в большую языковую модель можно подавать код примерно так же, как это делает человек. Эти машины могут быстро просмотреть код и выявить ошибки, недочеты и даже определить проблемы с производительностью. Еще более интересным является тот факт, что LLM также предоставляют возможность завершения кода тестовых примеров из простых фрагментов, что ускоряет создание тестовых примеров.

Оперативное проектирование направлено на решение многих проблем, вызвавших появление Agile/DevOps-подхода к разработке программного обеспечения. Инженерам нужны эффективные, легко повторяемые тесты, позволяющие выявлять проблемы еще до развертывания приложений. Идея заключается в том, что, освободив время, разработчики программного обеспечения могут сконцентрироваться на более творческих и ценностно-ориентированных задачах.

Как отмечается в классической статье,
Технический долг в автоматизации тестирования
(K. Wiklund, 2012), команды разработчиков программного обеспечения могут столкнуться с проблемами, если они будут тратить слишком много времени на ручное тестирование и проверку своего программного обеспечения. Первоначальная стоимость решений по автоматизации тестирования, отсутствие опыта автоматизации и даже предпочтение старых методов могут способствовать замедлению темпов развития.

Один из наиболее интересных аспектов Agile-разработки программного обеспечения включает в себя
Поведенческая разработка (Behavior-Driven Development, BDD).
Это понятие относится к разработке программного обеспечения с учетом ожидаемого поведения пользователей. Несмотря на то, что реализация такого подхода позволяет существенно сэкономить время, многие команды испытывают трудности с реализацией такой автоматизации. Однако LLM могут предложить решение этой проблемы.

Среди наиболее распространенных симптомов технического долга — плохая документация и отсутствие надежного тестирования. Именно эти проблемы могут помочь решить современные магистры. Однако другие заметные признаки, такие как рефакторинг, слишком сложны для современного генеративного ИИ и могут не привести к экономии времени.

 

Заключительные мысли

альфа-тестирование против бета-тестирования

Генеративные приложения ИИ обладают огромным потенциалом. Однако удобный, разговорный интерфейс может ввести в заблуждение. Многие считают, что получить качественную продукцию на этих машинах несложно. Однако, отличная оперативная разработка сложнее, чем можно предположить.

Эффективный оперативный инжиниринг требует много проб и ошибок. Кроме того, от инженера требуется большая предусмотрительность, чтобы ответы были полезными. Наконец, проверка и перепроверка работы важна в связи с широко известной возможностью возникновения ошибок.

Несмотря на то, что число рабочих мест в сфере быстрого инжиниринга растет, не все в этом уверены. В статье, опубликованной в Harvard Business Review, Огуз А. Акар приводит интересный аргумент, что «Будущие поколения систем искусственного интеллекта будут становиться все более интуитивными и искусными в понимании естественного языка, что снизит необходимость в тщательно продуманных подсказках».

Что бы ни ждало нас в будущем, генеративный ИИ будет присутствовать в этом процессе. Хотя оперативная инженерия имеет большие перспективы, пока трудно сказать, какую именно роль она будет играть.

Интересно, что программное обеспечение для автоматизации тестирования уже имеет множество примеров использования и историй успеха, демонстрирующих его пригодность для ускорения разработки программного обеспечения без ущерба для точности и всесторонней проверки приложений.

Такие инструменты, как ZAPTEST, уже позволяют разработчикам решать такие проблемы, как нехватка времени и ресурсов, технический долг, документация, а также комплексное тестирование и RPA. Более того, эти инструменты более удобны в использовании, чем оперативная инженерия, что делает их гораздо более подходящими вариантами для нетехнических команд. Как всегда, реальный потенциал лежит на пересечении этих интересных технологий автоматизации.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo