Хабр-дайджест за 23–27 марта 2026
Для начала: обязательно посмотрите запись подкаста про вайб-кодинг в инжиниринге данных и в целом от @analyticsfromzero и @cdo_channel. Два часа интересного.
📥 Безопасность и сети
Полный технический анализ MITM в клиенте Telega — разбор механики перехвата трафика в альтернативном Telegram-клиенте. Автор показал, как приложение активирует man-in-the-middle без ведома пользователя.
История одного Ransomware или как я спасал бизнес — практический кейс реагирования на шифровальщик в реальном бизнесе. От обнаружения до восстановления.
Способы обхода замедления Telegram — практические методы работы с замедленным мессенджером. В комментах всегда самое интересное.
📥 ИИ и машинное обучение
Я сделал локального AI-агента для России. Без VPN, без подписки, без облака — разработчик собрал полностью локального AI-помощника для кодинга, работающего без внешних зависимостей. 219 закладок.
DeepSeek на сервере: практический гайд — пошаговая инструкция по развёртыванию DeepSeek на облачной инфраструктуре.
Юридическое поле экспериментов для RAG — опыт участия в соревновании Agentic RAG Legal Challenge: 300+ команд, юридические тексты, LLM-индексация.
Протестировали 22 нейросети на задачах для учителей — бенчмарк EduBench-RU: Claude Opus 4.6, GPT-5.4, Gemini 3.1 Pro. Ни одна модель не знает чувашский.
📥 Разработка и языки
В каждом JPEG зашита модель вашей сетчатки — как JPEG-сжатие кодирует особенности человеческого восприятия. Алгоритмика + Python.
Хватит допускать ошибки в Go: практические рецепты — справочник по типичным проблемам бэкенда на Go: конкурентность, сеть, обработка ошибок.
📥 Highload и базы данных
Миллиард записей и 8 марта: как YDB спасла праздник — кейс Яндекса: синхронизация 4 млрд складских записей на YDB в реальном времени.
PGConf.Russia 2026 — 23–24 марта в Москве прошла крупнейшая PostgreSQL-конференция: новинки PostgreSQL 19, шардирование 8 ТБ без даунтайма.
#habr
Для начала: обязательно посмотрите запись подкаста про вайб-кодинг в инжиниринге данных и в целом от @analyticsfromzero и @cdo_channel. Два часа интересного.
Полный технический анализ MITM в клиенте Telega — разбор механики перехвата трафика в альтернативном Telegram-клиенте. Автор показал, как приложение активирует man-in-the-middle без ведома пользователя.
История одного Ransomware или как я спасал бизнес — практический кейс реагирования на шифровальщик в реальном бизнесе. От обнаружения до восстановления.
Способы обхода замедления Telegram — практические методы работы с замедленным мессенджером. В комментах всегда самое интересное.
Я сделал локального AI-агента для России. Без VPN, без подписки, без облака — разработчик собрал полностью локального AI-помощника для кодинга, работающего без внешних зависимостей. 219 закладок.
DeepSeek на сервере: практический гайд — пошаговая инструкция по развёртыванию DeepSeek на облачной инфраструктуре.
Юридическое поле экспериментов для RAG — опыт участия в соревновании Agentic RAG Legal Challenge: 300+ команд, юридические тексты, LLM-индексация.
Протестировали 22 нейросети на задачах для учителей — бенчмарк EduBench-RU: Claude Opus 4.6, GPT-5.4, Gemini 3.1 Pro. Ни одна модель не знает чувашский.
В каждом JPEG зашита модель вашей сетчатки — как JPEG-сжатие кодирует особенности человеческого восприятия. Алгоритмика + Python.
Хватит допускать ошибки в Go: практические рецепты — справочник по типичным проблемам бэкенда на Go: конкурентность, сеть, обработка ошибок.
Миллиард записей и 8 марта: как YDB спасла праздник — кейс Яндекса: синхронизация 4 млрд складских записей на YDB в реальном времени.
PGConf.Russia 2026 — 23–24 марта в Москве прошла крупнейшая PostgreSQL-конференция: новинки PostgreSQL 19, шардирование 8 ТБ без даунтайма.
#habr
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤1👍1🔥1🙏1
Уважаю движухи для комьюнити. Коллеги из MWS запускают серию онлайн-митапов для обсуждения различных ИТ-направлений.
Первый митап уже 31.03 в 15:00 в онлайне про ИТ-архитектуру — тренды в разработке и обслуживании.
Детали
Трансляция будет тут
P.S.: Ох уж этот дивный новый мир переводов уже устоявшихся терминов.
#нереклама
Первый митап уже 31.03 в 15:00 в онлайне про ИТ-архитектуру — тренды в разработке и обслуживании.
Детали
Трансляция будет тут
P.S.: Ох уж этот дивный новый мир переводов уже устоявшихся терминов.
#нереклама
👍2
Почему OpenAI закрыла Sora
Версия про сбор биометрии не подтвердилась. WSJ провёл расследование и там всё прозаично.
После запуска аудитория Sora выросла примерно до миллиона пользователей. Потом сократилась вдвое — до 500 тысяч. При этом приложение сжигало около $1 млн в день. Не потому что его любили. Просто генерация видео дьявольски дорога в эксплуатации — каждый ролик ест дефицитные GPU.
Итого: убыточный продукт с падающей аудиторией, который держит на себе целую команду и пожирает чипы.
Параллельно Anthropic тихо забирала разработчиков и enterprise-клиентов. Claude Code конкретно рос в тот момент, когда OpenAI тратила ресурсы на видео, которое никому не было нужно. Альтман закрыл Sora, освободил ресурсы, перефокусировался.
Интересная деталь из WSJ: Disney подписал обязательства на $1 млрд в рамках партнёрства с Sora. О закрытии узнал менее чем за час до публичного объявления. Сделка умерла вместе с продуктом.
Это хороший кейс про то, чем ИИ-гонка отличается от обычного продуктового бизнеса. Когда GPU это узкое горлышко, у тебя нет роскоши держать живым убыточный продукт «на перспективу». Выбираешь, куда направить чипы. OpenAI выбрала не видео.
#ai
Версия про сбор биометрии не подтвердилась. WSJ провёл расследование и там всё прозаично.
После запуска аудитория Sora выросла примерно до миллиона пользователей. Потом сократилась вдвое — до 500 тысяч. При этом приложение сжигало около $1 млн в день. Не потому что его любили. Просто генерация видео дьявольски дорога в эксплуатации — каждый ролик ест дефицитные GPU.
Итого: убыточный продукт с падающей аудиторией, который держит на себе целую команду и пожирает чипы.
Параллельно Anthropic тихо забирала разработчиков и enterprise-клиентов. Claude Code конкретно рос в тот момент, когда OpenAI тратила ресурсы на видео, которое никому не было нужно. Альтман закрыл Sora, освободил ресурсы, перефокусировался.
Интересная деталь из WSJ: Disney подписал обязательства на $1 млрд в рамках партнёрства с Sora. О закрытии узнал менее чем за час до публичного объявления. Сделка умерла вместе с продуктом.
Это хороший кейс про то, чем ИИ-гонка отличается от обычного продуктового бизнеса. Когда GPU это узкое горлышко, у тебя нет роскоши держать живым убыточный продукт «на перспективу». Выбираешь, куда направить чипы. OpenAI выбрала не видео.
#ai
👍1
Forwarded from The Art Of Programming
Утекли исходники Claude Code.
Ну утекли и утекли, но читать про это одно удовольствие: Утекли исходники Claude Code. Да, оригинальный текст тут.
Как написал Олег в комментариях:
Отдельно можно посмотреть на выводы ребят занявшихся реверс инжинирингом Claude Code, например, тут.
Ну утекли и утекли, но читать про это одно удовольствие: Утекли исходники Claude Code. Да, оригинальный текст тут.
Как написал Олег в комментариях:
Главная ошибка Claude Code - неверное определение даты слива 🙂 В программировании есть две сложных вещи, одна из них - правильно посчитать даты с переносами часового пояса 🙂
Отдельно можно посмотреть на выводы ребят занявшихся реверс инжинирингом Claude Code, например, тут.
👍1🤔1
Есть у меня большая история недели о том, как я боролся с зависаниями агентов при работе с большими материалами. Реально большими.
Но лучше завтра её выложу.
А пока мораль: в процессе работы над чем-то универсальным и работающим так, как тебе нужно, всегда надо помнить о принципах, которые были заложены в стоковой системе.
Но лучше завтра её выложу.
А пока мораль: в процессе работы над чем-то универсальным и работающим так, как тебе нужно, всегда надо помнить о принципах, которые были заложены в стоковой системе.
❤1
Чтобы зафиксироваться: сейчас меня система из 25 агентов и субагентов, которые пишут контент конвейером: ресёрчер собирает данные → автор пишет текст → фактчекер проверяет. Более того, я начинал с Claude, но сейчас система работает и c другими LLM: идёт по визарду, подключает нужные скиллы и правила.
Звучит красиво. На практике как раз в процессе работы над бекендом я переусердствовал и мои агенты начали зависать, чего не было в простой системе агентов. Что пришлось сделать:
Проблема 1: Request timed out → pipeline мёртв. LLM-вызовы работали без таймаутов. Если модель тормозила или сеть падала, то весь конвейер блокировался навечно. Без ошибки, без логов, без надежды.
Пришлось писать индивидуальные таймауты для 9 типов агентов: ресёрчерам — 3 минуты (WebSearch любит зависать), авторам — 5 минут, оркестраторам — 10. Плюс retry с экспоненциальным бэкоффом при 503, 529, connection reset.
Проблема 2: потеря данных при обрыве. Ресёрчер 3 минуты собирает данные из 15 источников. Создаёт конспект. Передаёт автору. Автор зависает на генерации → таймаут → сессия сброшена. Конспект потерян. Три минуты работы — в мусорку.
Теперь исследования сохраняются и коммитятся автоматически сразу после получения от ресёрчера, до передачи следующему агенту.
Проблема 3: файлы в никуда Агент пытается сохранить статью в
Правило «сначала покажи, потом сохраняй» и создание всех директорий при старте — звучит очевидно. Но пока не словишь этот косяк, не сделаешь.
Проблема 4: зависание после фактчека. Фактчекер выдаёт отчёт с замечаниями. Дальше нужно спросить пользователя: «применить корректировки?». Но в промте не было механизма взаимодействия. Агент показывал сводку и... зависал. Просто стоял и ждал непонятно чего.
Добавил опцию «Свои правки» в меню, для которой не было обработчика. Пользователь выбирает → агент не знает, что делать → зависание.
Проблема 5: тишина. Агент-автор генерит материал на 35 000 символов. Всё это время — пустой экран. Ни прогресса, ни статуса. Ты сидишь и гадаешь: он работает или завис?
Решение — heartbeat каждые 3 минуты: «⏳ seo-writer работает 5м 23с... (heartbeat #2)». Теперь хотя бы понятно, что процесс жив.
Проблема 6: вечное чтение вместо работы. Запускаешь автора — а он первые 30% времени читает README, изучает структуру репозитория, перечитывает правила. Которые уже загружены автоматически. «Подготовительный паралич» — агент старательно готовится к работе вместо того, чтобы работать.
Лечится только жёстким запретом в промте: «ЗАПРЕТ подготовительных действий. Начинай писать СРАЗУ. Если тратишь > 30% времени на чтение файлов — это ошибка».
Главный уроки из этого безобразия: мультиагентная система ломается не в агентах. Она ломается в промежутках между ними — в передачах, ожиданиях, молчаливых предположениях о том, что «следующий разберётся». Это только часть доработок, в следующих постах соберу продолжение.
#ai_agents
Звучит красиво. На практике как раз в процессе работы над бекендом я переусердствовал и мои агенты начали зависать, чего не было в простой системе агентов. Что пришлось сделать:
Проблема 1: Request timed out → pipeline мёртв. LLM-вызовы работали без таймаутов. Если модель тормозила или сеть падала, то весь конвейер блокировался навечно. Без ошибки, без логов, без надежды.
Пришлось писать индивидуальные таймауты для 9 типов агентов: ресёрчерам — 3 минуты (WebSearch любит зависать), авторам — 5 минут, оркестраторам — 10. Плюс retry с экспоненциальным бэкоффом при 503, 529, connection reset.
Проблема 2: потеря данных при обрыве. Ресёрчер 3 минуты собирает данные из 15 источников. Создаёт конспект. Передаёт автору. Автор зависает на генерации → таймаут → сессия сброшена. Конспект потерян. Три минуты работы — в мусорку.
Теперь исследования сохраняются и коммитятся автоматически сразу после получения от ресёрчера, до передачи следующему агенту.
Проблема 3: файлы в никуда Агент пытается сохранить статью в
content-hub/seo-articles/drafts/. Папки не существует. Write tool молча зависает. Или ещё веселее: агент генерит текст и сразу пишет в файл одним действием — таймаут.Правило «сначала покажи, потом сохраняй» и создание всех директорий при старте — звучит очевидно. Но пока не словишь этот косяк, не сделаешь.
Проблема 4: зависание после фактчека. Фактчекер выдаёт отчёт с замечаниями. Дальше нужно спросить пользователя: «применить корректировки?». Но в промте не было механизма взаимодействия. Агент показывал сводку и... зависал. Просто стоял и ждал непонятно чего.
Добавил опцию «Свои правки» в меню, для которой не было обработчика. Пользователь выбирает → агент не знает, что делать → зависание.
Проблема 5: тишина. Агент-автор генерит материал на 35 000 символов. Всё это время — пустой экран. Ни прогресса, ни статуса. Ты сидишь и гадаешь: он работает или завис?
Решение — heartbeat каждые 3 минуты: «⏳ seo-writer работает 5м 23с... (heartbeat #2)». Теперь хотя бы понятно, что процесс жив.
Проблема 6: вечное чтение вместо работы. Запускаешь автора — а он первые 30% времени читает README, изучает структуру репозитория, перечитывает правила. Которые уже загружены автоматически. «Подготовительный паралич» — агент старательно готовится к работе вместо того, чтобы работать.
Лечится только жёстким запретом в промте: «ЗАПРЕТ подготовительных действий. Начинай писать СРАЗУ. Если тратишь > 30% времени на чтение файлов — это ошибка».
Главный уроки из этого безобразия: мультиагентная система ломается не в агентах. Она ломается в промежутках между ними — в передачах, ожиданиях, молчаливых предположениях о том, что «следующий разберётся». Это только часть доработок, в следующих постах соберу продолжение.
#ai_agents
❤🔥1🤯1
На Data Fusion несколько раз услышал: «В эпоху ИИ будет цениться контент от человека». Оке.
Я делаю техноконтент уже более десяти лет. И могу сказать честно: худшее, что я видел в профессии, было написано, снято и нарисовано людьми. ИИ пока даже не приблизился к этому дну. Региональную журналистику, например, даже нейросети не спасут. За редким исключением. Человеческое происхождение контента никогда не было гарантией качества. Это был просто единственный доступный вариант.
До генеративного ИИ мир был завален:
➡️ текстами от рерайтеров на бирже за 30 рублей за 1000 знаков;
➡️ стоковыми фотографиями с улыбающимися людьми в офисах;
➡️ лендингами, сделанными племянником директора в конструкторе;
➡️ пресс-релизами, написанными по шаблону 2003 года.
Всё это человеческий контент. Аутентичный. С душой.
На самом деле аудитория никогда не ценила «человеческое». Она ценила хорошее. Просто раньше плохое человеческое выигрывало в кейсах, когда надо сделать дёшево или бесплатно. Теперь конкурент появился. И внезапно оказалось, что планка «лучше среднего копирайтера или среднего дизайнера» — не такая высокая.
Кто конкретно имеется в виду, когда говорят «человеческий контент будет цениться»? Топ 5% — да, всегда ценился. Журналисты-расследователи, сильные авторы с точкой зрения, эксперты с реальным опытом, талантливые дизайнеры — им ИИ не конкурент, он инструмент. Остальные 95% производили промышленный мусор, который почти никто не читал, но который исправно оплачивался, потому что альтернативы не было. ИИ не убивает хороший контент, дизайн, код. Он убивает индустрию посредственного. И это, честно говоря, давно пора. Проблема в том, что большинство людей, которые сейчас переживают за «ценность человеческого контента», — как раз из этих 95%.
И спикерам на DF приходится их как-то успокаивать.
#ai
Я делаю техноконтент уже более десяти лет. И могу сказать честно: худшее, что я видел в профессии, было написано, снято и нарисовано людьми. ИИ пока даже не приблизился к этому дну. Региональную журналистику, например, даже нейросети не спасут. За редким исключением. Человеческое происхождение контента никогда не было гарантией качества. Это был просто единственный доступный вариант.
До генеративного ИИ мир был завален:
Всё это человеческий контент. Аутентичный. С душой.
На самом деле аудитория никогда не ценила «человеческое». Она ценила хорошее. Просто раньше плохое человеческое выигрывало в кейсах, когда надо сделать дёшево или бесплатно. Теперь конкурент появился. И внезапно оказалось, что планка «лучше среднего копирайтера или среднего дизайнера» — не такая высокая.
Кто конкретно имеется в виду, когда говорят «человеческий контент будет цениться»? Топ 5% — да, всегда ценился. Журналисты-расследователи, сильные авторы с точкой зрения, эксперты с реальным опытом, талантливые дизайнеры — им ИИ не конкурент, он инструмент. Остальные 95% производили промышленный мусор, который почти никто не читал, но который исправно оплачивался, потому что альтернативы не было. ИИ не убивает хороший контент, дизайн, код. Он убивает индустрию посредственного. И это, честно говоря, давно пора. Проблема в том, что большинство людей, которые сейчас переживают за «ценность человеческого контента», — как раз из этих 95%.
И спикерам на DF приходится их как-то успокаивать.
#ai
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5🔥4👍3❤1🤯1
Будь Павлом Дуровым.
Удали😁 😆 😁 из телеги.
Удали
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒2😁1🤬1
Исследователи из Nous Research опубликовали Autoreason — работу о том, почему итеративное самоулучшение LLM ломается на практике, и как это починить. Тема актуальная: все мы пытались строить агентов по схеме «сгенерируй → покритикуй → перепиши», и у всех это работало хуже ожиданий.
Авторы выделили три структурные проблемы примитивного подхода.
➡️ Искажение от формулировки — модель галлюцинирует недостатки, когда её прямо просят критиковать (ну конечно, она же не может сказать «всё хорошо»).
➡️ Расползание задачи — тексты бесконтрольно разрастаются с каждым проходом, теряя фокус.
➡️ Отсутствие сдержанности — модель никогда не говорит «изменения не нужны», хотя часто это правильный ответ.
На Haiku 3.5 традиционная критика-и-ревизия сжимала выдачу на 59-70% за 15 итераций — чистая деградация.
Их решение: на каждой итерации генерировать три версии — неизменный инкумбент (A), состязательную переработку (B) и синтез (AB). Судит панель свежих агентов без общего контекста через слепое голосование по методу Борда, где вариант «ничего не менять» равноправный кандидат. Каждый судья ранжирует все три варианта, за первое место даётся больше баллов, за последнее — меньше. Если исходный вариант выигрывает дважды подряд — стоп, сходимость.
По Claude-линейке результаты сильные: Sonnet 4.6 на задачах программирования показал 77% против 73% у однократной генерации, Haiku 3.5 с новым методом обогнал выбор лучшего из 6 вариантов при равных вычислительных затратах (40% против 31%). Но самое интересное — точка перелома на Haiku 4.5: при 60% точности прирост от доработок исчезает. Разрыв между способностью генерировать и оценивать закрылся, итерации стали бесполезными.
Практические выводы для агентов в Claude Code: роли критика, автора и синтезатора должны быть отдельными агентами с независимым контекстом, иначе получишь искажения. Всегда включай опцию «оставить как есть» в список возможных действий. Используй несколько судей (минимум 3, лучше 7) для принятия решений о редактуре. И самое главное — с сильными моделями (Haiku 4.5+, Sonnet 4) можно не заморачиваться с итерациями вообще, однократной генерации часто достаточно.
Короче, если твой агент в Claude Code делает хуже после «улучшений» — это не баг, а особенность примитивного самоулучшения. Autoreason показывает, как это лечить правильно, но на современных моделях проблема может быть уже неактуальна.
#ai_agents
Авторы выделили три структурные проблемы примитивного подхода.
На Haiku 3.5 традиционная критика-и-ревизия сжимала выдачу на 59-70% за 15 итераций — чистая деградация.
Их решение: на каждой итерации генерировать три версии — неизменный инкумбент (A), состязательную переработку (B) и синтез (AB). Судит панель свежих агентов без общего контекста через слепое голосование по методу Борда, где вариант «ничего не менять» равноправный кандидат. Каждый судья ранжирует все три варианта, за первое место даётся больше баллов, за последнее — меньше. Если исходный вариант выигрывает дважды подряд — стоп, сходимость.
По Claude-линейке результаты сильные: Sonnet 4.6 на задачах программирования показал 77% против 73% у однократной генерации, Haiku 3.5 с новым методом обогнал выбор лучшего из 6 вариантов при равных вычислительных затратах (40% против 31%). Но самое интересное — точка перелома на Haiku 4.5: при 60% точности прирост от доработок исчезает. Разрыв между способностью генерировать и оценивать закрылся, итерации стали бесполезными.
Практические выводы для агентов в Claude Code: роли критика, автора и синтезатора должны быть отдельными агентами с независимым контекстом, иначе получишь искажения. Всегда включай опцию «оставить как есть» в список возможных действий. Используй несколько судей (минимум 3, лучше 7) для принятия решений о редактуре. И самое главное — с сильными моделями (Haiku 4.5+, Sonnet 4) можно не заморачиваться с итерациями вообще, однократной генерации часто достаточно.
Короче, если твой агент в Claude Code делает хуже после «улучшений» — это не баг, а особенность примитивного самоулучшения. Autoreason показывает, как это лечить правильно, но на современных моделях проблема может быть уже неактуальна.
#ai_agents
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🤔1🤯1🙏1
Продолжаю делиться граблями, на которые я наступил в Claude Code. Как я ловил API Error: Stream idle timeout - partial response received
Дисклеймер: кажется, что всё это можно было и не ловить — по крайней мере в более простых системах я такие ошибки никогда не видел. Но раз уж начал упарываться в агентов, то почему бы не наступить на все грабли.
Проблема такая: оркестратор собирает SEO-статью на 8 000 слов, отдаёт редактору, пробует сохранить. Через 30 секунд тишины:
Файл создан, но обрезан на месте, где стрим ушёл в idle.
❌ Первая очевидная неверная гипотеза: большой Write
Значит надо резать на чанки. Снизил лимит 15 000 → 8 000 → 6 000 → 5 000. Таймаут повторялся. Значит, дело не в размере записи.
✨ Настоящая причина: пересборка текста
Оркестратор не копировал готовый текст субагента. Он его пересобирал: переоформлял, перенумеровывал 28 сносок, «причёсывал» заголовки. Пока модель думала над форматированием, токены в стрим не эмитились. API считал соединение мёртвым и закрывал.
Решение РАЗ: passthrough + чанки ≤ 3 000
Вводим правило
➡️ Субагент возвращает строку оркестратору. Оркестратор копирует её в Write байт-в-байт — без «улучшений».
➡️ Разбиение планируется один раз до первого Write, потом проходится механически.
➡️ Лимит 3 000 символов на Write/Edit — потолок, при котором стрим не уходит в idle при честном passthrough.
➡️ Перед каждым Edit — сообщение 💾 Чанк K/M…. Иначе пользователь видит тишину и прерывает.
Если таймаут повторяется на 3 000 — спуск на 1 500. Если и там падает — это сеть, не контент.
И Recovery для обрезанных файлов
Повторный
➡️
➡️
➡️
Никогда не стартовать
⭐️ Вторая волна: редактор
После фикса записи таймаут вернулся на возврате субагента-редактора. Вход 18 000 символов, выход 18 000 переписанного текста + отчёт «до/после» + метрики. Prefill и генерация занимают десятки секунд без эмита токенов. Retry не помогал: корень — объём выхода.
Решение ДВА: diff-mode
Вводим правило
Лимиты: ≤ 60 правок, FIND ≤ 300, REPLACE ≤ 500, суммарный выход ≤ 8 000. Оркестратор парсит блоки и применяет через Edit.
Матрица по длине для глубокой редактуры:
➡️ ≤ 4 000 → классический
➡️ 4 000 – 20 000 → diff-mode
➡️ > 20 000 → секционный (одна H2 за вызов)
Пороги ниже именно для тяжёлых режимов — они удваивают выход за счёт отчёта «до/после».
Что в итоге то:
Два источника одной ошибки: оркестратор переформатирует перед Write, редактор генерирует слишком много на выход. Лечатся по отдельности: passthrough + чанки для записи, diff-mode для правок. Recovery закрывает остаточные случаи, когда таймаут всё-таки прилетел.
Я вроде не курю, но захотелось.
#ai_agents
Дисклеймер: кажется, что всё это можно было и не ловить — по крайней мере в более простых системах я такие ошибки никогда не видел. Но раз уж начал упарываться в агентов, то почему бы не наступить на все грабли.
Проблема такая: оркестратор собирает SEO-статью на 8 000 слов, отдаёт редактору, пробует сохранить. Через 30 секунд тишины:
API Error: Stream idle timeout — partial response receivedФайл создан, но обрезан на месте, где стрим ушёл в idle.
Значит надо резать на чанки. Снизил лимит 15 000 → 8 000 → 6 000 → 5 000. Таймаут повторялся. Значит, дело не в размере записи.
Оркестратор не копировал готовый текст субагента. Он его пересобирал: переоформлял, перенумеровывал 28 сносок, «причёсывал» заголовки. Пока модель думала над форматированием, токены в стрим не эмитились. API считал соединение мёртвым и закрывал.
Решение РАЗ: passthrough + чанки ≤ 3 000
Вводим правило
rules/common/safe-file-save.md:Если таймаут повторяется на 3 000 — спуск на 1 500. Если и там падает — это сеть, не контент.
И Recovery для обрезанных файлов
Повторный
Write поверх частичного файла затирает уже сохранённое. Поэтому:ls — проверить, что файл естьRead — измерить длинуEdit (append) с точки обрыва, чанки по 3 000Никогда не стартовать
Write заново по тому же пути.После фикса записи таймаут вернулся на возврате субагента-редактора. Вход 18 000 символов, выход 18 000 переписанного текста + отчёт «до/после» + метрики. Prefill и генерация занимают десятки секунд без эмита токенов. Retry не помогал: корень — объём выхода.
Решение ДВА: diff-mode
Вводим правило
rules/common/editor-diff-mode.md. Редактор возвращает не переписанный текст, а список правок:=== EDIT id=1 op=replace ===
FIND: Данное решение является инновационным продуктом
REPLACE: VK Cloud управляет инфраструктурой — от ВМ до managed-БД
REASON: редполитика + инфостиль
=== END EDIT ===
Лимиты: ≤ 60 правок, FIND ≤ 300, REPLACE ≤ 500, суммарный выход ≤ 8 000. Оркестратор парсит блоки и применяет через Edit.
Матрица по длине для глубокой редактуры:
Пороги ниже именно для тяжёлых режимов — они удваивают выход за счёт отчёта «до/после».
Что в итоге то:
Два источника одной ошибки: оркестратор переформатирует перед Write, редактор генерирует слишком много на выход. Лечатся по отдельности: passthrough + чанки для записи, diff-mode для правок. Recovery закрывает остаточные случаи, когда таймаут всё-таки прилетел.
Я вроде не курю, но захотелось.
#ai_agents
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤯1🙏1
Проект Udaff.com прекратил работу. Старперской ностальгии пост.
26 апреля на сайте было опубликовано прощальное сообщение:
«Эпоха Udaff.com окончена. Проект закрыт. Мы и так уже тянули дольше, чем это было нужно. Спасибо, что были с нами все эти годы».
Помните интернет, который не был вежливым, комфортным и для детей?
Когда заходишь и там не алгоритмы, не «вам может понравиться», а просто стена текстов. Где можно было нарваться на шедевр, а можно на полную дичь. Где могли нахуй послать. И никто не извинялся.
Udaff был как раз таким местом.
Не удобным. Не красивым. Но настоящим что ли. Там не пытались нравиться. Если «аффтар жжот», то значит реально жжот, а не потому что так решил алгоритм.
Если «в топку», то без объяснений и дискуссий на 200 комментариев про токсичность. А если и комментарии, то нельзя было отмазываться «вот ты душный». Это не комментатор душный, это ты необразованный идиот, который не мог парировать.
Сейчас всё аккуратнее. Удобнее. Быстрее. Экологичнее.
Но почти нигде не осталось этого ощущения, что ты попал в чужую, но живую среду. Тебя тут не ждут, но только твои знания и интеллект помогут стать здесь своим.
Закрытие Udaff — это минус ещё один кусок интернета, который не пережил превращение в платформу.
Эпоха закончилась.
Аффтар… ну вы поняли. RIP
26 апреля на сайте было опубликовано прощальное сообщение:
«Эпоха Udaff.com окончена. Проект закрыт. Мы и так уже тянули дольше, чем это было нужно. Спасибо, что были с нами все эти годы».
Помните интернет, который не был вежливым, комфортным и для детей?
Когда заходишь и там не алгоритмы, не «вам может понравиться», а просто стена текстов. Где можно было нарваться на шедевр, а можно на полную дичь. Где могли нахуй послать. И никто не извинялся.
Udaff был как раз таким местом.
Не удобным. Не красивым. Но настоящим что ли. Там не пытались нравиться. Если «аффтар жжот», то значит реально жжот, а не потому что так решил алгоритм.
Если «в топку», то без объяснений и дискуссий на 200 комментариев про токсичность. А если и комментарии, то нельзя было отмазываться «вот ты душный». Это не комментатор душный, это ты необразованный идиот, который не мог парировать.
Сейчас всё аккуратнее. Удобнее. Быстрее. Экологичнее.
Но почти нигде не осталось этого ощущения, что ты попал в чужую, но живую среду. Тебя тут не ждут, но только твои знания и интеллект помогут стать здесь своим.
Закрытие Udaff — это минус ещё один кусок интернета, который не пережил превращение в платформу.
Эпоха закончилась.
Аффтар… ну вы поняли. RIP
❤🔥8
По поводу снятия с проката «Метод-3».
Там надо было с «Метод-2» начинать.
Там надо было с «Метод-2» начинать.