Ivan Begtin
9.08K subscribers
2.52K photos
4 videos
114 files
5.29K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

CTO&Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
Я на днях также решил проверить на практике вайб-кодирование применение ИИ в разработке и с помощью 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
👍13❤‍🔥1