В целом, как видно из примеров выше, многие фирмы не просто дают своим специалистам доступ к чату – они интегрируют нейросети в свои продукты. Любопытно, что так делают не только крупные компании, но малый и средний бизнес. А для многих чат стал буквально бизнес-инкубатором. В прошлой главе мы познакомились с профессиями, которые можно автоматизировать практически на 100 %. В исследовании Пенсильванского университета и ОpenAI указаны и другие специальности, которые меньше подвержены автоматизации в силу ограничений модели. Хрестоматийный пример – математика. Например, модель OpenAI o1 находится в 89-м процентиле по вопросам соревновательного программирования (Codeforces), входит в число 500 лучших студентов в США на отборочном этапе к Математической олимпиаде США (AIME) и превосходит уровень точности докторов наук по физике, биологии и химии в тесте GPQA. Если говорить простыми словами, модель решает олимпиадные задачи по математике, физике, биологии значительно лучше, чем в среднем учащиеся в США.

Я решил проверить, насколько чат умеет решать вступительные задания в российские вузы и прорешал последний открытый вариант дополнительных вступительных экзаменов на мехмат МГУ за 2023 год . Из 7 задач, нейросеть справилась с 6, при этом пошагово объяснила решение, и дала правильный ответ. Вы можете сами это проверить, решать задачи из ЕГЭ, ОГЭ или вступительных экзаментов в вузы.
Чат может решить сложные логические задачи, но если требуется сделать точные вычисления, языковая модель может ошибаться. В этом случае, она прибегает к «помощи друга». По сути это надстройки, которые расширяют возможности языковой модели. Они представляют собой модули, которые адаптированы под конкретные задачи конечных пользователей. Так, подобные ИИ-ассистенты позволяют искать нужную информацию в интернете, производить вычисления, вызывать внешние сервисы для получения нужной информации. Один из таких друзей – функционал, который называется «запуск кода». Чат самостоятельно его вызывает, когда нужно проанализировать данные или таблицы или произвести сложные вычисления.

Фактически ChatGPT получает от пользователя запрос на естественном языке и передает задачу своим подчиненным (агентам), а потом, получая от них материалы в «машинном» виде, переводит их на «человеческий» язык и отдает клиенту.
Сейчас количество таким агентов растет по экспоненте, а это значит, что возможности чата расширяются пропорционально. Говоря словами разработчиков OpenAI, они становятся «глазами и ушами» для языковых моделей, предоставляя им доступ к свежей, личной или же специфической информации для общего обучения модели. По последним данным, пользователи создали уже более 3 млн кастомных версий GPT под самые разные задачи.
С одной стороны, агенты до бесконечности расширяют возможности чата, превращая его в «большого брата» с большим количеством подчиненных, которым он может делегировать любую задачу. Это очень похоже на то, как работает руководство компании, распределяя задачи между отделами и сотрудникам. «Нанимая» новые плагины, такой автономный агент может практически безгранично усложнять свои процессы и наращивать функци- онал. С другой стороны, это позволяет стартапам получать доступ к мультимиллионной аудитории за счет интеграции своих продуктов с чатом, а это мечта любого стартапера.
На мой взгляд, генеративный искусственный интеллект в случае массовой адаптации может серьезно ускорить разработку инновационных продуктов. Как я писал в прошлой главе, уже сейчас с помощью, например, ChatGPT можно писать код, не зная языков программирования. То есть любой человек, обладая минимальным знанием модели и используя правильные промпты, может решать самые разные задачи. Из простого: скажем, у вас есть отсканированные документы, 50 PDF-файлов по одной страничке каждый, и вам нужно объединить все эти страницы в один PDF-файл. Вы можете воспользоваться готовыми сервисами в интернете, которые объединяют для вас файлы, но нет никакой гарантии, что ваши данные останутся в безопасности. А если вам нужно сделать какие-то необычные действия с этим документами? Например, выбрать только четные страницы? Или сделать так, чтобы страницы в документ добавлялись по специальному алгоритму? В этом случае, онлайн-сервисы уже не помогут.
Вы можете обратиться с этой задумкой в чат и попросить написать Python-скрипт для выполнения этой задачи. Задавая правильные вопросы, можно создавать фрагменты кода (по аналогии с блочной генерацией текстов), а дальше собрать их воедино. Если на этапе сборки произойдет ошибка и код не будет работать, бот подскажет, как ее исправить. Проверить результат можно с помощью Code Interpreter – плагина, который тестирует код, а также анализирует данные и решает математические задачи. Эта функция, на мой взгляд, пока недооценена. Ей мало кто пользуется, но она упрощает многие задачи.
Пользователь: У меня в папке / scan лежит 50 pdf-документов, пронумерованных 01.pdf, 02.pdf и так далее. Напиши код на питоне, который объединяет эти pdf-документы в следующем порядке по страницам: 1–3–2–4, 5–7–6–8, и так далее.
ChatGPT: Для выполнения этой задачи, мы можем использовать библиотеку PyPDF2, которая позволяет считывать содержимое PDF – файлов и объединять их. Код ниже объединяет указанные PDF – документы в требуемом порядке. Прежде всего, убедитесь, что у вас установлена библиотека PyPDF2. Вы можете установить её, выполнив команду pip install PyPDF2 в командной строке или в вашей среде разработки.
Вот код, который объединяет ваши PDF-документы в нужном порядке:
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
python
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
import os
from PyPDF2 import PdfReader, PdfWriter
def merge_pdfs_in_custom_order(folder_path):
output.pdf.path = os.path.join(folder_path, 'merged_document.pdf') writer = PdfWriter()
pdf.files = [f for f in sorted(os.listdir(folder_path)) if f.endswith(1.pdf1)]
for pdf_file in pdf.files:
pdf.path = os.path.join(folder_path, pdf.file)
reader = PdfReader(pdf.path)
# Собираем страницы в требуемом порядке
num.pages = len(reader.pages)
ordered.pages = []
for i in range(O, num.pages, 4):
# Проходимся по страницам с шагом 4
if i < num.pages:
ordered.pages.append(i)
if i + 2 < num.pages:
ordered.pages.appendd + 2)
if i + 1 < num.pages:
ordered.pages.appendd + 1)
if i + 3 < num.pages:
ordered.pages.appendd + 3)
for page.index in ordered.pages:
writer.add.page(reader.pages[page.index])
with open(output_pdf.path, 'wb') as out:
writer.write(out)
return output.pdf.path
# Замените 1path.to.folder' на путь к папке с вашими PDF-файлами
folder.path = '/scan'
merged.pdf.path = merge_pdfs_in_custom_order(folder_path)
print(f'Merged PDF is saved at: {merged.pdf.path}')
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
Этот код сначала создает список страниц в требуемом порядке для каждого документа, а затем добавляет эти страницы в общий PDF-файл. В результате вы получите файл merged_document.pdf в той же папке, что и исходные документы, который будет содержать все страницы в указанном порядке.
В указанном примере пользователь дает задание нейросети, сформулированное на естественном, русском языке. Нейросеть понимает смысл, превращает неструктурированное описание в работающий алгоритм, пишет инструкцию, как этот код использовать и какие дополнительные библиотеки нужно установить. Для того чтобы воспользоваться этим решением, вам не нужно знание языка Python. Вы просто получаете готовый код, которые можете запустить. Дополнительное преимущество такого метода заключается в том, что код запускается локально, на компьютере пользователя, что исключает утечку данных, что особенно актуально для корпоративных клиентов.
Приведу пример из практики своей компании. У нас есть база данных, где собраны имейлы всех участников наших курсов по работе с нейросетями. Часть клиентов регистрировалась с корпоративных почт. Мы рассудили, что можем взять эти имейлы, определить названия компаний и написать им с B2B-предложением. Однако как это сделать, когда база насчитывает 400 000 человек? Такой файл весит 250 МБ, и Excel зависнет даже при попытке открыть документ. Еще год назад такая задача решалась бы с помощью аналитика данных, который загрузил бы данные в базу данных, написал бы код, который работает с этими данными. Для этого нужно было бы написать техническое задание, передать данные и ждать результата. По моей практике, такая задача заняла бы как минимум неделю.
Я обратился к чату и написал с его помощью код, который прошелся по базе данных и выбрал все непубличные домены (то есть не gmail, mail, yandex и пр.). Кстати, список публичных доменов чат мне тоже подсказал. На все это мне потребовалось около 20 минут. Но я решил «обогатить» данные и попросил нейросеть написать код, который прошел бы по всем полученным доменам, открыл главную страницу сайта, скопировал бы текст с нее и с помощью модели GPT-4o написал один абзац, чем эта компания занимается. Таким образом, я получил не просто список подходящих клиентов, но и еще краткое описание, чем занимается компания. На всю отладку программы у меня ушло не более 2 часов, при том, что самостоятельно я не написал ни строчки кода.
По сути, чат помогает реализовать идею демократизации инноваций, о которой говорил американский экономист профессор Массачусетского технологического института (MIT) Эрик фон Хиппель (Eric von Hippel) с середины 1970-х годов. Он писал о том, что инновационные продукты создаются экспертами и организациями со значительными ресурсами, в том числе финансовыми и технологическими. При этом пользователи могут видеть решение своих проблем иначе, чем разработчики продуктов. Поэтому Хиппель взывал к более инклюзивному подходу к разработке инноваций, когда в этом процессе могут принимать участие обычные люди, не эксперты. По его мнению, потенциальные пользователи продуктов смогут сами разрабатывать нужные сервисы, не полагаясь в этом на компании. Это он и назвал демократизацией инноваций, и это как раз становится возможным благодаря моделям на основе генеративного искусственного интеллекта вроде ChatGPT. Представьте, что вам не нужно искать сервис для контроля питания – вы можете создать его сами, при этом быстро, не изучая языки программирования несколько месяцев. Для разработчиков это печальная новость: фактически они становятся не нужны. Нейросети уже заменяют джунов (младших специалистов), и в обозримом будущем – в следующие три-пять лет – это коснется и более продвинутых специалистов. Архитектор с помощью нужных промптов будет создавать код, который станет работать даже лучше, чем если бы код написал человек. И это уже реальность! Да, сгенерированный код не всегда такой же качественный, как написанный человеком. Но если исключить из этого процесса человека и отдать код машинам? В целом так уже происходит в зерокодинге: Bybble генерирует код, и нам неважно, что «под капотом» и как машина это делает, главное – получить работающее решение.