Я на днях также решил проверить на практике вайб-кодирование применение ИИ в разработке и с помощью Cursor обновил и выпустил новую версию iterabledata библиотеки для Python с помощью которой можно можно одинаковым образом читать файлы csv, json, bson, parquet, xls, xlsx и xml так что ты перебираешь объекты возвращается как Python dict. Для тех кто пользовался csv.DictReader или библиотекой jsonlines это должно быть очень понятно.
Я эту библиотеку когда-то делал как ядро для утилит metacrafter и undatum с помощью которой с их помощью можно было анализировать условно любые файлы с данными сжатыми чем-угодно.
В этом собственно отчасти и есть задумка. Наборы данных часто распространяются сжатыми Gzip, Bzip2, LZMA, Brotli или Zstandard, а инструменты для датафреймов или движки вроде duckdb имеют ограничения на поддержку форматов. Также часто данные имеют не utf8 кодировку и вообще удобнее работать в унифицированном интерфейсе.
Так что я написал унифицированные интерфейсы для кодеков сжатия и для типов данных. Заодно написал пример того как преобразовать дампы Википедии из сжатого XML в JSON lines.
Оговорюсь что это пример практического интрумента, то есть реально делаешь то чем пользуешься повсеместно. Для не самых высокопроизводительных задач где нужна многопоточность он весьма полезен.
А теперь с помощью Cursor'а:
- обновил документацию, переформатировал, добавил примеров
- добавил примерно +30% тестов
- исправил несколько ошибок
- проанализировал каких тестовых данных нехватает, запланировал их добавить чтобы покрыть тестами почти все кейсы
Первое что я могу сказать это то что Cursor даёт очень хорошие результаты во всех задачах написания тестов, документирования и анализа кода. Неидеально, но очень неплохо.
Второе что писать сам код я бы не доверил поскольку бывает разная сложность и архитектурная логика и ИИ агенты понимают её лишь отчасти. Я пока не понимаю когда произойдет качественный переход ИИ агентов к пониманию архитектуры программных приложений и основных принципов их построения, но это не кажется нереалистичным.
Третье, следующая эволюция ИИ агентов для разработки явно должна быть на уровне снижения сложности тех задач которые реально требуют заморочится и часто это не задачи разработки. ИИ агент может проводить "оценку разумности" создаваемого и глубже понимать стратегические цели, а не только тактические решения. Например, ИИ агент может посмотреть на код и понять что это библиотека для Python, подтянуть рекомендации для этих библиотек, проанализировать зависимости, предложить автоматизировать тестирование под разные платформы и так далее.
#ai #coding #python #datatools #opensource
Я эту библиотеку когда-то делал как ядро для утилит metacrafter и undatum с помощью которой с их помощью можно было анализировать условно любые файлы с данными сжатыми чем-угодно.
В этом собственно отчасти и есть задумка. Наборы данных часто распространяются сжатыми Gzip, Bzip2, LZMA, Brotli или Zstandard, а инструменты для датафреймов или движки вроде duckdb имеют ограничения на поддержку форматов. Также часто данные имеют не utf8 кодировку и вообще удобнее работать в унифицированном интерфейсе.
Так что я написал унифицированные интерфейсы для кодеков сжатия и для типов данных. Заодно написал пример того как преобразовать дампы Википедии из сжатого XML в JSON lines.
Оговорюсь что это пример практического интрумента, то есть реально делаешь то чем пользуешься повсеместно. Для не самых высокопроизводительных задач где нужна многопоточность он весьма полезен.
А теперь с помощью Cursor'а:
- обновил документацию, переформатировал, добавил примеров
- добавил примерно +30% тестов
- исправил несколько ошибок
- проанализировал каких тестовых данных нехватает, запланировал их добавить чтобы покрыть тестами почти все кейсы
Первое что я могу сказать это то что Cursor даёт очень хорошие результаты во всех задачах написания тестов, документирования и анализа кода. Неидеально, но очень неплохо.
Второе что писать сам код я бы не доверил поскольку бывает разная сложность и архитектурная логика и ИИ агенты понимают её лишь отчасти. Я пока не понимаю когда произойдет качественный переход ИИ агентов к пониманию архитектуры программных приложений и основных принципов их построения, но это не кажется нереалистичным.
Третье, следующая эволюция ИИ агентов для разработки явно должна быть на уровне снижения сложности тех задач которые реально требуют заморочится и часто это не задачи разработки. ИИ агент может проводить "оценку разумности" создаваемого и глубже понимать стратегические цели, а не только тактические решения. Например, ИИ агент может посмотреть на код и понять что это библиотека для Python, подтянуть рекомендации для этих библиотек, проанализировать зависимости, предложить автоматизировать тестирование под разные платформы и так далее.
#ai #coding #python #datatools #opensource
GitHub
GitHub - datenoio/iterabledata: Python library to read, write and convert data files with formats BSON, JSON, NDJSON, Parquet,…
Python library to read, write and convert data files with formats BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX, XML and many others - datenoio/iterabledata
👍13❤🔥1