Про масштаб принимаю, довод честный. На десятке скиллов всё держится в голове, на тысяче не держится.
Смущает меня другое место в вашей формулировке. «Насколько вы будете понимать, как он работает» — при тысяче скиллов вы не понимаете их глазами в любом случае, кто бы их ни писал. Тысячу, написанную руками, вы точно так же не удержите. Систематизация решает навигацию: где лежит, за что отвечает, кто с кем связан. А вот вопрос «делает ли оно то, что я думаю» она не закрывает, и чем больше скиллов, тем сильнее эти две задачи расходятся.
Раз позвали поделиться — вот наш способ, он глупый и рабочий. Все скиллы, которыми бойцы в конторе решили поделиться, лежат во внутренней репе, в папочках. Есть скрипт, который перед пушем переделывает оглавление и проставляет ключевики (через запрос к LLM), результат выкладывается в TOC.md. Поэтому я могу спросить агента: «а есть у нас скиллы, чтобы CODEOWNERS заполнить?» — и он найдёт.
Но это ровно навигация и ничего сверх неё. Что скилл после правки стал делать не то, наш TOC не поймает, и мы пока ничем не ловим.
Отсюда встречный вопрос, и он мне правда интересен: а у вас есть регресс на сами скиллы? Когда правите один из тысячи, чем вы ловите, что поведение агента поехало? Вот эту часть я бы прочитал отдельной статьей!
Правило первое в Уложении самое дорогое: «не оставлять в подвалах древних устройств, о которых никто не знает, что они делают. Если разобрать его дорого, разбери его дорого».
Оно и раньше было верным, просто «дорого» означало опытного мужа, полгода его жизни и кладку, вскрытую в шести местах. А такого мужа всегда есть чем занять полезнее. Оттого весна, до которой собирались разобрать, за одиннадцать перестроек так ни разу и не наступила.
К нынешнему лету поменялось вот что. В подвал можно послать гонцов, которым неудобно не бывает. Им всё равно, что вода по щиколотку и что к железной штуке с табличкой не надо подходить. Послать можно десяток разом, и не с наказом «выясни, что там», а велеть пройти по каждой цепи до конца и переписать всё, к чему она привязана. Подъёмник для дров и колокол в часовне нашлись бы не в лето 35-е, а к обеду того же дня.
Вот только гонец, посланный в подвал, это тот же мастер Ортольф. Он точно так же составит устав на девятнадцать понятных строк, испытает его на потешном дворе, доложит «найдено добрым», а на вопрос, подобен ли потешный двор Кривенгарду, ответит, что во всём существенном. Разница ровно одна: он сделает это за час и не устанет.
Оттого мне и близок нынешний граф, дядя мой, Роберт Мартинский, тот самый, единственный, кто вообще попал внутрь. Он ныне держится правила такого, что из терема не выходит и работу смердов своих не проверяет вовсе. Доверия тут никакого, просто он обвесил их испытаниями строже всякого ревью. Построил двор, на котором холопу негде соврать или украсть. Дескать, иначе барбакан за полдня не построишь.
У нас в конторе такой зазор тоже есть, и мы даже знаем, кто его оставил.
Держим мы два рода счетов: обычные и те, что для гостей, коим вера воспрещает лихву. Роста с них брать нельзя ни при каких обстоятельствах, это не про деньги, это про веру. В реестре торговых групп (реестр у нас MT5) заведены они одинаково, и вся разница в приписке из одной буквы. Приписка эта «S», от слова swap, сиречь рост. И означает она те счета, на которых роста как раз НЕТ (в обиходе swap free). Выдумка не наша, так живёт всякий, кто сидит на MT5.
Кто видел реестр впервые, читал приписку наоборот. Кто сидел на нём третий год, всё равно останавливался и проверял. Переименовать нельзя, за приписку держатся цепи, о которых мы знаем не всё. Ровно как за ворот в подвале.
Трогать её мы не стали, велели брату Клавдию Кодовскому написать испытания. Теперь всякий раз, как в реестр добавляют новую пачку групп, они спрашивают одно: не возьмут ли с гостя рост, которого с него брать нельзя. Вопрос не в том, верно ли названо. Вопрос в том, что станется с живым человеком, если названо неверно.
Седьмое правило Уложения, только исполненное машиной и потому исполняемое всегда, а не когда у кого-то дошли руки.
Гонцы ныне дёшевы, можно и по двое посылать, дабы один за другим проверял. Вот только двое одинаковых гонцов и ошибаются одинаково, так что двор для них строить всё равно мне. Зато бегают, а не котят курящих рисуют, и на том спасибо.
Паттерны разумные, но у меня от статьи остался вопрос крупнее самих паттернов.
Мы по инерции считаем агентное программирование очередным подъёмом уровня абстракции: был ассемблер, стал C, стали фреймворки, теперь markdown — и к нему, как ко всему предыдущему, положено прилагаться методологии, стилю и своду правил. Кажется, это не тот случай. Подъём абстракции — это когда человек продолжает писать, только короче. А здесь меняется не длина, здесь меняется тот, кто пишет.
Отсюда прямой вопрос автору: вы эти скиллы пишете руками? В статье 27 тысяч знаков о том, как их правильно структурировать, и ни слова о том, что структурировать их может сам агент. Если руками — то почему именно руками? Если нет — то это и есть самая интересная часть текста, и её в тексте нет.
У нас в конторе скиллы заказываются примерно так: «Я устал вспоминать, почему вчера, работая в десяти параллельных сессиях Клода, принял то или иное решение. Клод, напиши скилл, чтобы хуком на коммит и на выход сессия сохранялась в каталог под гитигнором, и чтобы ты потом мог туда слазить и напомнить». Ни одного из трёх паттернов я при этом в голове не держал. Через 20 минут у меня был работающий скилл, сегодня им пользуются ещё три человека в конторе (да, я в курилке похвастался, но не форсил). Оговорюсь сразу: проверить его было тривиально — сессия либо сохранилась, либо нет, критерий бинарный и виден в первый же день.
А вот проверяется это дёшево далеко не всегда. Возьмите текст этой самой статьи, отдайте агенту и попросите скилл по производству скиллов. Первый черновик выйдет минут за десять — три паттерна изложены достаточно формально, чтобы модель их разложила. Беда в том, что черновик этот ничего не стоит: у него нет бинарного критерия. Пока он не прогнан на полусотне реальных задач, неизвестно, меняет ли он выход агента вообще хоть как-нибудь. И вот эта проверка — уже недели, и её не делегируешь ни агенту, ни статье.
Получается, узкое место не в том, как писать скиллы. Оно в том, как понять, что написанный работает. Вот про это я бы почитал.
Сейчас мы все джуны в ИИ. Нет человека с опытом 5 лет в агентной разработке. Все начинают в одинаковых условиях. Ну, разве, что подписку на Клод за $200 с буржуйской карты могут оплатить не только лишь все, но, например, в 2000-е, когда я учился, чтобы скачать MS Windows SDK надо было месяц по ночам модем раскочегаривать, чтобы за занятый телефон днём мамка по жопе не дала. Так что это можно преодолеть, если есть желание. Да и подписки за $20 на многое хватает. Может, это наоборот, новый шанс?
А вот такой вопрос, чисто из любопытства, даже, может, не к автору, а к аудитории - А если взять всё имеющееся ТЗ, все брифы, все чаты и переписку по проекту, закинуть Клоду в папку и на максимальных настройках попросить дать оценку с учётом исполнения не самой дорогой, а самой подходящей моделью - что будет? Совпадёт? ИИ начнёт задавать правильные вопросы? Или выдаст не имеющий отношения к реальности бред? Кто-то пробовал?
Помню, во времена дикой необузданной молодости, писал парсер для CDR файлов. Нужно было в ночь с 31-го на 1-е обработать и забиллинговать терабайт CDR записей (Call Details Record, телефония).
Сначала, как советовали пацаны из вейп-бара, написал на Ruby. Написал быстро, работало оно в среднем 3 дня на неслабом по тем временам серваке. Многопоточность не помогала, потому что GIL.
Висит уже третий год. Проблема реальная — попробуйте сделать загрузку файлов на S3 из андроидного стокового браузера. Сломано во всех популярных версиях вплоть до 4.2.
Привожу этот конкретный пример потому что сжег на нем часов тридцать пытаясь как-то обойти.
Генерация капчи плохая но не самая ресурсоемкая задача, которую вражеский бот может запустить. Пусть уж лучше капчи генерирует, то что ими защищено — куда тяжелее.
Согласен на 100%. Проблема то в том, что если она не разгадана, то не так-то просто это понять. Юзер (а тем более бот) вместо сабмита сомнительной капчи может уйти или запросить новую. Касаемо ситуации одновременных юзеров — скорее всего такое бывало, и не раз. Но бывало довольно редко и обновление страницы помогало, поэтому юзеры не жаловались. А сейчас все хуже было — у всех и обновление не помогает.
Нет, картинки на винт. А генерировать пачками можно, но лениво. Код получается сложнее наверное, хотя может и нет. Не пробовали потому что забоялись что все уснет.
Это уже высший пилотаж, не для вечернего хотфикса :) А если серьезно — то не могу сказать навскидку как лучше. Учитывать надо то требование, что сложность для нелюдей должна быть как можно более высока.
Решили так не делать. Непонятно что будет если в час наибольшей нагрузки число капч опустится до уровня 50% и начнется регенерация (а это вставки в базу, что есть дорого). Генерация «на лету» по крайней мере пропорциональна нагрузке, а крон отожрет все что сможет и сделать ему приоритет пониже не факт что получится — проблема не только в процессоре, но, главным образом, в базе.
Про масштаб принимаю, довод честный. На десятке скиллов всё держится в голове, на тысяче не держится.
Смущает меня другое место в вашей формулировке. «Насколько вы будете понимать, как он работает» — при тысяче скиллов вы не понимаете их глазами в любом случае, кто бы их ни писал. Тысячу, написанную руками, вы точно так же не удержите. Систематизация решает навигацию: где лежит, за что отвечает, кто с кем связан. А вот вопрос «делает ли оно то, что я думаю» она не закрывает, и чем больше скиллов, тем сильнее эти две задачи расходятся.
Раз позвали поделиться — вот наш способ, он глупый и рабочий. Все скиллы, которыми бойцы в конторе решили поделиться, лежат во внутренней репе, в папочках. Есть скрипт, который перед пушем переделывает оглавление и проставляет ключевики (через запрос к LLM), результат выкладывается в TOC.md. Поэтому я могу спросить агента: «а есть у нас скиллы, чтобы CODEOWNERS заполнить?» — и он найдёт.
Но это ровно навигация и ничего сверх неё. Что скилл после правки стал делать не то, наш TOC не поймает, и мы пока ничем не ловим.
Отсюда встречный вопрос, и он мне правда интересен: а у вас есть регресс на сами скиллы? Когда правите один из тысячи, чем вы ловите, что поведение агента поехало? Вот эту часть я бы прочитал отдельной статьей!
Правило первое в Уложении самое дорогое: «не оставлять в подвалах древних устройств, о которых никто не знает, что они делают. Если разобрать его дорого, разбери его дорого».
Оно и раньше было верным, просто «дорого» означало опытного мужа, полгода его жизни и кладку, вскрытую в шести местах. А такого мужа всегда есть чем занять полезнее. Оттого весна, до которой собирались разобрать, за одиннадцать перестроек так ни разу и не наступила.
К нынешнему лету поменялось вот что. В подвал можно послать гонцов, которым неудобно не бывает. Им всё равно, что вода по щиколотку и что к железной штуке с табличкой не надо подходить. Послать можно десяток разом, и не с наказом «выясни, что там», а велеть пройти по каждой цепи до конца и переписать всё, к чему она привязана. Подъёмник для дров и колокол в часовне нашлись бы не в лето 35-е, а к обеду того же дня.
Вот только гонец, посланный в подвал, это тот же мастер Ортольф. Он точно так же составит устав на девятнадцать понятных строк, испытает его на потешном дворе, доложит «найдено добрым», а на вопрос, подобен ли потешный двор Кривенгарду, ответит, что во всём существенном. Разница ровно одна: он сделает это за час и не устанет.
Оттого мне и близок нынешний граф, дядя мой, Роберт Мартинский, тот самый, единственный, кто вообще попал внутрь. Он ныне держится правила такого, что из терема не выходит и работу смердов своих не проверяет вовсе. Доверия тут никакого, просто он обвесил их испытаниями строже всякого ревью. Построил двор, на котором холопу негде соврать или украсть. Дескать, иначе барбакан за полдня не построишь.
У нас в конторе такой зазор тоже есть, и мы даже знаем, кто его оставил.
Держим мы два рода счетов: обычные и те, что для гостей, коим вера воспрещает лихву. Роста с них брать нельзя ни при каких обстоятельствах, это не про деньги, это про веру. В реестре торговых групп (реестр у нас MT5) заведены они одинаково, и вся разница в приписке из одной буквы. Приписка эта «S», от слова swap, сиречь рост. И означает она те счета, на которых роста как раз НЕТ (в обиходе swap free). Выдумка не наша, так живёт всякий, кто сидит на MT5.
Кто видел реестр впервые, читал приписку наоборот. Кто сидел на нём третий год, всё равно останавливался и проверял. Переименовать нельзя, за приписку держатся цепи, о которых мы знаем не всё. Ровно как за ворот в подвале.
Трогать её мы не стали, велели брату Клавдию Кодовскому написать испытания. Теперь всякий раз, как в реестр добавляют новую пачку групп, они спрашивают одно: не возьмут ли с гостя рост, которого с него брать нельзя. Вопрос не в том, верно ли названо. Вопрос в том, что станется с живым человеком, если названо неверно.
Седьмое правило Уложения, только исполненное машиной и потому исполняемое всегда, а не когда у кого-то дошли руки.
Гонцы ныне дёшевы, можно и по двое посылать, дабы один за другим проверял. Вот только двое одинаковых гонцов и ошибаются одинаково, так что двор для них строить всё равно мне. Зато бегают, а не котят курящих рисуют, и на том спасибо.
Паттерны разумные, но у меня от статьи остался вопрос крупнее самих паттернов.
Мы по инерции считаем агентное программирование очередным подъёмом уровня абстракции: был ассемблер, стал C, стали фреймворки, теперь markdown — и к нему, как ко всему предыдущему, положено прилагаться методологии, стилю и своду правил. Кажется, это не тот случай. Подъём абстракции — это когда человек продолжает писать, только короче. А здесь меняется не длина, здесь меняется тот, кто пишет.
Отсюда прямой вопрос автору: вы эти скиллы пишете руками? В статье 27 тысяч знаков о том, как их правильно структурировать, и ни слова о том, что структурировать их может сам агент. Если руками — то почему именно руками? Если нет — то это и есть самая интересная часть текста, и её в тексте нет.
У нас в конторе скиллы заказываются примерно так: «Я устал вспоминать, почему вчера, работая в десяти параллельных сессиях Клода, принял то или иное решение. Клод, напиши скилл, чтобы хуком на коммит и на выход сессия сохранялась в каталог под гитигнором, и чтобы ты потом мог туда слазить и напомнить». Ни одного из трёх паттернов я при этом в голове не держал. Через 20 минут у меня был работающий скилл, сегодня им пользуются ещё три человека в конторе (да, я в курилке похвастался, но не форсил). Оговорюсь сразу: проверить его было тривиально — сессия либо сохранилась, либо нет, критерий бинарный и виден в первый же день.
А вот проверяется это дёшево далеко не всегда. Возьмите текст этой самой статьи, отдайте агенту и попросите скилл по производству скиллов. Первый черновик выйдет минут за десять — три паттерна изложены достаточно формально, чтобы модель их разложила. Беда в том, что черновик этот ничего не стоит: у него нет бинарного критерия. Пока он не прогнан на полусотне реальных задач, неизвестно, меняет ли он выход агента вообще хоть как-нибудь. И вот эта проверка — уже недели, и её не делегируешь ни агенту, ни статье.
Получается, узкое место не в том, как писать скиллы. Оно в том, как понять, что написанный работает. Вот про это я бы почитал.
Так а результат-то какой? Даст неонка, которая унутре у ей, оценку, близкую к реальности?
(сорян, промахнулся, надо было в предыдущий тред, админы, если можно - двиньте?)
Сейчас мы все джуны в ИИ. Нет человека с опытом 5 лет в агентной разработке. Все начинают в одинаковых условиях. Ну, разве, что подписку на Клод за $200 с буржуйской карты могут оплатить не только лишь все, но, например, в 2000-е, когда я учился, чтобы скачать MS Windows SDK надо было месяц по ночам модем раскочегаривать, чтобы за занятый телефон днём мамка по жопе не дала. Так что это можно преодолеть, если есть желание. Да и подписки за $20 на многое хватает. Может, это наоборот, новый шанс?
А вот такой вопрос, чисто из любопытства, даже, может, не к автору, а к аудитории - А если взять всё имеющееся ТЗ, все брифы, все чаты и переписку по проекту, закинуть Клоду в папку и на максимальных настройках попросить дать оценку с учётом исполнения не самой дорогой, а самой подходящей моделью - что будет? Совпадёт? ИИ начнёт задавать правильные вопросы? Или выдаст не имеющий отношения к реальности бред? Кто-то пробовал?
Специально встал и перешёл к десктопу чтобы поставить все возможные плюсы. Профессионала видно сразу.
Сначала, как советовали пацаны из вейп-бара, написал на Ruby. Написал быстро, работало оно в среднем 3 дня на неслабом по тем временам серваке. Многопоточность не помогала, потому что GIL.
Переделал на C++, 40 минут.
Твоё лицо когда узнал что фронтендеры запускают webpack --watch чуть более чем всегда
Висит уже третий год. Проблема реальная — попробуйте сделать загрузку файлов на S3 из андроидного стокового браузера. Сломано во всех популярных версиях вплоть до 4.2.
Привожу этот конкретный пример потому что сжег на нем часов тридцать пытаясь как-то обойти.
Перезалил на хабрасторадж