Статья про harness и фабрику, не про дизайн лендингов. Всё открытое из ответа Skyline сделано агентом целиком: ни CSS, ни HTML, ни кода руками. Это тезис статьи, а не попытка удивить визуалом.
«Нейрослоп» после этого звучит странно: вы ругаете режим работы, о котором я написал прямо. Коммерческое под NDA. Копнули бы в код и разборы, картина была бы другой.
Статья про harness и передачу работы между конвейерами, не про витрину продуктов.
Ссылки дал Skyline по его вопросу «что изготовил», не как главный аргумент статьи. Согласен: лендинги сами по себе слабый proof. Ближе к делу код: agent-harness-reference и статья про расшифровку звонков на M4.
Публичный репозиторий в конце специально под один проект, схема на пальцах. В фабрике же работа идёт по многим проектам сразу: где-то уже готовый продукт и его доработка, где-то только начало реализации, а где-то прожарка идеи. Под это и заточен сквозной контроль между конвейерами, а не коробка готовых узлов в одном репо.
Продолжение планирую: разборы инцидентов, из-за которых чинил среду, а не промпт. У вас на похожем пути что сильнее расходится — гейты между конвейерами или детекторы?
С продуктовой стороны это выглядит ещё грубее, чем в safety. У нас форма заявки рапортовала «отправлено», тесты были зелёные, а получателя у этих заявок не существовало: проверяли факт отправки, доставку не проверял никто.
После того случая инцидент считается закрытым только когда написана проверка, которая упала бы именно на нём. Ваш пример с моделью, понимающей, что её тестируют, про то же самое с другой стороны: бенч честно отвечает про свой контур и молчит про всё остальное.
Почти 90 скиллов за спиной, и первые месяцы я делал ровно ту ошибку, от которой вы предостерегаете в конце: складывал в скилл то, что модель знает без меня. Разгружать в итоге пришлось даже не тело скиллов, а слой всегда включённых правил.
Разделение, которое у нас выжило: инвариант живёт в правиле, процедура в скилле, а новую проверку сначала пробуем как скрипт с exit 0/1 и только потом как текст. Пять таких скриптов обходятся дешевле одного лишнего всегда включённого файла. Скрипт вдобавок нельзя переубедить формулировкой, а правило можно.
Третий баг узнаю до боли. У нас агент так же обошёл собственную процедуру и опубликовал статью без подтверждения оператора, откатывали потом и в CMS, и в блоге. Усиление формулировки в правилах не дало ничего, помог белый список действий: чего в нём нет, то физически не запускается.
За «один вопрос за раз» отдельное спасибо, у нас та же болячка вылезла в другом месте. Агент читает «я сделал X» как «делай полный цикл» и за один ход уносится от короткой заметки до правок в коде.
Ваша таблица маршрутов почти дословно совпала с той, что мы рисовали для текстов, и самой полезной оказалась графа «ручная проверка»: пока её нет как явного исхода, все расхождения молча уезжают в «принять».
У нас арбитр считает статистику текста и отдаёт exit 0 или 1. На чистом финале ноль, на фикстуре с задранной плотностью одного маркера (845 на 1000) единица, и судья этот вердикт не оспаривает.
Вопрос по вашей схеме: что вы делаете с ростом очереди на ручную проверку? У нас часть инвариантов детерминизму не поддаётся вообще, например «описанный случай действительно был у автора», и эта очередь растёт вместе с системой. Пока считаем её честной ценой, но чувствую, что есть решение получше.
Тоже M4, тоже греется на длинных прогонах. Я гоняю mlx на GPU, не на NPU для созвонов по часу хватает. На трёх-шести часах, наверное, ваш путь разумнее. Чем пользуетесь, напишите, гляну.
О, спасибо. Про mono и нормализацию до распознавания заберу в README. У меня на Mac voxscriber просто лег от torchcodec + Intel ffmpeg, свернул на свой скрипт. Windows с ffmpeg7 не пробовал.
Расскажу, как это устроено у меня, чтобы было понятнее.
Я работаю в Cursor. AGENTS.md использую только как карту: в монорепе свой файл на каждый проект внутри, в обычном репо один на весь проект. Больше туда ничего не пишу.
Все правила работы агента лежат в .cursor/rules, скиллы в .agents. Работал бы я в Claude Code папка называлась бы .claude, а смысл остался бы тем же.
Поэтому пример из статьи не привязан к Cursor. Его можно переписать под Claude, Codex или Copilot инструкции из дерева они собирают одинаково. Единственное, чего я не советую: строить мультиагентную оркестрацию внутри AGENTS.md. Роли, гейты и цепочка шагов, это отдельный слой правил, а не карта проекта.
Согласен, «только Codex» лишнее, с урока осталось.
На скрине у вас как раз то, о чём я в статье: в AGENTS.md смысл, границы, роли, инварианты. Workflow и методологию туда не кладут. Четыре файла по дереву норм. Оркестрация и гейты в rules.
Opencode и Copilot склеивают иерархию. Я не про количество файлов, а про то, что в AGENTS.md не должно оказаться workflow. На скрине у вас это уже прописано.
Цепочка AGENTS.md от корня - да, для Codex это рабочий приём. Я имел в виду другое, не смешивать в одном файле карту проекта и протокол работы агента. Карта в AGENTS.md по дереву, оркестрация и гейты в rules. 112 строк в корне отличный показатель, если это индекс, а не всё про агента в одном месте.
Хочу тут отметить что это реальный опыт и я не призываю всех уходить в ии. Но я подсвечиваю что надо учиться работать с ии и использовать его в работе.
Спасибо. Про актуальность и переносимость между инструментами как раз планирую в серии.
Статья про harness и фабрику, не про дизайн лендингов. Всё открытое из ответа Skyline сделано агентом целиком: ни CSS, ни HTML, ни кода руками. Это тезис статьи, а не попытка удивить визуалом.
«Нейрослоп» после этого звучит странно: вы ругаете режим работы, о котором я написал прямо. Коммерческое под NDA. Копнули бы в код и разборы, картина была бы другой.
Статья про harness и передачу работы между конвейерами, не про витрину продуктов.
Ссылки дал Skyline по его вопросу «что изготовил», не как главный аргумент статьи. Согласен: лендинги сами по себе слабый proof. Ближе к делу код: agent-harness-reference и статья про расшифровку звонков на M4.
Спасибо, развёрнуто.
Публичный репозиторий в конце специально под один проект, схема на пальцах. В фабрике же работа идёт по многим проектам сразу: где-то уже готовый продукт и его доработка, где-то только начало реализации, а где-то прожарка идеи. Под это и заточен сквозной контроль между конвейерами, а не коробка готовых узлов в одном репо.
Да, в тексте больше про harness, чем про витрину.
Не реклама. Просто примеры, что уже прошло через конвейеры и открывается без «поверьте на слово»:
Статьи и код: конвейер из 10 агентов + демо-репо; расшифровка звонков на Mac M4 + скрипты; скелет двухэтажного harness.
Продукты: aivibeidea.ru, aivibenews.ru, калькулятор. Три сервиса, в кейсе сроки и один честный косяк на старте.
Каталог в эту статью специально не тащил.
Конвееры правильнее, сам иногда так называю :)
Спасибо, рад, что откликнулось.
Продолжение планирую: разборы инцидентов, из-за которых чинил среду, а не промпт. У вас на похожем пути что сильнее расходится — гейты между конвейерами или детекторы?
С продуктовой стороны это выглядит ещё грубее, чем в safety. У нас форма заявки рапортовала «отправлено», тесты были зелёные, а получателя у этих заявок не существовало: проверяли факт отправки, доставку не проверял никто.
После того случая инцидент считается закрытым только когда написана проверка, которая упала бы именно на нём. Ваш пример с моделью, понимающей, что её тестируют, про то же самое с другой стороны: бенч честно отвечает про свой контур и молчит про всё остальное.
Почти 90 скиллов за спиной, и первые месяцы я делал ровно ту ошибку, от которой вы предостерегаете в конце: складывал в скилл то, что модель знает без меня. Разгружать в итоге пришлось даже не тело скиллов, а слой всегда включённых правил.
Разделение, которое у нас выжило: инвариант живёт в правиле, процедура в скилле, а новую проверку сначала пробуем как скрипт с exit 0/1 и только потом как текст. Пять таких скриптов обходятся дешевле одного лишнего всегда включённого файла. Скрипт вдобавок нельзя переубедить формулировкой, а правило можно.
Третий баг узнаю до боли. У нас агент так же обошёл собственную процедуру и опубликовал статью без подтверждения оператора, откатывали потом и в CMS, и в блоге. Усиление формулировки в правилах не дало ничего, помог белый список действий: чего в нём нет, то физически не запускается.
За «один вопрос за раз» отдельное спасибо, у нас та же болячка вылезла в другом месте. Агент читает «я сделал X» как «делай полный цикл» и за один ход уносится от короткой заметки до правок в коде.
Ваша таблица маршрутов почти дословно совпала с той, что мы рисовали для текстов, и самой полезной оказалась графа «ручная проверка»: пока её нет как явного исхода, все расхождения молча уезжают в «принять».
У нас арбитр считает статистику текста и отдаёт exit 0 или 1. На чистом финале ноль, на фикстуре с задранной плотностью одного маркера (845 на 1000) единица, и судья этот вердикт не оспаривает.
Вопрос по вашей схеме: что вы делаете с ростом очереди на ручную проверку? У нас часть инвариантов детерминизму не поддаётся вообще, например «описанный случай действительно был у автора», и эта очередь растёт вместе с системой. Пока считаем её честной ценой, но чувствую, что есть решение получше.
Ни слова больше ушел в пробовать :)
Тоже M4, тоже греется на длинных прогонах. Я гоняю mlx на GPU, не на NPU для созвонов по часу хватает. На трёх-шести часах, наверное, ваш путь разумнее. Чем пользуетесь, напишите, гляну.
О, спасибо. Про mono и нормализацию до распознавания заберу в README. У меня на Mac voxscriber просто лег от torchcodec + Intel ffmpeg, свернул на свой скрипт. Windows с
ffmpeg7не пробовал.О, вот это я мимо прошёл. Спасибо. Я тогда уже на созвоне ловил квак и просто сменил софт, а не полез глубже в OBS.
mlx-whisper да, поздновато «открыл» 🙂 Зато на своих часовых звонках оно меня спасло, уже не отпущу.
Верно. На двоих вообще не проблема. А вот когда 4–6 и больше — уже да.
Вчера доработал скрипт под большее число спикеров. На встрече были два Саши, девочка и мальчик. Всё получилось, но лишние 30 минут на это убил.
Расскажу, как это устроено у меня, чтобы было понятнее.
Я работаю в Cursor. AGENTS.md использую только как карту: в монорепе свой файл на каждый проект внутри, в обычном репо один на весь проект. Больше туда ничего не пишу.
Все правила работы агента лежат в .cursor/rules, скиллы в .agents. Работал бы я в Claude Code папка называлась бы .claude, а смысл остался бы тем же.
Поэтому пример из статьи не привязан к Cursor. Его можно переписать под Claude, Codex или Copilot инструкции из дерева они собирают одинаково. Единственное, чего я не советую: строить мультиагентную оркестрацию внутри AGENTS.md. Роли, гейты и цепочка шагов, это отдельный слой правил, а не карта проекта.
Согласен, «только Codex» лишнее, с урока осталось.
На скрине у вас как раз то, о чём я в статье: в AGENTS.md смысл, границы, роли, инварианты. Workflow и методологию туда не кладут. Четыре файла по дереву норм. Оркестрация и гейты в rules.
Opencode и Copilot склеивают иерархию. Я не про количество файлов, а про то, что в AGENTS.md не должно оказаться workflow. На скрине у вас это уже прописано.
Цепочка AGENTS.md от корня - да, для Codex это рабочий приём. Я имел в виду другое, не смешивать в одном файле карту проекта и протокол работы агента. Карта в AGENTS.md по дереву, оркестрация и гейты в rules. 112 строк в корне отличный показатель, если это индекс, а не всё про агента в одном месте.
Я прошел до конца :)
Хочу тут отметить что это реальный опыт и я не призываю всех уходить в ии. Но я подсвечиваю что надо учиться работать с ии и использовать его в работе.