[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content-post-kontent-bez-kontent-menedzhera":3},{"post":4,"related":267,"status":216},{"id":5,"title":6,"slug":7,"excerpt":8,"content":9,"cover_alt":215,"cover_position":216,"reading_time":216,"seo":217,"robots_index":226,"seo_title":218,"seo_description":219,"date_published":227,"date_modified":216,"source_lead":216,"rubrics":228,"blocks":236,"cover":264},"4ff1fbad-0232-4d44-b6ec-73052762b114","Одна статья, шесть площадок, ноль ручной работы","kontent-bez-kontent-menedzhera","Написать статью - половина дела. Дальше её надо разнести по площадкам, а это час монотонной работы: сократить, переписать под формат, приложить картинку, не забыть ссылку. Рассказываю, как у меня этот час превратился в ноль действий и что в такой схеме ломается.",{"type":10,"content":11},"doc",[12,18,24,31,35,39,44,48,98,102,107,111,115,119,124,167,172,176,180,184,189,211],{"type":13,"attrs":14},"relation-block",{"id":15,"junction":16,"collection":17},"f0526d9a-4848-4c3e-9296-05ec498948f3","posts_blocks","block_text",{"type":19,"content":20},"paragraph",[21],{"type":22,"text":23},"text","Полтора месяца назад я закрыл этот час полностью. Теперь перевод статьи в статус \"опубликована\" - единственное действие, которое я делаю руками. Рассказываю, как устроено и где эта схема протекает.",{"type":25,"attrs":26,"content":28},"heading",{"level":27},2,[29],{"type":22,"text":30},"Почему копипаста не работает",{"type":19,"content":32},[33],{"type":22,"text":34},"Проще всего разослать один и тот же текст всюду. Так делают многие, и результат виден невооружённым глазом: в ленте висит обрывок статьи с многоточием и ссылкой \"продолжение на сайте\". Читатель площадки не хочет никуда уходить, а куцый текст сообщает ему, что здесь для него ничего не приготовили.",{"type":19,"content":36},[37],{"type":22,"text":38},"Можно нанять человека, который перепишет под каждую площадку. Это работает, но контент-менеджер стоит от 40 000 рублей в месяц и всё равно упирается в свои выходные.",{"type":25,"attrs":40,"content":41},{"level":27},[42],{"type":22,"text":43},"Как это устроено",{"type":19,"content":45},[46],{"type":22,"text":47},"Схема простая и вся живёт внутри той же системы, где хранятся статьи.",{"type":49,"content":50},"orderedList",[51,72,82,92],{"type":52,"content":53},"listItem",[54],{"type":19,"content":55},[56,61,63,70],{"type":22,"marks":57,"text":60},[58],{"type":59},"bold","Статья становится опубликованной.",{"type":22,"text":62}," Это единственное ручное действие. В тот же момент система создаёт ",{"type":22,"marks":64,"text":69},[65],{"type":66,"attrs":67},"link",{"href":68},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Favtomatizaciya-kotoraya-padaet","по одной задаче на каждую подключённую площадку",{"type":22,"text":71},".",{"type":52,"content":73},[74],{"type":19,"content":75},[76,80],{"type":22,"marks":77,"text":79},[78],{"type":59},"Нейросеть пишет вариант под площадку.",{"type":22,"text":81}," У каждой площадки своя инструкция: длина, тон, что делать с абзацами, нужен ли призыв. Текст не режется по символам - модель переписывает его так, чтобы пост читался сам по себе.",{"type":52,"content":83},[84],{"type":19,"content":85},[86,90],{"type":22,"marks":87,"text":89},[88],{"type":59},"Я вижу очередь.",{"type":22,"text":91}," Готовые тексты лежат со статусом \"на одобрении\", пока я не разрешу. Со временем часть площадок я перевёл на автопилот - там уже ничего не жду.",{"type":52,"content":93},[94],{"type":19,"content":95},[96],{"type":22,"text":97},"Раз в минуту система проверяет, чему пришло время выходить, публикует и сохраняет ссылку на вышедший пост. Отказ площадки попадает в общий список сбоев, и я о нём узнаю.",{"type":19,"content":99},[100],{"type":22,"text":101},"Обложку рисует нейросеть по короткому описанию сюжета. Стиль задан один раз и общий для всех статей, поэтому лента выглядит цельной.",{"type":25,"attrs":103,"content":104},{"level":27},[105],{"type":22,"text":106},"Главное решение: не тащить читателя на сайт",{"type":19,"content":108},[109],{"type":22,"text":110},"Изначально я делал классически: анонс на площадке, полный текст на сайте, ссылка посередине. Через месяц стало понятно, что это выглядит навязчиво и почти не работает. Люди читают там, где им удобно, а ссылка \"дочитать\" ощущается как турникет.",{"type":19,"content":112},[113],{"type":22,"text":114},"Поэтому цель поменялась: пост должен быть полезен целиком там, где человек его увидел. Ссылка осталась, но ведёт не на статью, а на бесплатную оценку задачи - это единственное, ради чего мне действительно нужен переход. В соцсетях, где ссылки не кликаются, вместо адреса стоит понятная фраза о том, где её найти.",{"type":13,"attrs":116},{"id":117,"junction":16,"collection":118},"3770299a-fd8f-48d8-b220-147cc30c89ba","block_callout",{"type":25,"attrs":120,"content":121},{"level":27},[122],{"type":22,"text":123},"Где схема протекает",{"type":125,"content":126},"bulletList",[127,137,147,157],{"type":52,"content":128},[129],{"type":19,"content":130},[131,135],{"type":22,"marks":132,"text":134},[133],{"type":59},"Не у всех площадок есть вход для машин.",{"type":22,"text":136}," Часть каналов приходится вести руками: система готовит текст и картинку, присылает их мне, и я выкладываю сам. Это всё равно две минуты вместо часа.",{"type":52,"content":138},[139],{"type":19,"content":140},[141,145],{"type":22,"marks":142,"text":144},[143],{"type":59},"Нейросеть иногда пишет мимо тона.",{"type":22,"text":146}," Спорить с моделью бесполезно, помогает правка инструкции площадки: один раз объяснил - работает дальше.",{"type":52,"content":148},[149],{"type":19,"content":150},[151,155],{"type":22,"marks":152,"text":154},[153],{"type":59},"Площадки меняют правила.",{"type":22,"text":156}," Лимиты, требования к картинкам, ссылки - всё это меняется без предупреждения, и раз в пару месяцев что-то приходится чинить.",{"type":52,"content":158},[159],{"type":19,"content":160},[161,165],{"type":22,"marks":162,"text":164},[163],{"type":59},"Одинаковые тексты никому не нужны.",{"type":22,"text":166}," Если у вас три канала и одна аудитория, автоматизация просто быстрее разнесёт то, что и так не читают.",{"type":25,"attrs":168,"content":169},{"level":27},[170],{"type":22,"text":171},"Что это даёт вам в месяц",{"type":13,"attrs":173},{"id":174,"junction":16,"collection":175},"5e8d26d2-5356-4099-927d-d3e7129d0d48","block_stats",{"type":19,"content":177},[178],{"type":22,"text":179},"Считайте на своих числах. Час разноски на статью по ставке менеджера - 500 рублей: четыре статьи в месяц дают 2 000, восемь - 4 000. Если этот час тратите вы сами, ставка другая: день руководителя стоит 7 000 - 10 000 рублей, то есть около тысячи за час. Нанять человека под ту же работу - от 40 000 рублей в месяц, и он тоже болеет и уходит в отпуск.",{"type":19,"content":181},[182],{"type":22,"text":183},"Публиковать стало не лень - это оказалось важнее сэкономленного часа. Когда разноска бесплатна по усилиям, статьи выходят регулярно, без ожидания, пока дойдут руки.",{"type":25,"attrs":185,"content":186},{"level":27},[187],{"type":22,"text":188},"Если соберётесь повторять",{"type":49,"content":190},[191,201],{"type":52,"content":192},[193],{"type":19,"content":194},[195,199],{"type":22,"marks":196,"text":198},[197],{"type":59},"Начните с двух площадок.",{"type":22,"text":200}," Тех, где у вас реально есть аудитория. Остальные подключите потом - схема одинаковая.",{"type":52,"content":202},[203],{"type":19,"content":204},[205,209],{"type":22,"marks":206,"text":208},[207],{"type":59},"Сделайте отказы видимыми.",{"type":22,"text":210}," Публикация не ушла - узнать об этом надо сразу, иначе поломка выглядит просто как затишье в ленте.",{"type":13,"attrs":212},{"id":213,"junction":16,"collection":214},"6f19e0dc-eb4f-45e9-99a5-794b54be5290","block_cta","Красный луч в призме расходится шестью лучами в темноте",null,{"title":218,"meta_description":219,"focus_keyphrase":220,"og_image":216,"no_index":221,"no_follow":221,"sitemap":222,"additional_fields":225},"Автопостинг статей в соцсети: как это устроено у меня","Как одна статья расходится по шести площадкам без контент-менеджера: адаптация текста нейросетью под формат каждой площадки, очередь публикаций, обложки и ручные каналы.","",false,{"change_frequency":223,"priority":224},"monthly","0.6",{},true,"2026-08-26T14:57:55.016Z",[229,233],{"sort":230,"tags_id":231},1,{"name":232},"Инструменты",{"sort":27,"tags_id":234},{"name":235},"Продажи",[237,240,245,258],{"id":15,"sort":216,"collection":17,"item":238},{"body":239,"is_lead":226,"footnote":216},"Написать статью - половина дела. Дальше её надо разнести по площадкам, и это самая неблагодарная часть: сократить под лимит, переписать первый абзац, чтобы он работал без заголовка, приложить картинку нужного размера, не забыть ссылку. Час монотонной работы на каждый материал, и никакого удовольствия.",{"id":117,"sort":216,"collection":118,"item":241},{"heading":242,"body":243,"footnote":216,"tone":244,"show_border":226},"Проверьте себя","Откройте свой последний пост в соцсети и уберите из него ссылку. Если после этого пост потерял смысл - вы публикуете анонс, а не материал. Читателю площадки такое обычно не нужно.","neutral",{"id":174,"sort":216,"collection":175,"item":246},{"items":247,"columns":257},[248,251,254],{"lead":249,"text":250},"1 час на статью","столько занимает ручная разноска: лимиты, первый абзац, картинка, ссылка",{"lead":252,"text":253},"4 000 рублей","в месяц при восьми статьях, если разноску делает менеджер со ставкой 500 рублей",{"lead":255,"text":256},"от 40 000 рублей","в месяц стоит контент-менеджер, который переписывал бы посты под площадки",3,{"id":213,"sort":216,"collection":214,"item":259},{"cta_variant":260,"heading":261,"body":262,"button_label":263,"url":216,"glow":226},"estimator","Похожая задача?","Если у вас на разноску контента уходит время живого человека - опишите задачу в оценщике. Отвечу с планом, вилкой стоимости и расчётом экономии.","Оценить задачу",{"id":265,"modified_on":266},"19624539-06c2-423d-bd4e-82f018420b7c","2026-08-26T14:56:33.160Z",[268,490,716],{"id":269,"title":270,"slug":271,"excerpt":272,"content":273,"cover_alt":457,"cover_position":216,"reading_time":257,"seo":458,"robots_index":226,"seo_title":459,"seo_description":460,"date_published":463,"date_modified":216,"source_lead":216,"rubrics":464,"blocks":470,"cover":487},"d838d857-9efe-47b4-b6c3-6b68650b2773","Оценка, которой можно верить: как читать смету на автоматизацию","kak-chitat-ocenku-na-avtomatizaciyu","\"Разработка - от 150 до 400 часов\" - с такой строкой заказчику нечего делать: разброс в два с половиной раза, а из чего он складывается, не видно. Разбираю с позиции заказчика, что должно быть в смете на автоматизацию, чтобы её можно было проверить: одна вилка, буфер отдельной строкой, чужая зона ответственности вне часов и четыре вопроса подрядчику.",{"type":10,"content":274},[275,279,283,288,292,296,300,305,309,313,317,321,326,330,334,339,343,369,373,378,382,386,391,395,399,403,408,412,438,442,447,450,454],{"type":19,"content":276},[277],{"type":22,"text":278},"Собственник получает от подрядчика оценку: \"Разработка - от 150 до 400 часов\". Что с этим делать, непонятно. Разброс в два с половиной раза, из чего он складывается - неизвестно, а торговаться не о чем: цифра монолитная.",{"type":19,"content":280},[281],{"type":22,"text":282},"Я пишу такие оценки регулярно - и для крупного заказчика с проектным офисом, и для небольших клиентов. За это время сложился набор требований к документу, и почти каждое из них защищает интересы того, кто платит. Разберу их с позиции заказчика: что должно быть в оценке, чтобы её можно было проверить.",{"type":25,"attrs":284,"content":285},{"level":27},[286],{"type":22,"text":287},"Одна вилка на весь документ",{"type":19,"content":289},[290],{"type":22,"text":291},"Самый частый дефект - несколько чисел в одном документе. В шапке \"ориентировочно 200 часов\", в тексте \"чистой работы дней двадцать\", в таблице сумма даёт 260, а в письме звучит \"ну, месяца полтора\".",{"type":19,"content":293},[294],{"type":22,"text":295},"Каждое из этих чисел получено по-своему, и ни одно не отвечает за остальные. Разговор об объёме превращается в спор о том, какую цифру считать настоящей.",{"type":19,"content":297},[298],{"type":22,"text":299},"В документе должна быть ровно одна вилка, и она везде одинаковая. Строки таблицы обязаны суммироваться ровно в итог. Если этого не происходит, документ имеет смысл вернуть на пересборку.",{"type":25,"attrs":301,"content":302},{"level":27},[303],{"type":22,"text":304},"Буфер - отдельной строкой",{"type":19,"content":306},[307],{"type":22,"text":308},"В любой оценке есть неизвестное: чужой сервис поведёт себя не так, данные окажутся грязнее, чем обещали, вылезет ошибка в стороннем модуле. Это нормально, и на это закладывается запас.",{"type":19,"content":310},[311],{"type":22,"text":312},"Ненормально - когда запас растворён внутри строк. Тогда каждая позиция выглядит раздутой, заказчик начинает резать по живому, а подрядчик защищает воздух, не называя его вслух.",{"type":19,"content":314},[315],{"type":22,"text":316},"Честный формат: строки - реальное время работы, буфер - отдельная строка процентом от итога. Я обычно закладываю тридцать процентов и пишу это прямым текстом. Тогда торг идёт предметно: можно обсуждать риск, а можно сознательно его снять и работать без запаса, понимая последствия.",{"type":19,"content":318},[319],{"type":22,"text":320},"Отдельно: если заказчик сам называет потолок (\"у нас девять часов, больше нет\"), буфер не добавляется - под названную цифру подгоняется объём работ. Это его право - решать, сколько задача стоит. Задача подрядчика - честно сказать, что в эти часы влезет, а что нет.",{"type":25,"attrs":322,"content":323},{"level":27},[324],{"type":22,"text":325},"Реальные часы работы",{"type":19,"content":327},[328],{"type":22,"text":329},"Я считаю фактическое время: за сколько работа реально будет сделана мной и моими ИИ-ассистентами. Не за сколько её сделал бы условный средний разработчик, и без надбавки \"потому что бывает всякое\". Вы платите за часы, которые уйдут на вашу задачу, а не за коэффициент, который подрядчик держит в уме.",{"type":19,"content":331},[332],{"type":22,"text":333},"Для заказчика это важнее, чем кажется. Оценку в реальных часах можно проверить по факту сдачи: попал подрядчик или нет, видно сразу, и на следующую его оценку вы смотрите уже с этим знанием. Пересчёт на условные единицы такой сверки не даёт.",{"type":25,"attrs":335,"content":336},{"level":27},[337],{"type":22,"text":338},"Что не входит в часы",{"type":19,"content":340},[341],{"type":22,"text":342},"Отдельный раздел, которого почти никогда нет, а он самый ценный. В любом проекте есть работа, которая часами не измеряется, потому что зависит не от исполнителя:",{"type":125,"content":344},[345,351,357,363],{"type":52,"content":346},[347],{"type":19,"content":348},[349],{"type":22,"text":350},"ожидание доступов;",{"type":52,"content":352},[353],{"type":19,"content":354},[355],{"type":22,"text":356},"чужой сервис, который должен доработать другая команда;",{"type":52,"content":358},[359],{"type":19,"content":360},[361],{"type":22,"text":362},"регламентные окна выкатки;",{"type":52,"content":364},[365],{"type":19,"content":366},[367],{"type":22,"text":368},"согласования на стороне заказчика.",{"type":19,"content":370},[371],{"type":22,"text":372},"Такие вещи двигают календарь, но в трудозатраты не попадают. Смешивать одно с другим нечестно в обе стороны: подрядчик либо прячет простой в свои часы, либо потом объясняет, почему \"двадцать часов работы\" заняли месяц. Честнее развести: вот наши часы, вот зона вашей ответственности, вот от чего зависит срок.",{"type":25,"attrs":374,"content":375},{"level":27},[376],{"type":22,"text":377},"Опциональное - вне итога",{"type":19,"content":379},[380],{"type":22,"text":381},"В любой задаче есть \"хорошо бы ещё\": вторая интеграция, админка для настройки, отчётность. Место этому - отдельная строка с пометкой, что в основной объём оно не входит.",{"type":19,"content":383},[384],{"type":22,"text":385},"Когда желательное подмешано к обязательному, вы платите за то, чего не заказывали, а у подрядчика объём работ растёт без конца. Разделение снимает обе проблемы и оставляет решение за вами: пилот сейчас, расширение - когда первый этап себя оправдает.",{"type":25,"attrs":387,"content":388},{"level":27},[389],{"type":22,"text":390},"Почему всё таблицей и почему в конце",{"type":19,"content":392},[393],{"type":22,"text":394},"Две мелочи, которые сильно влияют на восприятие.",{"type":19,"content":396},[397],{"type":22,"text":398},"Всё, что можно, - таблицей: блок работ, объём, комментарий, итоговая строка. Прозаический вывод в конце (\"в целом, думаю, недели три\") не нужен: итог - это строка таблицы, и она одна.",{"type":19,"content":400},[401],{"type":22,"text":402},"А сама оценка идёт в конце документа. Сначала разбор задачи: что понято, какие есть развилки, что предлагается делать и почему. Тот, кто принимает решение, всё равно листает в конец - но, дойдя туда, он уже видит, за что именно платит.",{"type":25,"attrs":404,"content":405},{"level":27},[406],{"type":22,"text":407},"Четыре вопроса подрядчику",{"type":19,"content":409},[410],{"type":22,"text":411},"Когда получаете оценку, задайте четыре вопроса:",{"type":125,"content":413},[414,420,426,432],{"type":52,"content":415},[416],{"type":19,"content":417},[418],{"type":22,"text":419},"Складываются ли строки в итог?",{"type":52,"content":421},[422],{"type":19,"content":423},[424],{"type":22,"text":425},"Где буфер и сколько он?",{"type":52,"content":427},[428],{"type":19,"content":429},[430],{"type":22,"text":431},"Что в этом сроке зависит не от вас?",{"type":52,"content":433},[434],{"type":19,"content":435},[436],{"type":22,"text":437},"Что из перечисленного можно не делать в первом этапе?",{"type":19,"content":439},[440],{"type":22,"text":441},"Если подрядчик отвечает на все четыре не задумываясь - он задачу разобрал. Если начинает объяснять, что \"так не считают\" - вы держите в руках не оценку, а надежду.",{"type":25,"attrs":443,"content":444},{"level":27},[445],{"type":22,"text":446},"Что это даёт вам на ближайшей смете",{"type":13,"attrs":448},{"id":449,"junction":16,"collection":175},"3b5c406a-a685-44c3-8ea3-83698d9f986d",{"type":19,"content":451},[452],{"type":22,"text":453},"Посчитайте на своей смете. Вилка \"от 150 до 400 часов\" - это 250 часов, о которых вы не договорились: умножьте на ставку из договора и увидите сумму, которой пока не управляете. Буфер в 30 процентов, вынесенный строкой, обсуждаем - его можно оставить или снять осознанно. А каждый раунд спора \"какую цифру считать настоящей\" стоит вам дня руководителя - ориентировочно 7 000 - 10 000 рублей за день.",{"type":13,"attrs":455},{"id":456,"junction":16,"collection":214},"f1855753-d980-4c07-9c29-9a4561d60f63","Ряд ровных строк-полос, нижняя подсвечена, рядом линейка",{"title":459,"meta_description":460,"focus_keyphrase":220,"og_image":216,"no_index":221,"no_follow":221,"sitemap":461,"additional_fields":462},"Как читать оценку трудозатрат подрядчика: признаки честной сметы","Что должно быть в оценке задачи на автоматизацию, чтобы ей можно было верить: одна вилка, буфер отдельной строкой, зона чужой ответственности вне часов. Разбор изнутри.",{"change_frequency":223,"priority":224},{},"2026-08-27T17:49:48.000Z",[465,467],{"sort":230,"tags_id":466},{"name":235},{"sort":27,"tags_id":468},{"name":469},"Разборы задач",[471,483],{"id":449,"sort":216,"collection":175,"item":472},{"items":473,"columns":257},[474,477,480],{"lead":475,"text":476},"250 часов","разрыв между краями вилки \"от 150 до 400\" - бюджет, о котором вы не договорились",{"lead":478,"text":479},"30 процентов","буфер отдельной строкой: его видно, его можно обсудить или снять осознанно",{"lead":481,"text":482},"7 000 - 10 000 рублей","ориентировочная стоимость дня руководителя, потраченного на спор, какую цифру из сметы считать настоящей",{"id":456,"sort":216,"collection":214,"item":484},{"cta_variant":260,"heading":485,"body":486,"button_label":263,"url":216,"glow":226},"У вас на руках такая смета?","Опишите задачу - вернётся разбор и оценка в том виде, о котором эта статья: одна вилка, буфер отдельной строкой, чужая зона ответственности вне часов. Будет с чем сравнить ту смету, что уже лежит у вас на столе.",{"id":488,"modified_on":489},"f0323b71-f5ac-48ff-98d1-5da4a4970269","2026-08-27T18:12:41.977Z",{"id":491,"title":492,"slug":493,"excerpt":494,"content":495,"cover_alt":685,"cover_position":216,"reading_time":257,"seo":686,"robots_index":226,"seo_title":687,"seo_description":688,"date_published":691,"date_modified":216,"source_lead":216,"rubrics":692,"blocks":698,"cover":713},"a3bdafa1-370e-4669-a460-69d658ee9330","Локально или в облаке: когда своё железо дешевле облачного счёта","lokalno-ili-v-oblake","Одна и та же задача на одном и том же сервере: сначала 25 секунд речи обрабатывались две минуты, потом сорок секунд речи укладывались в десять. Показываю на замерах и на деньгах, когда своё железо окупается на вашем потоке, а когда за него платят зря.",{"type":10,"content":496},[497,501,513,518,522,526,531,535,539,543,548,552,556,560,565,569,573,587,592,596,602,628,634,654,658,663,671,675,678,682],{"type":19,"content":498},[499],{"type":22,"text":500},"Голосовой ввод, который я собирал для сайта и для себя, сначала не заработал вообще: распознавание отставало от реального времени в пять раз. Развилку \"локальная модель или облачный API\" после этого я прохожу замерами - у неё есть числовой ответ, и он разный для разных задач.",{"type":19,"content":502},[503,505,511],{"type":22,"text":504},"Задача, на которой я прошёл оба пути до конца, - ",{"type":22,"marks":506,"text":510},[507],{"type":66,"attrs":508},{"href":509},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fwhisperkey-diktovka-dlya-maka","распознавание речи",{"type":22,"text":512},". Расскажу, что получилось, и заодно сформулирую фильтр, по которому эту развилку стоит проходить в любом другом проекте.",{"type":25,"attrs":514,"content":515},{"level":27},[516],{"type":22,"text":517},"Задача",{"type":19,"content":519},[520],{"type":22,"text":521},"Голосовой ввод на сайте и в личных инструментах: человек говорит, получает готовый текст. К этому же классу относится расшифровка звонков и встреч - обычно самый первый реальный ИИ-проект в компании, потому что польза очевидна и данные уже есть.",{"type":19,"content":523},[524],{"type":22,"text":525},"Требования были такие: русский язык, приемлемая задержка, и аудио не должно уезжать в чужие руки без необходимости. Последнее - не паранойя: в звонках клиентов лежат персональные данные, и отправка их наружу превращает техническую задачу в юридическую.",{"type":25,"attrs":527,"content":528},{"level":27},[529],{"type":22,"text":530},"Первый заход: сделать красиво",{"type":19,"content":532},[533],{"type":22,"text":534},"Первым делом я взял готовую потоковую обёртку - из тех, что показывают текст прямо во время речи, слово за словом. Выглядит эффектно, и на демо-роликах всё летает.",{"type":19,"content":536},[537],{"type":22,"text":538},"На сервере без видеокарты она отставала от речи впятеро: 25 секунд речи обрабатывались две минуты. Пользоваться этим нельзя.",{"type":19,"content":540},[541],{"type":22,"text":542},"Сервер тут ни при чём: отдельная машина с быстрыми ядрами, взятая специально под задачу. Дело в подходе: потоковое распознавание постоянно пересчитывает уже сказанное, чтобы уточнить гипотезу, и на процессоре эта переработка съедает всё.",{"type":25,"attrs":544,"content":545},{"level":27},[546],{"type":22,"text":547},"Второй заход: сделать просто",{"type":19,"content":549},[550],{"type":22,"text":551},"Я выбросил потоковость и сделал скучно: человек говорит целиком, запись уходит на сервер одним куском, модель распознаёт её за один проход.",{"type":19,"content":553},[554],{"type":22,"text":555},"Сорок секунд речи обрабатываются за десять. После настройки - в восемь раз быстрее речи: час записи с планёрки превращается в текст за семь минут. Всё на том же сервере без видеокарты.",{"type":19,"content":557},[558],{"type":22,"text":559},"Заодно ушла вторая проблема, о которой я не думал заранее: потоковая выдача даёт рваный текст. Пока модель уточняет гипотезу, фраза на экране дёргается и переписывается. На записи целиком результат сразу чистый.",{"type":25,"attrs":561,"content":562},{"level":27},[563],{"type":22,"text":564},"Третий заход: посчитать на своём железе",{"type":19,"content":566},[567],{"type":22,"text":568},"Отдельная история - обработка на ноутбуке. В современных Маках есть отдельный ускоритель для нейросетей, и собранная под него модель разбирает час разговора за 17 секунд. Разделение на говорящих - примерно столько же. Ноутбук уже куплен, и счёт за минуту распознавания никто не выставляет.",{"type":19,"content":570},[571],{"type":22,"text":572},"Здесь же я собрал грабли, которые стоит знать заранее:",{"type":125,"content":574},[575,581],{"type":52,"content":576},[577],{"type":19,"content":578},[579],{"type":22,"text":580},"Безвентиляторный ноутбук перегревается, если гнать распознавание и разделение говорящих одновременно. Последовательно - те же секунды, но без троттлинга. Параллелить на одном ускорителе бессмысленно.",{"type":52,"content":582},[583],{"type":19,"content":584},[585],{"type":22,"text":586},"Затравка модели (список терминов, чтобы правильно писала специальные слова) должна быть обычной фразой, а не списком. Список, начинающийся со слова \"Термины:\", модель вставляла прямо в расшифровку, а на плохом звуке зацикливалась и повторяла его. Затравку она воспринимает как начало текста и продолжает его. После переписывания живым предложением мусор исчез, и скорость выросла втрое.",{"type":25,"attrs":588,"content":589},{"level":27},[590],{"type":22,"text":591},"Фильтр: когда локально выигрывает",{"type":19,"content":593},[594],{"type":22,"text":595},"Из этой и соседних задач сложилось правило, по которому я развилку прохожу.",{"type":19,"content":597},[598],{"type":22,"marks":599,"text":601},[600],{"type":59},"Локально выигрывает, когда:",{"type":125,"content":603},[604,610,616,622],{"type":52,"content":605},[606],{"type":19,"content":607},[608],{"type":22,"text":609},"нагрузка постоянная и предсказуемая - расшифровка всех звонков, обработка всех документов;",{"type":52,"content":611},[612],{"type":19,"content":613},[614],{"type":22,"text":615},"данные чувствительные и их отправка наружу создаёт отдельную юридическую задачу;",{"type":52,"content":617},[618],{"type":19,"content":619},[620],{"type":22,"text":621},"задача узкая, и под неё есть небольшая специализированная модель;",{"type":52,"content":623},[624],{"type":19,"content":625},[626],{"type":22,"text":627},"нужна независимость от чужой доступности, тарифов и геополитики.",{"type":19,"content":629},[630],{"type":22,"marks":631,"text":633},[632],{"type":59},"Облако выигрывает, когда:",{"type":125,"content":635},[636,642,648],{"type":52,"content":637},[638],{"type":19,"content":639},[640],{"type":22,"text":641},"нагрузка редкая или рваная - железо будет простаивать;",{"type":52,"content":643},[644],{"type":19,"content":645},[646],{"type":22,"text":647},"задача требует рассуждений: разбор смысла, написание текста, принятие решений;",{"type":52,"content":649},[650],{"type":19,"content":651},[652],{"type":22,"text":653},"вы ещё проверяете гипотезу и не знаете, взлетит ли вообще.",{"type":19,"content":655},[656],{"type":22,"text":657},"Практически это чаще всего означает гибрид, и у меня он именно такой: распознавание речи - локально, на своём железе, а причёсывание расшифровки в читаемый текст - облачной моделью. Аудио наружу не уходит, а за интеллект платится там, где он действительно нужен.",{"type":25,"attrs":659,"content":660},{"level":27},[661],{"type":22,"text":662},"Про деньги",{"type":125,"content":664},[665],{"type":52,"content":666},[667],{"type":19,"content":668},[669],{"type":22,"text":670},"Считайте не стоимость запроса, а стоимость месяца при вашей нагрузке. Облачный счёт растёт вместе с потоком, своё железо покупается один раз. И это ещё не всё: главная строка - часы, которые сейчас тратит на это живой человек, умноженные на его ставку. При постоянном потоке железо окупается быстро, при редких обращениях не окупается никогда.",{"type":25,"attrs":672,"content":673},{"level":27},[674],{"type":22,"text":171},{"type":13,"attrs":676},{"id":677,"junction":16,"collection":175},"1f3bb2ac-0689-4d3d-a55f-393549604720",{"type":19,"content":679},[680],{"type":22,"text":681},"Посчитайте на своих цифрах. При ставке 500 рублей в час двадцать часовых созвонов в месяц - это 10 000 рублей чужого времени только на прослушивание, и столько же в следующем месяце. Своё железо проходит те же двадцать часов за пару часов и счёт за минуту не выставляет. Плюс риск: если запись с персональными данными ушла наружу, разбор считается днями руководителя по 7 000 - 10 000 рублей.",{"type":13,"attrs":683},{"id":684,"junction":16,"collection":214},"e89df558-4c1d-4ad8-ad47-e2771b55b20e","Весы: монолитный блок против лёгкой формы из тонких линий",{"title":687,"meta_description":688,"focus_keyphrase":220,"og_image":216,"no_index":221,"no_follow":221,"sitemap":689,"additional_fields":690},"Локально или в облаке: когда локальная модель дешевле API","Когда своё железо окупается, а когда дешевле облачный API. Реальные замеры на распознавании речи и расчёт в рублях на вашем потоке звонков.",{"change_frequency":223,"priority":224},{},"2026-08-27T17:42:48.000Z",[693,695],{"sort":230,"tags_id":694},{"name":232},{"sort":27,"tags_id":696},{"name":697},"ИИ и модели",[699,702],{"id":684,"sort":216,"collection":214,"item":700},{"cta_variant":260,"heading":261,"body":701,"button_label":263,"url":216,"glow":226},"У вас копятся записи звонков и встреч, и вы выбираете между своим железом и облаком. Опишите задачу - посчитаю, что дешевле на вашем потоке и что при этом останется внутри компании.",{"id":677,"sort":216,"collection":175,"item":703},{"items":704,"columns":257},[705,708,711],{"lead":706,"text":707},"10 000 рублей в месяц","двадцать часов созвонов в месяц, которые сейчас кто-то слушает по ставке 500 рублей в час",{"lead":709,"text":710},"7 минут на час записи","столько занимает расшифровка на сервере без видеокарты вместо часа прослушивания",{"lead":481,"text":712},"день руководителя, съеденный разбором, если запись с персональными данными ушла наружу",{"id":714,"modified_on":715},"64bd6f0e-23d1-44b4-9f73-ecf6098c1280","2026-08-27T18:12:51.408Z",{"id":717,"title":718,"slug":719,"excerpt":720,"content":721,"cover_alt":839,"cover_position":216,"reading_time":257,"seo":840,"robots_index":226,"seo_title":841,"seo_description":842,"date_published":845,"date_modified":216,"source_lead":216,"rubrics":846,"blocks":851,"cover":864},"b4b00a32-20a6-4557-b217-16867693b50b","Работает, но врёт: как геоблокировки ломают ИИ-систему незаметно","geobloki-i-tihie-otkazy","Поиск в системе не работал минимум три недели, а мониторинг был зелёный: ИИ-агент съедал ошибку инструмента и спокойно отвечал по памяти. Разбираю класс поломок, при которых всё \"работает\", - блокировки по географии, тихие отказы и то, как их вообще заметить.",{"type":10,"content":722},[723,734,739,743,747,751,756,760,764,768,772,777,781,785,790,798,806,810,814,818,821,825,829],{"type":19,"content":724},[725,727,732],{"type":22,"text":726},"Расскажу про класс поломок, с которым в России теперь сталкивается любой, кто строит ИИ-системы: отказ внешнего сервиса по географическому признаку. ",{"type":22,"marks":728,"text":731},[729],{"type":66,"attrs":730},{"href":68},"Падение видно сразу",{"type":22,"text":733},", его чинят за час. Здесь другое: система продолжает отвечать, отчётность зелёная, а результат тихо стал хуже. Сервисы дальше без названий - разговор про класс поломок, названия к нему ничего не добавят.",{"type":25,"attrs":735,"content":736},{"level":27},[737],{"type":22,"text":738},"Что случилось",{"type":19,"content":740},[741],{"type":22,"text":742},"В одной системе ИИ-ассистент умеет искать в интернете - это отдельный инструмент, который он вызывает, когда своих знаний не хватает. Я полез в журналы по другому поводу и от нечего делать посмотрел статистику вызовов поиска.",{"type":19,"content":744},[745],{"type":22,"text":746},"За всё окно хранения журналов - две недели, 335 вызовов - успешных не было ни одного. Ноль. Поиск был мёртв как минимум с начала месяца.",{"type":19,"content":748},[749],{"type":22,"text":750},"При этом в системе не горело ничего. Запуски числились успешными, пользователи не жаловались, поддержка была спокойна. Причина проста и от этого неприятна: ИИ-агент устроен так, что ошибку инструмента он обрабатывает сам. Инструмент не ответил - агент пожал плечами и ответил по памяти. Формально диалог завершён успешно. Фактически человек получил ответ без свежих данных и не узнал об этом.",{"type":25,"attrs":752,"content":753},{"level":27},[754],{"type":22,"text":755},"Как отличить гео от сломанного ключа",{"type":19,"content":757},[758],{"type":22,"text":759},"Дальше началась диагностика, которая заняла бы дни, если бы не одна привычка: при странном отказе внешнего сервиса первым делом сравнить его поведение из разных точек.",{"type":19,"content":761},[762],{"type":22,"text":763},"Сервис отвечал ошибкой 403 и страницей-заглушкой вместо данных. С зарубежного адреса тот же самый ключ работал. С двух независимых российских адресов - отказ. А запрос вообще без ключа с тех же российских адресов получал внятную ошибку 401 в json. Значит, сеть проходит, адрес не в бане, отвечает само приложение. Режут именно вызов с ключом.",{"type":19,"content":765},[766],{"type":22,"text":767},"Это важное различение. Битый ключ даёт 401 и внятное сообщение. Гео даёт 403 и страницу-заглушку. Разница в одну цифру, а выводы противоположные: в первом случае перевыпускаете ключ, во втором перевыпуск не поможет никогда.",{"type":19,"content":769},[770],{"type":22,"text":771},"Отдельная ловушка того же семейства: один известный шлюз к языковым моделям отвечает на запросы из дата-центров кодом 403 с формулировкой про политику безопасности, а в другом сценарии - кодом 401. То есть 401 от него с сервера - это не протухший ключ, а тот же самый блок. Я потратил на эту догадку время дважды и теперь держу её записанной.",{"type":25,"attrs":773,"content":774},{"level":27},[775],{"type":22,"text":776},"Масштаб проблемы шире, чем кажется",{"type":19,"content":778},[779],{"type":22,"text":780},"Проверка соседних сервисов с тех же адресов дала пёструю картину: часть поисковых API режет российские адреса наглухо, часть работает без вопросов. Отдельная история - мессенджеры: исходящие в один популярный мессенджер из российского облака стабильно упираются в таймаут. У этого есть красивое следствие: если алерты о сбоях настроены туда же, то оповещатель падает на отправке оповещения. Про аварии не узнаёт никто, и мониторинг снова зелёный.",{"type":19,"content":782},[783],{"type":22,"text":784},"Общий вывод простой: в 2026 году доступность внешнего сервиса - это не константа, а переменная, зависящая от того, откуда вы вышли в интернет. Причём меняется она без предупреждения и без письма на почту.",{"type":25,"attrs":786,"content":787},{"level":27},[788],{"type":22,"text":789},"Что с этим делать",{"type":19,"content":791},[792,796],{"type":22,"marks":793,"text":795},[794],{"type":59},"Считать внешний сервис ненадёжным по умолчанию:",{"type":22,"text":797}," канал до него вам не принадлежит. И не гасить его ошибки внутри агента молча - если инструмент не ответил, это должно попадать в журнал сбоев и в оповещения, даже когда агент справился без него.",{"type":19,"content":799},[800,804],{"type":22,"marks":801,"text":803},[802],{"type":59},"Ловить тихие отказы отдельно.",{"type":22,"text":805}," Мониторинг \"процесс завершился успешно\" здесь бесполезен. Нужны метрики результата: сколько вызовов инструмента вернули данные, а не ошибку; какая доля ответов агента опиралась на поиск. Хорошая проверка на здравый смысл - раз в месяц открыть журналы и посмотреть, что вообще происходит внутри успешных запусков.",{"type":19,"content":807},[808],{"type":22,"text":809},"Весь мой трафик к зарубежным сервисам выходит наружу через одну точку, которой я управляю.",{"type":19,"content":811},[812],{"type":22,"text":813},"Держать запасного поставщика: второй сервис того же назначения, заранее проверенный и настроенный, на который переключаются одной настройкой. И не строить алерты на канале, который может отвалиться, - оповещения о сбоях должны идти по маршруту, независимому от того, что они охраняют.",{"type":25,"attrs":815,"content":816},{"level":27},[817],{"type":22,"text":171},{"type":13,"attrs":819},{"id":820,"junction":16,"collection":175},"2c691b05-9b0c-4b2d-906b-c6dc1369d67e",{"type":19,"content":822},[823],{"type":22,"text":824},"Считайте на своих числах. Три недели бот отвечал по памяти - прикиньте, сколько таких ответов пришлось переделывать руками. Например, двадцать штук по часу работы при ставке 500 рублей - это 10 000 рублей. Дороже другое: заявка, потерянная на устаревшем ответе, в B2B стоит от 3 000 до 15 000 рублей. И даже полчаса в журналах раз в месяц - это 250 рублей при той же ставке.",{"type":19,"content":826},[827],{"type":22,"text":828},"Если ваша система висит на зарубежном API, следующий вопрос - что перенести к себе. В соседней статье считаю, где своё железо реально выигрывает, а где это лишние деньги.",{"type":19,"content":830},[831,833],{"type":22,"text":832},"Читать дальше: ",{"type":22,"marks":834,"text":838},[835],{"type":66,"attrs":836},{"href":837},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Flokalno-ili-v-oblake","Локально или в облаке: где своё железо реально выигрывает у API","Ровный ряд горящих индикаторов и оборванный кабель за панелью",{"title":841,"meta_description":842,"focus_keyphrase":220,"og_image":216,"no_index":221,"no_follow":221,"sitemap":843,"additional_fields":844},"Геоблокировки и ИИ-сервисы: тихие отказы, которые не видно в мониторинге","Поиск не работал три недели, а система считала запуски успешными: ИИ-агент съедал ошибку инструмента и отвечал по памяти. Как ловить тихие отказы и что делать с блокировками по IP.",{"change_frequency":223,"priority":224},{},"2026-08-27T17:35:48.000Z",[847,849],{"sort":230,"tags_id":848},{"name":232},{"sort":27,"tags_id":850},{"name":697},[852],{"id":820,"sort":216,"collection":175,"item":853},{"items":854,"columns":257},[855,858,861],{"lead":856,"text":857},"0 из 335","вызовов поиска сработали за две недели, а система считала запуски успешными",{"lead":859,"text":860},"от 3 000 рублей","цена одной заявки в B2B, потерянной на ответе без свежих данных",{"lead":862,"text":863},"1 точка вместо 15","столько мест правите при смене выхода наружу, если канал один",{"id":865,"modified_on":866},"9f4b69c4-2c6f-438a-abc2-5de5ab33ab96","2026-08-27T18:12:56.230Z"]