Здравствуйте, Евгений Музыченко, Вы писали:
M>>Если ты попросил его сгенерировать только код, без сопроводиловки, то ты сам себе ССЗБ
ЕМ>А если я не ССЗБ, и попросил, и он сгенерировал "сопроводиловку", это гарантирует, что любой разберется в этом быстрее, чем напишет тот же код сам?
А зачем любой, когда важно только то, можешь ли ТЫ сам разобраться?
Здравствуйте, Marty, Вы писали:
M>важно только то, можешь ли ТЫ сам разобраться?
А как это понять? Вот сгенерил он мне код, я его просмотрел, вроде разобрался. Насколько можно быть уверенным в том, что смогу разобраться после N-й итерации?
У него не бывает так, что для исправления ошибки требуется заметное изменение взаимодействия между компонентами программы, последовательности передачи сообщений, зависимости между возбуждением асинхронных событий и реакциями на них?
Здравствуйте, Евгений Музыченко, Вы писали:
M>>важно только то, можешь ли ТЫ сам разобраться?
ЕМ>А как это понять? Вот сгенерил он мне код, я его просмотрел, вроде разобрался. Насколько можно быть уверенным в том, что смогу разобраться после N-й итерации?
А как ты можешь быть уверен в коде, который пишет твоя команда?
ЕМ>У него не бывает так, что для исправления ошибки требуется заметное изменение взаимодействия между компонентами программы, последовательности передачи сообщений, зависимости между возбуждением асинхронных событий и реакциями на них?
Может и бывает. У людей такое постоянно, а ИИ обучен на человеческом материале
Здравствуйте, Marty, Вы писали:
M>как ты можешь быть уверен в коде, который пишет твоя команда?
Никак — поэтому у меня и нет (и никогда не было) команды. Если мне нужно что-то, чего нет в готовом виде, и нет достаточно четкого алгоритма, как это сделать, всегда было проще сделать самому, чем искать, кому поручить, объяснять, контролировать, добиваться переделок (или переделывать самому).
Здравствуйте, Евгений Музыченко, Вы писали:
M>>как ты можешь быть уверен в коде, который пишет твоя команда?
ЕМ>Никак — поэтому у меня и нет (и никогда не было) команды. Если мне нужно что-то, чего нет в готовом виде, и нет достаточно четкого алгоритма, как это сделать, всегда было проще сделать самому, чем искать, кому поручить, объяснять, контролировать, добиваться переделок (или переделывать самому).
Здравствуйте, Евгений Музыченко, Вы писали: ЕМ>У него не бывает так, что для исправления ошибки требуется заметное изменение взаимодействия между компонентами программы, последовательности передачи сообщений, зависимости между возбуждением асинхронных событий и реакциями на них?
Да просто попробуйте, тем более что вам из Франции это должно быть проще чем из России. Во первых ИИ всегда предлагает вариантя для сложных задач: типа можно сделать так, вот так и вот эдак и плюсы/минусы каждого подхода. Во вторых он точно также использует SVN/GIT, всегда можно посмотреть где и что менялось. В третьих, как я уже говорил сейчас это уровень сеньйора практически в любой сфере. Приведу пример:
У меня есть продукт RAM DISK для Windows, который несколько лет назад я унаследовал от другого разработчика. Сам я ничего не понимаю (вернее, не понимал) в kernel code, а как вы сами знаете там все сложно: асинхронноcть, все эти IRQL, DPC, PnP итп, любая ошибка => BSOD. Поэтому продукт медленно стагнировал, так как я просто не знал с какой стороны к нему подойти.
Ну так вот, за последние три месяца я добавил фичи, которые люди просили годами: dynamic memory allocation/deallocation, SIMD-optimised I/O multicore processing, live file system resize. Сверху пофиксил еще десяток старых багов обнаруженных благодаря тестам написанным ИИ. Если раньше мне присылали BSOD DUMP, я пожимал плечами ну соррри — несовместимость с вашей системой. Сейчас я эти BSOD отдаю ИИ, он быстро находит и фиксит, а в последнее время их просто перестали присылать, потому что их больше нет.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ>Исследование рынка: думаю написать XXX, найди конкурентов и список и фич и предложи что можно улучшить.
Это с Claude? Нормальные результаты, скажем, по сравнению с ChatGPT?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Коллеги, которые выполняют полный цикл разработки (от идеи до продукта/документации), в каких аспектах вам удается получать ощутимую выгоду от применения ИИ?
— Исследование рынка на предмет перспективных направлений и планирования новых функций, оценка прибыльности, целесообразности, конкурентов.
— Собственно разработка, включая починку багов. Я больше (последние несколько месяцев точно) не пишу код сам от слова совсем, только выдаю ИИ задания на разработку.
— Написание пользовательской документации. Клод пока не научился сам вставлять скриншоты или делать видео (не придумал как ПОЛНОСТЬЮ делегировать это), но фичи по коду описывает прекрасно.
— Перевод на иностранные языки и локализация
— Разработка сайта, написание и вычитка текстов для сайта, пресс-релизов.
Вообще, правильно тут пишут — раньше я так же тупо боялся браться за большие задачи.
Теперь нет.
Фактически у тебя появляется собственная "команда" для разработки.
Самому больше ничего делать не нужно.
Имеется в виду именно "агентский режим" с сильной моделью, когда ИИ-агент (точннее, сейчас уже команда ИИ-агентов) имеет все те же возможности что и ты сам,
т.е. может твою программу редактировать, компилировать, отлаживать, читать документацию, использовать поиск в сети, и т.п.
Полный доступ к локальной машине без админских прав по сути. Так получается что использую всегда самую дорогую модель,
сейчас это Opus 4.6 — разговаривать с тупым исполнителем нет никакого смысла, тупость бесит, даже если он дешевле.
ЕМ>Я вот пока не могу представить, чем бы мне мог помочь ИИ в этом плане, когда мне, грубо говоря, не за кого спрятаться. Если оказывается, что я налажал в собственных идеях или коде, то я хоть понимаю — что, где и зачем я придумал и написал, где искать, как примерно исправлять, что еще можно придумать и т.п. А если мне налажает ИИ, то ко всему этому добавится еще и разбирательство в его творчестве.
Для уверенности имеет смысл просматривать, то что он пишет, т.к. он может схалявить или что-то понять неправильно.
Но в целом все вполне адекватно. ИИ сейчас пишет код ничем не хуже меня, но намного быстрее.
Если поставить второй ИИ просматривать что написал первый и поправлять, можно уделять этому меньше внимания.
ЕМ>Типичный современный вайб-кодер — это либо наемный кодер уровня не выше среднего, получающий сверху достаточно четко сформулированное задание (которое он порой может напрямую скормить ИИ, и даже получить что-то осмысленное в ответ), либо "вольный экспериментатор", использующий сгенерированный ИИ код для каких-то сугубо внутренних целей (например, исследовательских). Если через какое-то время внезапно окажется, что с кодом что-то не так, в первом случае всегда найдется, кому прийти на помощь — проверить, поправить, дать по башке, перестроить схему работы и т.п., а во втором случае это, как правило, не особо критично — ну подберет экспериментатор методом итераций рабочий вариант, да и ладно.
Беспочвенное заявление "я так вижу" о вкусе устриц.
Здравствуйте, bnk, Вы писали:
[...] bnk>Вообще, правильно тут пишут — раньше я так же тупо боялся браться за большие задачи. bnk>Теперь нет. bnk>Фактически у тебя появляется собственная "команда" для разработки. bnk>Самому больше ничего делать не нужно.
Коллега, жму руку — все 1 в 1 как у меня!
C скриншотами есть небольшой лайфхак, можно просто отснять все окна в проге типа ShareX, а потом сказать клоду типа дай им нормальные имена и опиши в отдельном файле что видишь на каждом скриншоте. А когда он будет писать документацию, скажи вот тебе список скриншотов с описанием, используй при написании — он сам их вставит куда надо.
Здравствуйте, Черный 😈 Властелин, Вы писали:
bnk>>Вообще, правильно тут пишут — раньше я так же тупо боялся браться за большие задачи. bnk>>Теперь нет. bnk>>Фактически у тебя появляется собственная "команда" для разработки. bnk>>Самому больше ничего делать не нужно.
ЧВ>Коллега, жму руку — все 1 в 1 как у меня!
ЧВ>C скриншотами есть небольшой лайфхак, можно просто отснять все окна в проге типа ShareX, а потом сказать клоду типа дай им нормальные имена и опиши в отдельном файле что видишь на каждом скриншоте. А когда он будет писать документацию, скажи вот тебе список скриншотов с описанием, используй при написании — он сам их вставит куда надо.
Здравствуйте, wantus, Вы писали:
ЧВ>>Исследование рынка: думаю написать XXX, найди конкурентов и список и фич и предложи что можно улучшить. W>Это с Claude? Нормальные результаты, скажем, по сравнению с ChatGPT?
Да Claude, самые свежие модели типа Opus 4.6, насчет сравнить с чатгпт хз, я не пользуюсь им.
Я на него (чатгпт) обиделся когда я уличил его в лжи, а он вместо того чтобы извинится начал на меня буквально орать КАПС ЛОКОМ, что мол это я дебил и не так его понял. Правда это была более старая модель что есть сейчас, но я тогда перешел на Claude и он меня на 100% устраивает.
Здравствуйте, Черный 😈 Властелин, Вы писали:
ЧВ>Да просто попробуйте
Да пробую периодически — пока, правда, только веб-версии (бесплатный ChatGPT и Perplexity Pro). Они делают рабочий код, но пишут и оформляют его всегда так, как рекомендуется в учебниках, и как обычно оформляются примеры в литературе — мне такое далеко не всегда нравится. А как его заставить оформлять в моем стиле, я пока не понял.
Если пробовать локальные агенты, то надо сперва придумать, как их ограничить в доступе средствами системы — ну не хочу я, чтоб оно свободно лазило по всей ФС. Разве что отдельного пользователя под это завести.
ЧВ>он точно также использует SVN/GIT
"Точно так же" — это не мой случай. Раза три пытался начать применять и то, и другое, и каждый раз бросал. Крайне раздражает то, что стандартные тулзы сравнивают тупо по строкам, и операция "переменная TimerResolution переименована в TimerResolutionMcs" превращается в длинную простыню "строка ... заменена строкой ...", которую нужно прочитать полностью, чтобы убедиться, что других различий между версиями нет.
ЧВ>за последние три месяца я добавил фичи, которые люди просили годами
А как примерно, с какой степенью подробности, описываете задания? И как проверяете результаты — просто запуском в VM под тестами?
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Да пробую периодически — пока, правда, только веб-версии (бесплатный ChatGPT и Perplexity Pro). Они делают рабочий код, но пишут и оформляют его всегда так, как рекомендуется в учебниках, и как обычно оформляются примеры в литературе — мне такое далеко не всегда нравится. А как его заставить оформлять в моем стиле, я пока не понял.
Скорми ему какой-нибудь свой код, который не слишком жалко, и попроси его сделать промпт для ИИ, чтобы ИИ оформлял в этом стиле
ЕМ>Если пробовать локальные агенты, то надо сперва придумать, как их ограничить в доступе средствами системы — ну не хочу я, чтоб оно свободно лазило по всей ФС. Разве что отдельного пользователя под это завести.
ЧВ>>он точно также использует SVN/GIT
ЕМ>"Точно так же" — это не мой случай. Раза три пытался начать применять и то, и другое, и каждый раз бросал. Крайне раздражает то, что стандартные тулзы сравнивают тупо по строкам, и операция "переменная TimerResolution переименована в TimerResolutionMcs" превращается в длинную простыню "строка ... заменена строкой ...", которую нужно прочитать полностью, чтобы убедиться, что других различий между версиями нет.
Какая простыня? В дифе просто различие подсвечивается. При этом нормальные диф тулзы могут подсветить добавившийся суффикс. Просто просто и прозрачно.
И вообще, в чем проблема начать пользоваться? Я в своих проектах тупо комичу в мастер и всё, особо не парюсь. Если что-то поломалось, можно разобраться, в какой момент.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>А как его заставить оформлять в моем стиле, я пока не понял.
1) Используй клиенты для кодинга, а не веб версию
2) Натрави его сделать ревью твоего кода и составить CodeStyle документ
3) Проставь ссылку на этот документ в требованиях (для Claude CLI/Desktop добавляешь в CLAUDE.md секцию Requirements/Use codestyle from @docs/CodeStyle.txt)
ЕМ>Если пробовать локальные агенты, то надо сперва придумать, как их ограничить в доступе
Я использую виртуалку с установленным окружением, в которую проброшена гит-репа с кодом. И он себе в этом зоопарке резвится сколько хочет.
ЕМ>Раза три пытался начать применять и то, и другое, и каждый раз бросал.
Ну, попробуй научиться "готовить кошек". Не обязательно читать каждую транзакцию.
ЕМ>А как примерно, с какой степенью подробности, описываете задания?
Обсуждаю фичу с ИИ, выступающем в роли бизнес-аналитика. Обычно 1-3 цикла по 4 вопроса, в зависимости от сложности фичи. Затем вступает в дело исследователь, потом планировщик и потом кодеры, тестеры и документация.
ЕМ>И как проверяете результаты — просто запуском в VM под тестами?
Есть автоматизированные тесты, но также заказываю тест-план для ручной проверки.
Отвечу еще от себя, возможно будет интересно.
ЕМ>Если пробовать локальные агенты, то надо сперва придумать, как их ограничить в доступе средствами системы — ну не хочу я, чтоб оно свободно лазило по всей ФС. Разве что отдельного пользователя под это завести.
Вообще оно и так ограничено папкой проекта (так по умолчанию).
Все локальные команды также можно специально ограничить (и они ограничены по умолчанию, он на каждый чих спрашивает подтверждение).
Просто я большинство из этих подтверждений выключил например, т.к. достаточно доверяю тому что агент делает.
Можно просто закинуть все на виртуалку чтобы иметь 100% гарантию что он не найдет ничего непристойного на компе.
Можно закинуть в облако, то же что и с виртуалкой в принципе.
ЧВ>>он точно также использует SVN/GIT
ЕМ>"Точно так же" — это не мой случай. Раза три пытался начать применять и то, и другое, и каждый раз бросал. Крайне раздражает то, что стандартные тулзы сравнивают тупо по строкам, и операция "переменная TimerResolution переименована в TimerResolutionMcs" превращается в длинную простыню "строка ... заменена строкой ...", которую нужно прочитать полностью, чтобы убедиться, что других различий между версиями нет.
Имеется в виду, что агент может напрямую пользоваться SVN/GIT (системой котроля версий) в командной строке, т.е. выполнять команды.
В смысле, тебе не нужно их знать — просто говоришь ему "зафиксировать изменения", агент все сделает, и комментарий напишет тоже.
ЧВ>>за последние три месяца я добавил фичи, которые люди просили годами
ЕМ>А как примерно, с какой степенью подробности, описываете задания?
Можно давать тупо как написано в багтрекере, или даже ссылку на багтрекер. Не больше чем человеку.
Но лучше сначала спросить, как он это планирует делать, чтобы он тебе план объяснил до того как начнет менять код,
и подтвердить что это норм (ну или скорректировать). Особенно если это большая фича.
И сказать ему сделал себе шпаргалку чтобы не забыть важные моменты, когда будет это реализовывать.
ЕМ>И как проверяете результаты — просто запуском в VM под тестами?
Точно так же как и свои собственные изменения проверяю.
Тесты там ну и руками. Но обычно я все же в целом понимаю что он конкретно поменял и зачем (проще если план изменений вначале обсудили)
Здравствуйте, Marty, Вы писали:
M>В дифе просто различие подсвечивается. При этом нормальные диф тулзы могут подсветить добавившийся суффикс.
Это которые? Последний раз я это дело пробовал года три назад, и где-то здесь жаловался, что сравнение только построчное — корифеи в ответ сказали, что так и задумано, и не фиг умничать.
M>И вообще, в чем проблема начать пользоваться?
Чтоб начать пользоваться, нужно, чтоб оно было реально удобным. Пока не видел особой разницы с периодическим ручным архивированием. Попробую эти новые дифтулзы, если понравится — буде пользоваться.
Здравствуйте, Евгений Музыченко, Вы писали: ЕМ>Здравствуйте, Marty, Вы писали: M>>В дифе просто различие подсвечивается. При этом нормальные диф тулзы могут подсветить добавившийся суффикс. ЕМ>Это которые? Последний раз я это дело пробовал года три назад, и где-то здесь жаловался, что сравнение только построчное — корифеи в ответ сказали, что так и задумано, и не фиг умничать.
Дак разве не все так делают? Araxis, Visual Studio, VS Code все подсвечивают изменения внутри строки?
Ниже diff от git в студии и в code. Или я не понял о чем речь?
Здравствуйте, Евгений Музыченко, Вы писали:
M>>В дифе просто различие подсвечивается. При этом нормальные диф тулзы могут подсветить добавившийся суффикс.
ЕМ>Это которые? Последний раз я это дело пробовал года три назад, и где-то здесь жаловался, что сравнение только построчное — корифеи в ответ сказали, что так и задумано, и не фиг умничать.
Диф — он построчный, да. И тулза тебе покажет сначала, что строки отличаются. А когда домотаешь до изменишегося фрагмента, там в строке покажет и изменения в ней.
Тот же ТортойзДифМерж показывает
M>>И вообще, в чем проблема начать пользоваться?
ЕМ>Чтоб начать пользоваться, нужно, чтоб оно было реально удобным. Пока не видел особой разницы с периодическим ручным архивированием. Попробую эти новые дифтулзы, если понравится — буде пользоваться.
Ручное архивирование? Какой же это гемор... А как ты ищешь при ручном архивировании, что и где поменялось? Как часто ты архивируешь? Я комиты делаю по нескольку раз в день, обычно; если фиксы делаю, то на каждый фикс — отдельный коммит. Ручное архивирование я забыл как страшный сон ещё в начале нулевых
Здравствуйте, Евгений Музыченко, Вы писали:
ЧВ>>Да просто попробуйте
ЕМ>Да пробую периодически — пока, правда, только веб-версии (бесплатный ChatGPT и Perplexity Pro).
Веб-версия совершенно бесполезна, это игрушка.
Без контекста и без доступа к коду и инструментам разработчика писать нормальный код невозможно. Что человеку что агенту.
ИИ стал полезен для разработки только после того как появился агентский режим и достаточно сильные модели (примерно год назад)