Ну так это не он накалякал, а я) Именно я, с помощью агента.
А так, да, агент помнит лишь то, что помещается в контекст. Но за 30 лет в разработке я понял одну вещь - и человеческая память тоже очень, очень не надежное хранилище. Я не вспомню свой код 5 лет назад. Да что там 5, и год назад я уже не так много помню. А некоторые разовые, проходные задачи так и через пару недель с трудом вспомню. Поэтому, самое главное - это код. Он должен быть логичным, понятным и самодокументируемым.
И не только код, архитектура проекта в целом. За этим нужно обязательно следить. И когда сам пишешь, и когда пишешь с помощью агента.
Осталось понять, зачем в этом процессе лишняя сущность.
Примерно для того же, для чего создают команду из тимлида-сеньера и нескольких мидлов. Для ускорения работы. Я ставлю задачу. Объясняю ее. Отвечаю на множество вопросов, которые задает ИИ по проекту и задаче. Вижу где он меня понимает, где - нет. Объясняю, где он не понимает. Когда вижу, что задача поставлена хорошо, нет пробелов в его "понимания" задачи и ее реализации, разрешаю приступить к задаче. Правда, после этого человеку потребовались бы часы, ему - минуты. Можно чай попить и идти проверять.
Вообще, при формулировке задачи ИИ к нему нужно относится как к разработчику, который пришел на проект в первый день, в первый час, и в глаза не видел проект. Но он маленько странный. Если ему просто кинуть задачу, он ее начинает делать и не задает вопросов. Получается фигня. Человек задает в такой ситуации вопросы, а он - нет. Но если попросить "Для этой задачи посмотри код метода X и метода Y. И загляни в Z. Напиши план, без кода, задай вопросы" - то сразу начинается нормальная работа))
Еще можно привлекать к "мозговому штурму". Допустим, есть проблема, есть пути решения, но не особо прямые. Можно обрисовать задачу и попросить предложить варианты решения. Иногда может подкинуть идейку, мимо которой ты прошел. Не то, что бы часто, но бывает.
Ну еще он хорошо делает кучу вспомогательной работы, которую очень не любят и нередко забывают - документация, тесты и т.д.
PS: Только тесты ему не надо давать запускать, а то он может начать их модифицировать под результат - знаем, проходили) Не всегда понимает, когда бага в тесте, а когда - в тестируемом коде. Нужно, что бы вообще не видел выдачу тестов, ему это смотреть вредно. Теперь тесты запускаю только сам))
С картинкой не соглашусь. Отладчиком стал пользоваться сильно меньше, когда стал пользоваться ИИ. Во многих случаях код работает сразу.
У меня есть подозрение, что ИИ все пользуются сильно по разному, отсюда и столь противоречивые мнения. Я заставляю ИИ написать точно такой же код, который написал бы сам. Не пытаюсь написать какой-то промпт, а в процессе диалога уточняю план предстоящих изменений, пока он полностью меня не устроит. После этого изменения залетают очень чисто и часто работают без всякой отладки. Ошибки обычно бывают высокоуровневые, мои. Например, забыл что надо корректировать значение в записи БД и подобное. Хотя и таких ошибок стало меньше, так как ИИ часто напоминает о некоторых вещах в процессе построения плана.
Насчет предустановки соглашусь. А вот что возится с линуксом надо - нет. Тот же минт ставится проще (!), чем винда. Буквально несколько кнопок подтверждения. Ну, регион там выбрать, часовой пояс, раскладку. Пароль рута задать... да вроде все.
Ну почему. Вполне получится, если есть справочник по машинным кодам процессора. Вот как загрузить написанное в память - вопрос. Хотя не факт, что не решаемый, если есть паяльник.
Один раз за несколько часов написал игру "жизнь" на голом ПК.В машинных кодах. Но там монитор (Биос) позволял вручную модифицировать участки памяти, это был "Радио-86РК".
Можно, на Ютубе недавно видео энтузиаста попадалось. Но там ему тестер чипов пришлось купить, кажется, 70-80 т..р. Ну остальное оборудование и материалы были - фен, плита паяльная (или как ее там называют) и т.д.
А, да... заготовки самой планки с обвязкой на Али ещё заказывал...
Вообще, по результатам всех этих обсуждения я делаю примерно такой вывод: ИИ может генерировать разный код, и очень хороший, и очень плохой.
Очевидно, что плохого кода будет больше. Хотя бы по той причине, что код могут делать не специалисты, у которых раньше такой возможности не было. Где-то это прокатит - на простых задачах, без развития. Где-то - нет.
Но пользу для специалиста агент может приносить огромную, в этом я убедился на собственном опыте. Насколько это подходит всем - судить не берусь. Время расставит все по местам.
С тем, что какие-то навыки пострадают - полностью согласен. Когда какой-нибудь условный столяр переходит с ручного рубанка на электрический - его навыки работы с ручным рубанком начнут забываться. Но вряд ли он забудет принципы и тонкости обработки дерева.
Когда я проектирую с ИИ код, у меня в голове полная картина, как этот код будет работать. Например, у меня на питоне в каком-то методе есть список объектов и часто идет выборка по условию больше/меньше по полю объекта, а добавления редки. Я думаю примерно так: "Тут идет цикл по объектам, это очень медленно. Надо перенести цикл на уровень команд процессора, плюс данные для поиска должны лежать в непрерывном участке памяти. Значит, надо положить значения этого поля в массив numpy и обновлять такой кэш значений одновременно с обновлением элементов списка". Ну и так далее. Пострадает этот навык? Очевидно, что нет. Скорее, наоборот, разовьется больше. Так как я его использую больше, не тратя времени на ненужные детали реализации.
Что может пострадать? Ну, например, можно забыть, как описываются типы, так как это всегда делает агент. Хотя если их всегда тщательно проверять - не забудешь. Или, например, забыть, как пишется не равно (!= или <>). Да, такое забыть можно.
Еще удивительное наблюдение - на отладку значительно меньше времени стало уходить. Ручной код требует отладки почти всегда, причем отладка идет в двух уровнях - отлаживаешь метод, потом уже ловишь баги в комплексе, на уровне взаимодействия методов и частей, на уровне приложения. Вот первый уровень почти совсем ушел - мой код, сделанный агентом, в большинстве случаев работает сразу. Вот уже на уровне всего приложения баги всплывают, конечно, как обычно.
А насчет замедления на 20% и падения качества... ну не знаю, как они там этот код пишут. И как это сравнение производилось. У меня агент практически достает из моей головы тот код, который я бы написал сам) Разница лишь в небольших деталях. Но делает его лучше в тех вещах, в которых я могу ленится - например, всегда обновляет докстринги. Или напоминает о граничных условиях, о которых я бы мог забыть. То есть, с агентом у меня качество кода возрастает. Возможно, это все индивидуально.
Не факт, что замедлится. Может появится новая архитектура, или значительные усовершенствования текущей. Я даже уверен, что рано или поздно появятся, текущие трансформеры - вряд ли предел совершенства.
Ну я так и подумал, что вряд ли одному мне такое в голову приходит.
Это можно и на коммерческие рельсы переводить. Например, кому-то не нужно ИИ, но хочет предоставлять видеокарту в использование за деньги. А пул продает мощности тем, кто не хочет предоставлять свои карты, а хочет просто купить токены.
Вычислительные мощности видеокарт за деньги... что-то это мне напоминает... ))
Ну так это не он накалякал, а я) Именно я, с помощью агента.
А так, да, агент помнит лишь то, что помещается в контекст. Но за 30 лет в разработке я понял одну вещь - и человеческая память тоже очень, очень не надежное хранилище. Я не вспомню свой код 5 лет назад. Да что там 5, и год назад я уже не так много помню. А некоторые разовые, проходные задачи так и через пару недель с трудом вспомню. Поэтому, самое главное - это код. Он должен быть логичным, понятным и самодокументируемым.
И не только код, архитектура проекта в целом. За этим нужно обязательно следить. И когда сам пишешь, и когда пишешь с помощью агента.
Примерно для того же, для чего создают команду из тимлида-сеньера и нескольких мидлов. Для ускорения работы. Я ставлю задачу. Объясняю ее. Отвечаю на множество вопросов, которые задает ИИ по проекту и задаче. Вижу где он меня понимает, где - нет. Объясняю, где он не понимает. Когда вижу, что задача поставлена хорошо, нет пробелов в его "понимания" задачи и ее реализации, разрешаю приступить к задаче. Правда, после этого человеку потребовались бы часы, ему - минуты. Можно чай попить и идти проверять.
Вообще, при формулировке задачи ИИ к нему нужно относится как к разработчику, который пришел на проект в первый день, в первый час, и в глаза не видел проект. Но он маленько странный. Если ему просто кинуть задачу, он ее начинает делать и не задает вопросов. Получается фигня. Человек задает в такой ситуации вопросы, а он - нет. Но если попросить "Для этой задачи посмотри код метода X и метода Y. И загляни в Z. Напиши план, без кода, задай вопросы" - то сразу начинается нормальная работа))
Еще можно привлекать к "мозговому штурму". Допустим, есть проблема, есть пути решения, но не особо прямые. Можно обрисовать задачу и попросить предложить варианты решения. Иногда может подкинуть идейку, мимо которой ты прошел. Не то, что бы часто, но бывает.
Ну еще он хорошо делает кучу вспомогательной работы, которую очень не любят и нередко забывают - документация, тесты и т.д.
PS: Только тесты ему не надо давать запускать, а то он может начать их модифицировать под результат - знаем, проходили) Не всегда понимает, когда бага в тесте, а когда - в тестируемом коде. Нужно, что бы вообще не видел выдачу тестов, ему это смотреть вредно. Теперь тесты запускаю только сам))
С картинкой не соглашусь. Отладчиком стал пользоваться сильно меньше, когда стал пользоваться ИИ. Во многих случаях код работает сразу.
У меня есть подозрение, что ИИ все пользуются сильно по разному, отсюда и столь противоречивые мнения. Я заставляю ИИ написать точно такой же код, который написал бы сам. Не пытаюсь написать какой-то промпт, а в процессе диалога уточняю план предстоящих изменений, пока он полностью меня не устроит. После этого изменения залетают очень чисто и часто работают без всякой отладки. Ошибки обычно бывают высокоуровневые, мои. Например, забыл что надо корректировать значение в записи БД и подобное. Хотя и таких ошибок стало меньше, так как ИИ часто напоминает о некоторых вещах в процессе построения плана.
А, ну да, дыхания же здесь нет. Окружил - и готово.
Что-то не могу понять - а чем эта игра от Го отличается?)
Ну вот в современных линуксах все тоже самое, только минус запрос серийника и дурацких слайдов меньше.
Да нормально там все с CUDA. Монитора у меня три, правда, одинаковые. Это же немного причесанная убунта.
Насчет предустановки соглашусь.
А вот что возится с линуксом надо - нет. Тот же минт ставится проще (!), чем винда. Буквально несколько кнопок подтверждения. Ну, регион там выбрать, часовой пояс, раскладку. Пароль рута задать... да вроде все.
Он уже причесан очень хорошо. Например, mint. Наверное, самый сильный сдерживающий фактор от массовой пересадки - это excel и word.
Ну почему. Вполне получится, если есть справочник по машинным кодам процессора. Вот как загрузить написанное в память - вопрос. Хотя не факт, что не решаемый, если есть паяльник.
Один раз за несколько часов написал игру "жизнь" на голом ПК.В машинных кодах. Но там монитор (Биос) позволял вручную модифицировать участки памяти, это был "Радио-86РК".
Да ладно! Не верю)
(Пошел гуглить)
Да ну почему, имеет. Но про JIT автор забыл, да)
И ЦА не хабра, конечно...
Что-то вспомнил про ssd qlc, где аж 16 состояний в ячейке... )
Можно, на Ютубе недавно видео энтузиаста попадалось. Но там ему тестер чипов пришлось купить, кажется, 70-80 т..р. Ну остальное оборудование и материалы были - фен, плита паяльная (или как ее там называют) и т.д.
А, да... заготовки самой планки с обвязкой на Али ещё заказывал...
Точно не помню, ddr4 или 5 у него было.
А по каким критериям вы сравниваете мозг червя и нейронку?
Excel на linux работает. Правда, раньше настройка вайна для него не тривиальна была, как сейчас - не знаю
Вообще, по результатам всех этих обсуждения я делаю примерно такой вывод: ИИ может генерировать разный код, и очень хороший, и очень плохой.
Очевидно, что плохого кода будет больше. Хотя бы по той причине, что код могут делать не специалисты, у которых раньше такой возможности не было. Где-то это прокатит - на простых задачах, без развития. Где-то - нет.
Но пользу для специалиста агент может приносить огромную, в этом я убедился на собственном опыте. Насколько это подходит всем - судить не берусь. Время расставит все по местам.
С тем, что какие-то навыки пострадают - полностью согласен. Когда какой-нибудь условный столяр переходит с ручного рубанка на электрический - его навыки работы с ручным рубанком начнут забываться. Но вряд ли он забудет принципы и тонкости обработки дерева.
Когда я проектирую с ИИ код, у меня в голове полная картина, как этот код будет работать. Например, у меня на питоне в каком-то методе есть список объектов и часто идет выборка по условию больше/меньше по полю объекта, а добавления редки. Я думаю примерно так: "Тут идет цикл по объектам, это очень медленно. Надо перенести цикл на уровень команд процессора, плюс данные для поиска должны лежать в непрерывном участке памяти. Значит, надо положить значения этого поля в массив numpy и обновлять такой кэш значений одновременно с обновлением элементов списка". Ну и так далее. Пострадает этот навык? Очевидно, что нет. Скорее, наоборот, разовьется больше. Так как я его использую больше, не тратя времени на ненужные детали реализации.
Что может пострадать? Ну, например, можно забыть, как описываются типы, так как это всегда делает агент. Хотя если их всегда тщательно проверять - не забудешь. Или, например, забыть, как пишется не равно (!= или <>). Да, такое забыть можно.
Еще удивительное наблюдение - на отладку значительно меньше времени стало уходить. Ручной код требует отладки почти всегда, причем отладка идет в двух уровнях - отлаживаешь метод, потом уже ловишь баги в комплексе, на уровне взаимодействия методов и частей, на уровне приложения. Вот первый уровень почти совсем ушел - мой код, сделанный агентом, в большинстве случаев работает сразу. Вот уже на уровне всего приложения баги всплывают, конечно, как обычно.
А насчет замедления на 20% и падения качества... ну не знаю, как они там этот код пишут. И как это сравнение производилось. У меня агент практически достает из моей головы тот код, который я бы написал сам) Разница лишь в небольших деталях. Но делает его лучше в тех вещах, в которых я могу ленится - например, всегда обновляет докстринги. Или напоминает о граничных условиях, о которых я бы мог забыть. То есть, с агентом у меня качество кода возрастает. Возможно, это все индивидуально.
Не факт, что замедлится. Может появится новая архитектура, или значительные усовершенствования текущей. Я даже уверен, что рано или поздно появятся, текущие трансформеры - вряд ли предел совершенства.
Ну я так и подумал, что вряд ли одному мне такое в голову приходит.
Это можно и на коммерческие рельсы переводить. Например, кому-то не нужно ИИ, но хочет предоставлять видеокарту в использование за деньги. А пул продает мощности тем, кто не хочет предоставлять свои карты, а хочет просто купить токены.
Вычислительные мощности видеокарт за деньги... что-то это мне напоминает... ))