Являются ли ограничения копилота причиной возможных недоразумений, или же это связано с моими недостатками в понимании?

Я не являюсь специалистом в программировании и нахожу обучение этому делу сложным. Тем не менее, я узнал, что ИИ способен генерировать код, и решил попробовать использовать эту возможность. ChatGPT хорошо справляется с простыми задачами, такими как создание Python-скриптов для конвертации данных или сортировки текстовых файлов. Однако я слышал, что бесплатная версия ChatGPT уступает в эффективности GitHub Copilot, поэтому хочу обратиться именно к нему. <br/> Я разработал Python-скрипт для специфического перебора ключей (аналогичных решений для CPU на GitHub не нашел), но его скорость оказалась низкой — всего 200 тыс. ключей в секунду. Чтобы ускорить процесс, я решил перенести алгоритм на C++ с использованием Visual Studio 2022 и библиотеки OpenSSL. Copilot успешно адаптировал мой Python-код для C++, и я собрал исполняемый файл, который запускался через командный файл. Однако скорость не только не выросла, а даже упала до 60 тыс. ключей в секунду. <br/> В дальнейшем я решил попробовать перенести алгоритм на GPU с помощью CUDA, поскольку существующие программы демонстрируют скорость перебора в несколько миллиардов ключей в секунду. Однако доступные решения используют стандартный метод перебора, и мне требуется специфический вариант. Теоретически мой алгоритм не должен снижать скорость, но Copilot не смог корректно адаптировать код под CUDA, несмотря на многочисленные попытки. <br/> Кроме того, я заметил, что готовые проекты для GPU состоят из множества файлов, каждый из которых содержит тысячи строк кода, в то время как Copilot, даже в Deep Mode, генерирует всего один файл с не более чем 300 строками, что явно недостаточно для сложного проекта. <br/> Подскажите, пожалуйста, какую нейросеть можно использовать для генерации сложных проектов на C++, чтобы обеспечить более глубокую поддержку?
  • 24 марта 2025 г. 13:34
Ответы на вопрос 3
Ваш опыт использования GitHub Copilot и других инструментов на основе ИИ для разработки программного обеспечения поднимает несколько важных вопросов, связанных с их возможностями и ограничениями.

1. **Ограничения ИИ в генерации кода**: GitHub Copilot и подобные инструменты отлично справляются с генерацией кода для простых задач и предоставляют базовые структуры для более сложных проектов. Однако генерация кода для специализированных задач, таких как ваш случай с конкретным алгоритмом перебора ключей, может быть сложной для ИИ, особенно если не хватает контекста или если нужна высокая оптимизация.

2. **Проблемы с производительностью**: Уменьшение производительности при переходе с Python на C++ может быть связано с несколькими факторами, включая неэффективную реализацию алгоритма, использование неподходящих алгоритмов для компиляции или недостаточную оптимизацию кода. Отладка и профилирование вашего C++ кода могут помочь выявить узкие места в производительности.

3. **Переход на GPU с помощью CUDA**: Переход на GPU требует более глубокого понимания как архитектуры GPU, так и CUDA. Генерация кода для CUDA — это более сложная задача, чем для CPU, и часто требует разработки в нескольких файлах с учетом параллелизма, управления потоками и памяти. Это может объяснить, почему Copilot не смог корректно адаптировать ваш код для CUDA.

4. **Инструменты для генерации сложных проектов**: На данный момент нет универсальной нейросети, которая могла бы создавать сложные проекты во всех языках программирования с высокой эффективностью. Однако вы можете рассмотреть несколько подходов:
   - **Используйте специализированные генераторы кода**: Например, инструменты для генерации кода на C++ (например, CMake или Qt) могут помочь в автоматизации создания проектов с разделением на модули и файлами.
   - **Сообщество**: Обратитесь к сообществу разработчиков на GitHub и форумах по программированию, где вы сможете получить советы от более опытных разработчиков или найти примеры подобных решений.
   - **Обучение и эксперименты**: Продолжайте изучать, как работает CUDA и C++, и экспериментируйте с различными подходами. Используйте ресурсы, такие как документация NVIDIA и курсы по CUDA.
   
5. **Использование других ИИ-инструментов**: Попробуйте другие инструменты, такие как Codeium, Tabnine или другие популярные решения. Каждый из них имеет свои особенности, и возможно, что один из них лучше подходит для ваших нужд.

В конечном счете, даже самые современные ИИ-инструменты могут быть ограничены в своих возможностях и не всегда смогут полностью заменить опытного программиста. Непрерывное обучение и практика в программировании помогут вам лучше понимать, как использовать эти инструменты для достижения желаемых результатов.
не бесплатные! <br/> <br/> openai o3 <br/> openai gpt4.5 <br/> anthropic claude sonnet 3.7 <br/> <br/> (гугловские не смотрел, но их модели имеют большое контекстное окно, что дает шансы за раз анализировать больше файлов и документации. <br/> <br/> p.s. не пытайся работать с gpt в лоб вопрос-ответ, результат будет посредственным. <br/> <br/> нужно снабжать ИИ необходимой инфорацией прямо в запросе, давай примеры, добавляй страницы из документации (можно просить в отдельном окне выбрать из нее нужное, и уже этот ответ давать в контекст), решай задачу по частям (т.е. вместо напиши программу перебирающие ключи, проси разработай эффективный алгоритм хеширования на gpu, оформи это в виде функции, а затем попроси использовать эту функцию с твоим алгоритмом перебора, уже на этом этапе можно попросить проанализировать, что можно изменить,... делай больше попыток, держи несколько контекстов в отдельном файлике, не веди ВСЮ беседу в одном чате, начинай чат с него, уточняя и добавляя информацию из соседних обсуждений и еще куча лайфхаков <br/> <br/> текущий ИИ далек от AGI а значит человека еще заменить полностью не может, почему каждый пытает его, ожидая что он будет мегаинтеллектом, да еще и бесплатно (стоимость компании openai расценивают в 150 млрд баксов)
Можно попробовать grok, мне на опыте он смог написать скрипты для тренировки ИИ модели, прогу для записи ТАС (а впоследствии и переписать её на C++). В ограничения я упёрся лишь 1 раз, сейчас их, похоже, вообще нет. <br/> <br/> Из плюсов - он в отличии от ChatGPT сразу понимает проблему, например: <br/> <br/> Grok : *код* <br/> Пользователь: *добавь что-то* <br/> Grok: *код и объяснение изменений* <br/> Пользователь: *ошибка* <br/> Grok: *фикс и объяснение ошибки* <br/> <br/> Причём фиксит код он в 95% случаев правильно и всё запускается.
Похожие вопросы