Про Нейросети и программирование
Apr. 13th, 2025 10:11 amПеренесу сюда в один пост, чтобы помнить как это было, несколько постов из фейсбука (ЖЖ то навеки и искать в нем легче)
------------------
Я сейчас делаю сложный рефакторинг с Grok 3. И это очень круто. Как парное программирование. Т.е. я реально с ним обсуждаю его и мои идеи low level design.
Результат просто отличный. Сам бы я такого не сделал, с умным коллегой может и сделал бы, но за гораздо большее время.
Жалко только он в IDE не встроен , проходится цопировать и пастить код, ну и пиво в Шнидте не умеет пока пить
---------------------------------------
А кому интересно - два дип ресерча Грока, чтобы понять что он может
Create research how Likud members vision changed in last 20 years.
What are important topics for likud in 2005, 2015 and now?
How changed Likud position on topics which still are in the center of discussion
Which topics left the point of iew and which entered.
Can you make a conclusion like Likud moved left or right or becamu more capitalisti or populistic?
https://x.com/i/grok/share/pTwwDj6gUS9gx2QiqjG5S4Rg8
Проведи исследование куда мог деться архив темплиеров, проверь локации в Шфеле (район Израиля) - Латрун и район Бейт Гуврина,
Составь план работ по его поиску
https://x.com/i/grok/share/FhlI4BMUZgBbwBCS0htBgAUMj
-------------------------------------------------------------------------------------------------------------------
Я продолжаю делиться опытом использования Grok/DeepSeek/Claude/Gemini в программировании
1. От меня Гугл потребовал активности, чтобы не закрыть аккаунт разработчика. Я решил апгрейднуть под последний API своё приложение предсказания красоты закатов. Апгрейднул, UI поплыл, карты пропали. В андроид Студио встроен Джемини. Он видит, сука все мои соурсы, но проблемы решить не смог (хотя пытался). А грок решил с первого раза.
2. В нашем проекте соурсы написаны контрактором. Файлы по 2-3 тыс строк, с функциями по 800 строк, с копипастом. Вычленить одинаковый код в отдельные функции даже ВебСторм не всегда может. Все LLM не готовы работать с файлами по 3 тыс строк - по крайней мере я пробовал все бесплатные. А грок может, хотя и иногда начинает тормозить. Даешь ему файл, просишь сделать определенный рефакторинг , делаешь проверяешь (проверять все равно нужно), просишь потом следующий шаг. И так 10-20 шагов по огромному файлу. Остальные, повторюсь просто не читают такие большие файлы
-------------------------------------------------------------------------
Я написал пост, что скрипт Грока стер мне юзеров из базы данных, потом я стер пост, Теперь вот вся картина.
Мне прислали эксель со списком юзеров, которых стирать.
Я сохранил его в csv, удалив лишние колонки, потом попросил Грока сделать скрипт, который удаляет, он сделал js скрипт для monosh, для него предложил преобразовать csv в json, я не проверял скрипт, но проверил результат, потом запустил на тестовой базе - вижу что удаляет кого надо. И запустил в продакшене.
ОКАЗАЛОСЬ:
в экселе были почти все юзеры, но в нем был включен фильтр (!!! 🤦) фильтр экселя, Карл!
Т.е. когда я удалил лишние колонки ("надо удалять") и сохранил в csv там были почти все юзеры системы.
Грок не причем.
------------------------------------------------------------------------------------
Еще опыт с Grok и генерированием кода.
Я пытаюсь сделать астрологически психологический чат (не спрашивайте зачем!)
Я начал с v0.dev - описал, что я хочу сделать и спросил его на какой платформе делать. Он посоветовал на next.js. Потом я более подробно сформулировал что мой чат должен делать, как работать, сказал базу данных заменить моком, обращение к чат гпт заменить моком, решение, когда от пользователя требовать залогиниться и когда требовать оплату заменить моками.
Он сгенерировал приложение, я сохранил у себя локально. запустил - не побежало. какая то херня с тем, что бежит на клиенте, а что на сервере.
я разбираться не стал - попросил исправить - так и сяк - он не смог.
Я пошел в грок, описал ему ситуацию , дал ошибку , основные файлы, он с третьего раза исправил и с после этого я работал только с гроком.
Времени у меня как у молодого отца мало, так что я пишу по немногу, раз в неделю, Грок помнит эту нашу беседу, я открываю её спустя 1-2 недели и продолжаем с того же места, он помнит наш контекст, какой код он писал, какие были проблемы. Т.е. не надо заново давать файлы чтобы он искал в ниш ошибки или модифицировал.
Медленно наращиваю функциональность. в начале только моки, потом постепенно файл за файлом меняю на настоящее (например обращение к ChatGPT API), и добавляю мясо.
Медленными шажками. изредка были ошибки, которые он исправлял.
Я меняю только значения констант, иногда сам выношу в константы, добавляю логи.
Реального кода я не пишу сам вообще.
Мне не надо знать тайпсрипт, язык вообще уже не важен.
Мне не надо знать фреймворк. Этот next.js я не знаю. Вообще. Иногда из за этого возникают ошибки, но не часто и грок справляется сам, без того, чтобы я учил фреймворк или гуглил.
С другой стороны - я понимаю как работает веб, клиент, сервер, аутентикация, кукис. Я все эти знания почти не использую явно, но что то мне говорит, что если кто то пробует генерировать приложение вообще не зная как оно работает то очень быстро может упереться в проблемы , которые решить не сможет.
Так же я продумываю детали - пока юзер не залогинен храним контекст в памяти, когда логинится должен вызваться ендпоинт с анонимым айди и с постоянным гугловским айди и перенести контекст из памяти в базу данных. Этими словами и объясняю (иногда на русском, иногда на английском) и он делает.
Полезно попросить давать код всегда целыми файлами, а не изменения, чтобы не думая копипастить.
Итеративно он решает проблемы такие как "исчезновение из чата последнего сообщения после логина", "регенерация айди пользователя при каждом запросе" и т.д.
Промпты кстати, тоже генерит.
Пишет хороший код - обработка ошибок, например.
Вывод такой - для быстрой генерации скелета приложения - очень хорошо.
Для постепенной разработки - очень хорошо.
Для решения возникающих проблем - если ты хорошо знаешь фреймворк, разработчик с опытом - ты решишь проблемы чаще всего быстрее. Иногда намного быстрее. Но не всегда.
Если ты первый раз в жизни видишь платформу, фреймворк и язык - скорее всего он поможет тебе решить проблемы, но если ты в целом шаришь - в других языках и фреймворках и имеешь опыт. Если у тебя опыта нет, не знаешь как дебагировать и ему помочь - скорее всего скоро ты упрешься в проблемы, которые решить не можешь.
Кстати GitHub copilot интегрированый в WebStorm вообще не тянет. Я (для работы) попросил его найти мне страницу во фронтенде, где происходит signup, что он мне ответил? Советом как запустить grep со словом signup.
А ведь он должен весь проект видеть!
------------------------------------
Или вот еще история про Грок:
я дал ему код, попросил нарисовать блок схему (flow diagram).
Он сказал, что такое рисовать не умеет, но, говорит, вот есть сервис mermaid.live, который рисует диаграммы по описанию на некоем языке (формально описаны узлы и ребра графа, подписи к ним, виды узлов) и вот тебе твоя блок схема на этом языке - подставляй в сервис и генерируй.
Так я и сделал. Ну не чудеса ли?
-------------------------------------
Вкалывают робот, счастлив человек!
Грок написал мне код, а потом статью, которая описывает что мы с ним придумали.
Но детали интереснее (детали под катом, как говорили в ЖЖ):
1) Грок еще написал мне скрипт, который делает код ревью с ChatGPT (мы с гроком еще его совершенствуем - чтобы и описание изменений делал, и в комментах к PR гадил) и этот скрипт через ChatGPT код улучшил.
2) Но терраформ не работал, и никто ни Грок, ни Клод не могли починить мой терраформ, его починил живой человек из StackOverflow.
Статья
------------------
Я сейчас делаю сложный рефакторинг с Grok 3. И это очень круто. Как парное программирование. Т.е. я реально с ним обсуждаю его и мои идеи low level design.
Результат просто отличный. Сам бы я такого не сделал, с умным коллегой может и сделал бы, но за гораздо большее время.
Жалко только он в IDE не встроен , проходится цопировать и пастить код, ну и пиво в Шнидте не умеет пока пить
---------------------------------------
А кому интересно - два дип ресерча Грока, чтобы понять что он может
Create research how Likud members vision changed in last 20 years.
What are important topics for likud in 2005, 2015 and now?
How changed Likud position on topics which still are in the center of discussion
Which topics left the point of iew and which entered.
Can you make a conclusion like Likud moved left or right or becamu more capitalisti or populistic?
https://x.com/i/grok/share/pTwwDj6gUS9gx2QiqjG5S4Rg8
Проведи исследование куда мог деться архив темплиеров, проверь локации в Шфеле (район Израиля) - Латрун и район Бейт Гуврина,
Составь план работ по его поиску
https://x.com/i/grok/share/FhlI4BMUZgBbwBCS0htBgAUMj
-------------------------------------------------------------------------------------------------------------------
Я продолжаю делиться опытом использования Grok/DeepSeek/Claude/Gemini в программировании
1. От меня Гугл потребовал активности, чтобы не закрыть аккаунт разработчика. Я решил апгрейднуть под последний API своё приложение предсказания красоты закатов. Апгрейднул, UI поплыл, карты пропали. В андроид Студио встроен Джемини. Он видит, сука все мои соурсы, но проблемы решить не смог (хотя пытался). А грок решил с первого раза.
2. В нашем проекте соурсы написаны контрактором. Файлы по 2-3 тыс строк, с функциями по 800 строк, с копипастом. Вычленить одинаковый код в отдельные функции даже ВебСторм не всегда может. Все LLM не готовы работать с файлами по 3 тыс строк - по крайней мере я пробовал все бесплатные. А грок может, хотя и иногда начинает тормозить. Даешь ему файл, просишь сделать определенный рефакторинг , делаешь проверяешь (проверять все равно нужно), просишь потом следующий шаг. И так 10-20 шагов по огромному файлу. Остальные, повторюсь просто не читают такие большие файлы
-------------------------------------------------------------------------
Я написал пост, что скрипт Грока стер мне юзеров из базы данных, потом я стер пост, Теперь вот вся картина.
Мне прислали эксель со списком юзеров, которых стирать.
Я сохранил его в csv, удалив лишние колонки, потом попросил Грока сделать скрипт, который удаляет, он сделал js скрипт для monosh, для него предложил преобразовать csv в json, я не проверял скрипт, но проверил результат, потом запустил на тестовой базе - вижу что удаляет кого надо. И запустил в продакшене.
ОКАЗАЛОСЬ:
в экселе были почти все юзеры, но в нем был включен фильтр (!!! 🤦) фильтр экселя, Карл!
Т.е. когда я удалил лишние колонки ("надо удалять") и сохранил в csv там были почти все юзеры системы.
Грок не причем.
------------------------------------------------------------------------------------
Еще опыт с Grok и генерированием кода.
Я пытаюсь сделать астрологически психологический чат (не спрашивайте зачем!)
Я начал с v0.dev - описал, что я хочу сделать и спросил его на какой платформе делать. Он посоветовал на next.js. Потом я более подробно сформулировал что мой чат должен делать, как работать, сказал базу данных заменить моком, обращение к чат гпт заменить моком, решение, когда от пользователя требовать залогиниться и когда требовать оплату заменить моками.
Он сгенерировал приложение, я сохранил у себя локально. запустил - не побежало. какая то херня с тем, что бежит на клиенте, а что на сервере.
я разбираться не стал - попросил исправить - так и сяк - он не смог.
Я пошел в грок, описал ему ситуацию , дал ошибку , основные файлы, он с третьего раза исправил и с после этого я работал только с гроком.
Времени у меня как у молодого отца мало, так что я пишу по немногу, раз в неделю, Грок помнит эту нашу беседу, я открываю её спустя 1-2 недели и продолжаем с того же места, он помнит наш контекст, какой код он писал, какие были проблемы. Т.е. не надо заново давать файлы чтобы он искал в ниш ошибки или модифицировал.
Медленно наращиваю функциональность. в начале только моки, потом постепенно файл за файлом меняю на настоящее (например обращение к ChatGPT API), и добавляю мясо.
Медленными шажками. изредка были ошибки, которые он исправлял.
Я меняю только значения констант, иногда сам выношу в константы, добавляю логи.
Реального кода я не пишу сам вообще.
Мне не надо знать тайпсрипт, язык вообще уже не важен.
Мне не надо знать фреймворк. Этот next.js я не знаю. Вообще. Иногда из за этого возникают ошибки, но не часто и грок справляется сам, без того, чтобы я учил фреймворк или гуглил.
С другой стороны - я понимаю как работает веб, клиент, сервер, аутентикация, кукис. Я все эти знания почти не использую явно, но что то мне говорит, что если кто то пробует генерировать приложение вообще не зная как оно работает то очень быстро может упереться в проблемы , которые решить не сможет.
Так же я продумываю детали - пока юзер не залогинен храним контекст в памяти, когда логинится должен вызваться ендпоинт с анонимым айди и с постоянным гугловским айди и перенести контекст из памяти в базу данных. Этими словами и объясняю (иногда на русском, иногда на английском) и он делает.
Полезно попросить давать код всегда целыми файлами, а не изменения, чтобы не думая копипастить.
Итеративно он решает проблемы такие как "исчезновение из чата последнего сообщения после логина", "регенерация айди пользователя при каждом запросе" и т.д.
Промпты кстати, тоже генерит.
Пишет хороший код - обработка ошибок, например.
Вывод такой - для быстрой генерации скелета приложения - очень хорошо.
Для постепенной разработки - очень хорошо.
Для решения возникающих проблем - если ты хорошо знаешь фреймворк, разработчик с опытом - ты решишь проблемы чаще всего быстрее. Иногда намного быстрее. Но не всегда.
Если ты первый раз в жизни видишь платформу, фреймворк и язык - скорее всего он поможет тебе решить проблемы, но если ты в целом шаришь - в других языках и фреймворках и имеешь опыт. Если у тебя опыта нет, не знаешь как дебагировать и ему помочь - скорее всего скоро ты упрешься в проблемы, которые решить не можешь.
Кстати GitHub copilot интегрированый в WebStorm вообще не тянет. Я (для работы) попросил его найти мне страницу во фронтенде, где происходит signup, что он мне ответил? Советом как запустить grep со словом signup.
А ведь он должен весь проект видеть!
------------------------------------
Или вот еще история про Грок:
я дал ему код, попросил нарисовать блок схему (flow diagram).
Он сказал, что такое рисовать не умеет, но, говорит, вот есть сервис mermaid.live, который рисует диаграммы по описанию на некоем языке (формально описаны узлы и ребра графа, подписи к ним, виды узлов) и вот тебе твоя блок схема на этом языке - подставляй в сервис и генерируй.
Так я и сделал. Ну не чудеса ли?
-------------------------------------
Вкалывают робот, счастлив человек!
Грок написал мне код, а потом статью, которая описывает что мы с ним придумали.
Но детали интереснее (детали под катом, как говорили в ЖЖ):
1) Грок еще написал мне скрипт, который делает код ревью с ChatGPT (мы с гроком еще его совершенствуем - чтобы и описание изменений делал, и в комментах к PR гадил) и этот скрипт через ChatGPT код улучшил.
2) Но терраформ не работал, и никто ни Грок, ни Клод не могли починить мой терраформ, его починил живой человек из StackOverflow.
Статья