[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content-blog":3},{"posts":4},[5,239,433,599,820,1046,1198,1425,1608,1788,1957,2192,2403,2649,2867,3077,3260,3464,3612,3762],{"id":6,"title":7,"slug":8,"excerpt":9,"content":10,"cover_alt":194,"cover_position":195,"reading_time":196,"seo":197,"robots_index":206,"seo_title":198,"seo_description":199,"date_published":207,"date_modified":195,"source_lead":195,"rubrics":208,"blocks":216,"cover":236},"5961ca87-2b6f-4c60-9d4d-3677f34b294f","Претензия за фотографию: как мы заменили 211 картинок на живом сайте","pretenziya-za-fotografiyu","Досудебная претензия на 60 000 рублей за одну фотографию, которую в 2018 году поставил подрядчик. Показываю, что мы сделали вместо выплаты: нашли все чужие картинки на сайте и заменили их так, что вёрстка и адреса в поиске остались прежними.",{"type":11,"content":12},"doc",[13,19,23,30,34,38,42,47,51,55,59,63,68,72,94,98,103,107,116,124,132,136,141,145,149,154,158,162,166,171,175,180,186,190],{"type":14,"content":15},"paragraph",[16],{"type":17,"text":18},"text","Клиенту пришла досудебная претензия: на сайте используется фотография, права на которую принадлежат не ему. Требование - 60 000 рублей за одно изображение на одной странице, со скидкой до 35 000, если заплатить в течение пяти рабочих дней. Фотография попала на сайт в 2018 году вместе с материалами подрядчика, который давно не работает с компанией, и это, к сожалению, не аргумент: отвечает владелец сайта.",{"type":14,"content":20},[21],{"type":17,"text":22},"История типовая, и заканчивается она обычно одинаково: платят или судятся. Иногда в панике сносят полсайта вместе с вёрсткой и поисковым трафиком. Мы сделали по-другому.",{"type":24,"attrs":25,"content":27},"heading",{"level":26},2,[28],{"type":17,"text":29},"Почему \"просто удалить\" не работает",{"type":14,"content":31},[32],{"type":17,"text":33},"Первая реакция собственника - убрать картинку и забыть. Она понятна, но закрывает только часть вопроса.",{"type":14,"content":35},[36],{"type":17,"text":37},"Во-первых, претензия уже предъявлена, и удаление не отменяет прошлого использования - это разговор для юриста, и его надо вести отдельно. Во-вторых, снятая картинка оставляет дыру: у неё есть размеры, и вёрстка рассчитана на них. В-третьих, и это главное - если одна чужая фотография попала на сайт случайно, там почти наверняка есть и другие. Правообладатели работают системно: находят одно нарушение и проверяют весь домен.",{"type":14,"content":39},[40],{"type":17,"text":41},"Поэтому задача звучит шире: убрать с сайта весь чужой визуальный материал, ничего при этом не сломав.",{"type":24,"attrs":43,"content":44},{"level":26},[45],{"type":17,"text":46},"Почему нельзя просто взять новые фотографии",{"type":14,"content":48},[49],{"type":17,"text":50},"Два очевидных варианта отпадают сразу.",{"type":14,"content":52},[53],{"type":17,"text":54},"Скачать новые фотографии из интернета - это ровно то, с чего началась история. Купить сток - вариант рабочий, но дорогой на трёх сотнях картинок, и он всё равно требует подобрать снимки той же композиции, иначе поедет вёрстка.",{"type":14,"content":56},[57],{"type":17,"text":58},"Отдельно стоит сказать про соблазн сделать нейросетью попиксельную копию исходного кадра. Так делать нельзя. Узнаваемая копия остаётся переработкой чужого произведения - это прямо описано в статье 1270 ГК РФ - и требует согласия правообладателя ровно так же, как оригинал. Технически вы вроде бы ничего не скачивали, юридически ничего не изменилось.",{"type":14,"content":60},[61],{"type":17,"text":62},"Рабочая формулировка оказалась другой: тот же кадр, снятый заново. Не копия и не новая картинка на ту же тему, а самостоятельный снимок той же сцены - как если бы на то же место приехал другой фотограф.",{"type":24,"attrs":64,"content":65},{"level":26},[66],{"type":17,"text":67},"Сначала инвентаризация, потом всё остальное",{"type":14,"content":69},[70],{"type":17,"text":71},"Найти все картинки сайта сложнее, чем кажется. Одного источника не хватает, их нужно три:",{"type":73,"content":74},"bulletList",[75,82,88],{"type":76,"content":77},"listItem",[78],{"type":14,"content":79},[80],{"type":17,"text":81},"обход всех страниц сайта - то, что реально видит посетитель, включая фоновые картинки, которых нет в тексте страницы;",{"type":76,"content":83},[84],{"type":14,"content":85},[86],{"type":17,"text":87},"база данных - тексты материалов, настройки модулей, меню, медиатека;",{"type":76,"content":89},[90],{"type":14,"content":91},[92],{"type":17,"text":93},"файлы на диске - поиск по всем папкам с изображениями, включая шаблон и слайдеры.",{"type":14,"content":95},[96],{"type":17,"text":97},"Пересечение этих трёх списков дало карту: 359 картинок, у каждой известно, где она встречается, живая она или осталась только в базе, и есть ли у неё дубликаты. Отдельной строкой - 1434 файла, которых нет ни в одном источнике: старьё, забытое прежними подрядчиками. Их мы не трогали вообще: удалять то, о чём ничего не знаешь, я не стал.",{"type":24,"attrs":99,"content":100},{"level":26},[101],{"type":17,"text":102},"Разметка: не всё подряд",{"type":14,"content":104},[105],{"type":17,"text":106},"Дальше начинается работа глазами. Я смотрел все картинки контактными листами по 24 штуки и раскладывал на три стопки.",{"type":14,"content":108},[109,114],{"type":17,"marks":110,"text":113},[111],{"type":112},"bold","Перегенерить",{"type":17,"text":115}," - стоковые постановки: техника на идеальном газоне, человек в каске на фоне заката, руки с чертежом, каталожные снимки приборов, чужие промзоны. Это и есть основной источник риска.",{"type":14,"content":117},[118,122],{"type":17,"marks":119,"text":121},[120],{"type":112},"Удалить",{"type":17,"text":123}," - демо-контент шаблона, который никто не убрал при запуске: чашки кофе, гамаки, картинки с подписью Sample Image, логотипы платёжных систем, которыми компания не пользуется.",{"type":14,"content":125},[126,130],{"type":17,"marks":127,"text":129},[128],{"type":112},"Оставить",{"type":17,"text":131}," - собственная полевая съёмка, чертежи, обложки документации, сотрудники, своё оборудование.",{"type":14,"content":133},[134],{"type":17,"text":135},"Здесь была ловушка, в которую я попал на первом заходе. Портреты сотрудников, снятые в студии, выглядят как чистый сток - ровный свет, белый фон, дежурная улыбка - и уехали в стопку на замену. Это свои люди, снятые за свои деньги, менять их нельзя. Вывод: спорные кадры я показываю владельцу.",{"type":24,"attrs":137,"content":138},{"level":26},[139],{"type":17,"text":140},"Где всё ломается",{"type":14,"content":142},[143],{"type":17,"text":144},"Самое хрупкое место - как именно объяснить задачу нейросети. Первая версия звучала разумно: \"сними эту сцену заново, другой ракурс, другой свет\" плюс описание сюжета из подписи к картинке. Результат был отличный и совершенно негодный. Нейросеть решила, что подпись - это заказ на новый снимок, и начала дорисовывать: на пустом галечном берегу появились пятеро геодезистов и грузовик, а в другом кадре берег превратился в поле с нефтяными качалками.",{"type":14,"content":146},[147],{"type":17,"text":148},"Рабочая формулировка получилась занудной и подробной: сохранить композицию, ракурс, границы кадра, все объекты и их положение, количество людей и техники, позы, цвета, свет и время года; ничего не добавлять и не убирать; отличия допускаются только в мелкой фактуре. Зато на выходе тот же кадр, и вёрстка стоит как стояла.",{"type":24,"attrs":150,"content":151},{"level":26},[152],{"type":17,"text":153},"Миниатюры, о которых все забывают",{"type":14,"content":155},[156],{"type":17,"text":157},"Заменить исходный файл мало. Движок сайта хранит нарезанные копии каждой картинки под разные места - превью в списке, картинка в шапке, миниатюра в галерее. Если их не пересобрать, посетитель ещё месяцами будет видеть старое изображение в анонсах, а сайт - продолжать нарушение.",{"type":14,"content":159},[160],{"type":17,"text":161},"На этом сайте таких копий оказалось 1123 штуки. Все пересобраны из новых оригиналов.",{"type":14,"content":163},[164],{"type":17,"text":165},"Ещё одно правило, которое экономит недели: имя файла не меняется. Новая картинка ложится ровно на место старой, поэтому тексты и ссылки никто не переделывает руками, а адреса картинок в поиске остаются прежними.",{"type":24,"attrs":167,"content":168},{"level":26},[169],{"type":17,"text":170},"Итог",{"type":14,"content":172},[173],{"type":17,"text":174},"Владелец получил документ, где по каждой замене стоят рядом старая и новая картинка - и как отчёт, и как аргумент в переговорах с правообладателем: нарушение прекращено добровольно и по всему сайту сразу. Проверены все 418 страниц и вся библиотека изображений: 359 картинок в аудите, 211 заменено, 7 удалено, 1123 миниатюры пересобраны. База не тронута, вёрстка не поехала, полный бэкап базы и папок с картинками сделан до первой правки.",{"type":24,"attrs":176,"content":177},{"level":26},[178],{"type":17,"text":179},"Что это даёт вам в деньгах",{"type":181,"attrs":182},"relation-block",{"id":183,"junction":184,"collection":185},"ba4f61c6-4324-44b5-8eff-da86d34c661b","posts_blocks","block_stats",{"type":14,"content":187},[188],{"type":17,"text":189},"Посчитайте на своих цифрах. Одно письмо - 35 000 рублей, если платить в пятидневное окно, и 60 000, если не успели. На сайте из примера 211 снимков группы риска, а домен правообладатель проверяет целиком: даже десять писем из этого запаса - 350 000 рублей. Плюс ваши дни на разбор, при цене дня руководителя по рынку 7 000 - 10 000 рублей. Сплошная замена закрывает весь массив за один заход.",{"type":181,"attrs":191},{"id":192,"junction":184,"collection":193},"7bd244db-3f3d-48bc-bf33-52046c38ffb9","block_cta","Сетка одинаковых кадров на тёмной стене, несколько из них подсвечены",null,4,{"title":198,"meta_description":199,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":202,"additional_fields":205},"Досудебная претензия за фото на сайте: как заменить картинки без потерь","Кейс: претензия правообладателя за фотографию на корпоративном сайте. Как мы нашли 359 картинок, заменили 211 нейросетевыми кадр в кадр и пересобрали 1123 миниатюры, не тронув вёрстку и SEO.","",false,{"change_frequency":203,"priority":204},"monthly","0.6",{},true,"2026-08-27T18:10:09.000Z",[209,213],{"sort":210,"tags_id":211},1,{"name":212},"Разборы задач",{"sort":26,"tags_id":214},{"name":215},"Безопасность",[217,230],{"id":183,"sort":195,"collection":185,"item":218},{"items":219,"columns":229},[220,223,226],{"lead":221,"text":222},"60 000 рублей","требование за одну фотографию на одной странице; 35 000, если заплатить за пять дней",{"lead":224,"text":225},"211 картинок","столько снимков группы риска нашлось на одном сайте; каждый - повод для письма",{"lead":227,"text":228},"7 000 - 10 000 рублей","день руководителя по рынку - столько стоит разбирать сайт и претензию самому",3,{"id":192,"sort":195,"collection":193,"item":231},{"cta_variant":232,"heading":233,"body":234,"button_label":235,"url":195,"glow":206},"estimator","Похожая задача?","Если картинки на ваш сайт ставили подрядчики, вы не знаете, сколько там чужих кадров, пока не проверен весь домен. Опишите сайт - посчитаю объём замены и сроки.","Оценить задачу",{"id":237,"modified_on":238},"acbf6596-6ae4-44e5-b6c6-54c5326c8011","2026-08-27T18:12:21.832Z",{"id":240,"title":241,"slug":242,"excerpt":243,"content":244,"cover_alt":401,"cover_position":195,"reading_time":229,"seo":402,"robots_index":206,"seo_title":403,"seo_description":404,"date_published":407,"date_modified":195,"source_lead":195,"rubrics":408,"blocks":413,"cover":430},"75251e39-6088-48b3-b70b-62a33464f173","База лежала в открытом доступе по ошибке SEO-специалиста и GPT","utechka-bazy-cherez-bekapy","Полные копии базы с заказами и паролями клиентов лежали в открытой части сайта пять месяцев и скачивались по прямой ссылке. Признаков взлома не было ни одного - и это самое интересное в этой истории. Разбираю, как утекают базы через рабочий мусор и как проверить свой сайт.",{"type":11,"content":245},[246,250,254,259,263,267,271,288,296,304,308,313,317,321,325,330,334,338,343,347,351,355,360,364,368,373,387,391,394,398],{"type":14,"content":247},[248],{"type":17,"text":249},"Собственник спросил осторожно: \"У нас же не могли слить базу?\" Повод был - месяцем раньше на одном из его сайтов мы уже находили открытый архив. Я проверил все сайты, до которых у него есть отношение. Результат: на соседнем сайте лежали две полные копии базы данных, доступные любому человеку в интернете, - самой старой было пять месяцев.",{"type":14,"content":251},[252],{"type":17,"text":253},"Признаков взлома не было ни одного: ни подозрительных файлов, ни чужого кода. Данные просто лежали так, что взламывать ничего не требовалось.",{"type":24,"attrs":255,"content":256},{"level":26},[257],{"type":17,"text":258},"Как база оказывается в открытом доступе",{"type":14,"content":260},[261],{"type":17,"text":262},"В голове у большинства владельцев сайтов утечка выглядит как хакер в толстовке. На практике типовой сценарий скучнее и обиднее: база утекает через рабочий мусор, который оставили свои же.",{"type":14,"content":264},[265],{"type":17,"text":266},"Плагин резервного копирования складывает копии базы в открытую часть сайта и хранит их месяцами. Подрядчик перенёс сайт и забыл убрать архив с установщиком. Кто-то поставил панель управления базой, чтобы разово посмотреть таблицу, и она осталась. Каждый шаг по отдельности выглядит безобидно, а вместе это готовый способ скачать всё содержимое компании, зная только имя файла.",{"type":14,"content":268},[269],{"type":17,"text":270},"Именно так выглядели три находки на этом аудите.",{"type":14,"content":272},[273,277,279,286],{"type":17,"marks":274,"text":276},[275],{"type":112},"Копии базы в открытой части сайта.",{"type":17,"text":278}," Две штуки, от марта и апреля, плюс архивы самого сайта на 162 мегабайта. Внутри - заказы клиентов ",{"type":17,"marks":280,"text":285},[281],{"type":282,"attrs":283},"link",{"href":284},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002F152-fz-dlya-malenkogo-sayta","с персональными данными",{"type":17,"text":287},", пароли всех пользователей сайта (зашифрованные, но подбираются офлайн и не спеша), ключи доступа интеграций. Рядом лежала копия служебного файла с логином и паролем от базы.",{"type":14,"content":289},[290,294],{"type":17,"marks":291,"text":293},[292],{"type":112},"Архив сайта на 876 мегабайт",{"type":17,"text":295}," на копии другого сайта - со всеми файлами и базой внутри. Такой архив разворачивается в один клик где угодно: у того, кто его скачал, появляется полная рабочая копия чужого бизнеса.",{"type":14,"content":297},[298,302],{"type":17,"marks":299,"text":301},[300],{"type":112},"Открытая панель управления базой",{"type":17,"text":303}," версии 2013 года на боевом сайте. Пароль она спрашивает, но для такой старой версии публично известны способы обхода, и это удобная точка для перебора.",{"type":14,"content":305},[306],{"type":17,"text":307},"Отдельно неприятная деталь: формально защита стояла. В папке с копиями лежал файл-запрет на скачивание - но конкретный хостинг для таких путей его игнорировал. По конфигу всё выглядело закрытым, по факту файлы отдавались наружу.",{"type":24,"attrs":309,"content":310},{"level":26},[311],{"type":17,"text":312},"Диск - это не то же самое, что интернет",{"type":14,"content":314},[315],{"type":17,"text":316},"Главная методическая ошибка в таких проверках - искать файлы на сервере и по факту находки объявлять утечку. Файл может лежать на диске и не отдаваться наружу, а может лежать в неожиданном месте и прекрасно скачиваться.",{"type":14,"content":318},[319],{"type":17,"text":320},"Поэтому порядок такой: сначала смотрю, что лежит на диске - архивы, копии базы, файлы с расширениями bak, old, save, остатки установщиков. Потом каждую находку пробую скачать из интернета, как это сделал бы посторонний: скачалось - значит утечка, не скачалось - значит просто мусор на сервере. И отдельно запрашиваю снаружи ходовые адреса вслепую, даже если на диске чисто: доступа к диску может не быть вовсе, а файл при этом отдаётся.",{"type":14,"content":322},[323],{"type":17,"text":324},"Кроме самих файлов проверяю то, о чём обычно забывают. Пускает ли сама база подключения из интернета напрямую - на этом хостинге пускала, причём с любого адреса: тому, кто добыл пароль, сайт уже не нужен, он заходит в базу мимо сайта. Не оставил ли кто-то на сайте чужой скрипт для доступа к файлам. И что лежит на соседних сайтах того же аккаунта.",{"type":24,"attrs":326,"content":327},{"level":26},[328],{"type":17,"text":329},"Сколько это было открыто и что теперь доказывать",{"type":14,"content":331},[332],{"type":17,"text":333},"Копии базы лежали с начала марта - пять месяцев. Логи доступа за такой срок хостинг не хранит, поэтому доказать, скачивал кто-то эти файлы или нет, невозможно в принципе.",{"type":14,"content":335},[336],{"type":17,"text":337},"Это важный практический вывод, а не формальность. Если в базе есть персональные данные клиентов, невозможность доказать отсутствие утечки означает, что исходить придётся из худшего: считать данные скомпрометированными, менять ключи и пароли, оценивать обязанности по 152-ФЗ. Разница между \"у нас была дыра\" и \"у нас была утечка\" стоит дорого, и определяется она наличием логов, которых обычно нет.",{"type":24,"attrs":339,"content":340},{"level":26},[341],{"type":17,"text":342},"Правило, которое я соблюдаю жёстко: аудит ничего не меняет",{"type":14,"content":344},[345],{"type":17,"text":346},"Ни одного удаления, переноса или изменения прав на сайте клиента без его отдельного согласия. Даже когда дыра очевидна, даже когда правка обратима.",{"type":14,"content":348},[349],{"type":17,"text":350},"Причина простая. На сайте работает не только тот, кто заказал аудит: есть SEO-подрядчик, прежние разработчики, иногда сам собственник. Той самой панелью управления базой, судя по датам, кто-то регулярно пользовался. Молча снести её - значит сломать чужой рабочий процесс, а объясняться будет заказчик.",{"type":14,"content":352},[353],{"type":17,"text":354},"Логика такая: находки, потом отчёт, потом решение владельца, и только потом правки - с бэкапом до изменения. Файлы, к слову, были открыты уже пять месяцев; час до ответа собственника ничего не менял.",{"type":24,"attrs":356,"content":357},{"level":26},[358],{"type":17,"text":359},"Что было на выходе",{"type":14,"content":361},[362],{"type":17,"text":363},"Два документа. Технический разбор - что где лежит, каким запросом это проверяется, что предлагается сделать. И отчёт собственнику человеческим языком: что нашли, чем это грозит, как давно открыто, что делать в порядке важности и сколько это займёт (получилось около трёх часов работы).",{"type":14,"content":365},[366],{"type":17,"text":367},"Плюс один вопрос, на который может ответить только он: панелью пользуются подрядчики - убираем сразу или сначала предупреждаем.",{"type":24,"attrs":369,"content":370},{"level":26},[371],{"type":17,"text":372},"Что проверить у себя",{"type":73,"content":374},[375,381],{"type":76,"content":376},[377],{"type":14,"content":378},[379],{"type":17,"text":380},"Проверьте, куда ваш плагин бэкапов кладёт копии. Если внутрь сайта - у вас уже открытая база, вопрос только в том, нашли её или нет.",{"type":76,"content":382},[383],{"type":14,"content":384},[385],{"type":17,"text":386},"После любого переезда сайта пройдитесь по остаткам: архивы, установщики, папки с названием installation, копии конфигов.",{"type":24,"attrs":388,"content":389},{"level":26},[390],{"type":17,"text":179},{"type":181,"attrs":392},{"id":393,"junction":184,"collection":185},"43a00a40-0b05-477b-8ee1-add2da798776",{"type":14,"content":395},[396],{"type":17,"text":397},"Посчитайте на своих цифрах. Проверка - три часа работы. На другой чаше весов ваша база: умножьте число заявок в ней на обычные для B2B 3 000 - 15 000 рублей за заявку - столько вы за них уже заплатили. Дальше смена всех паролей и ключей и разбор по 152-ФЗ - это обычно дни руководителя по 7 000 - 10 000 рублей. И доказать, что файлы никто не скачал, не выйдет: логов за пять месяцев нет.",{"type":181,"attrs":399},{"id":400,"junction":184,"collection":193},"5edbabe7-56b5-4def-9699-a3eda5c731c9","Приоткрытая дверь хранилища, полоса света на рядах коробок, незапертый замок",{"title":403,"meta_description":404,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":405,"additional_fields":406},"Утечка базы сайта через открытые бэкапы: как проверить свой сайт","Кейс аудита: полные копии базы с персональными данными клиентов скачивались с сайта по прямой ссылке. Что искать, как проверять и почему это не взлом, а рабочий мусор.",{"change_frequency":203,"priority":204},{},"2026-08-27T18:03:48.000Z",[409,411],{"sort":210,"tags_id":410},{"name":212},{"sort":26,"tags_id":412},{"name":215},[414,426],{"id":393,"sort":195,"collection":185,"item":415},{"items":416,"columns":229},[417,420,423],{"lead":418,"text":419},"3 часа","столько заняла проверка: находки, отчёт собственнику и план правок по важности",{"lead":421,"text":422},"5 месяцев","столько копии базы скачивались по прямой ссылке, пока собственник не спросил",{"lead":424,"text":425},"3 000 - 15 000 рублей","обычная цена заявки в B2B; в открытой копии базы лежали все заказы клиентов",{"id":400,"sort":195,"collection":193,"item":427},{"cta_variant":232,"heading":428,"body":429,"button_label":235,"url":195,"glow":206},"Проверить свой сайт?","Если у вас стоит плагин бэкапов или был переезд сайта, копии базы могут лежать снаружи прямо сейчас. Напишите, что за сайт и хостинг - оценю, сколько займёт проверка и что делать с находками.",{"id":431,"modified_on":432},"4c65f02c-1ce3-4f81-bddd-7537e050386b","2026-08-27T18:12:31.902Z",{"id":434,"title":435,"slug":436,"excerpt":437,"content":438,"cover_alt":567,"cover_position":195,"reading_time":229,"seo":568,"robots_index":206,"seo_title":569,"seo_description":570,"date_published":573,"date_modified":195,"source_lead":195,"rubrics":574,"blocks":580,"cover":596},"d82b4980-87a8-4007-b7b1-e98ed1181f73","Один вопрос за 7 долларов: сколько на самом деле стоит ИИ в месяц","skolko-stoit-ii-v-prode","Если ИИ у вас уже работает или вы только закладываете его в бюджет - это про вас. За две недели 57 процентов счёта дали не клиенты, а один зациклившийся вопрос стоил 6,87 доллара вместо доли цента. Ниже - четыре ограничителя, каждый ставится меньше чем за день.",{"type":11,"content":439},[440,444,448,453,457,465,473,477,482,486,490,494,499,503,511,527,531,539,544,548,552,557,560,564],{"type":14,"content":441},[442],{"type":17,"text":443},"На одном из проектов однажды утром на общем счёте оставалось 10,79 доллара при расходе 23,76 доллара за предыдущие сутки. То есть меньше чем через сутки всё, что работает на ИИ, просто перестало бы отвечать. Дальше был разбор, и он оказался поучительнее любой теории.",{"type":14,"content":445},[446],{"type":17,"text":447},"Такой расход в бизнес-планах внедрения ИИ обычно отсутствует как класс. Считают разработку, подписку, сервер. А платить приходится за сами вычисления: каждый ответ модели стоит денег, и цену определяет устройство системы, прайс провайдера тут вторичен.",{"type":24,"attrs":449,"content":450},{"level":26},[451],{"type":17,"text":452},"Откуда берётся расход",{"type":14,"content":454},[455],{"type":17,"text":456},"Модель берёт деньги за токены - куски текста на входе и на выходе. Пока вы что-то спрашиваете у неё в чате, это копейки. Как только она встроена в работу компании, цену поднимают три вещи, и они не складываются, а умножаются одна на другую.",{"type":14,"content":458},[459,463],{"type":17,"marks":460,"text":462},[461],{"type":112},"Длина контекста.",{"type":17,"text":464}," Агент, который перед ответом подтягивает документы, историю переписки и описание инструментов, отправляет в модель не вопрос пользователя, а несколько страниц текста. Каждый раз.",{"type":14,"content":466},[467,471],{"type":17,"marks":468,"text":470},[469],{"type":112},"Количество шагов.",{"type":17,"text":472}," Современный ИИ-помощник не отвечает одним запросом. Он подумал, сходил за данными, прочитал результат, подумал снова. Один диалог - это десяток обращений к модели, и платите вы за каждое.",{"type":14,"content":474},[475],{"type":17,"text":476},"Самое коварное - фоновые процессы: обработка данных по расписанию, разметка, обогащение записей. Работают без человека, круглосуточно, и никто на них не смотрит.",{"type":24,"attrs":478,"content":479},{"level":26},[480],{"type":17,"text":481},"Что показал разбор",{"type":14,"content":483},[484],{"type":17,"text":485},"Своего учёта расходов в системе не было, и это самое неприятное. Считать пришлось задним числом, вытаскивая цифры из истории запусков - а она хранилась две недели. Что было раньше, уже не восстановить.",{"type":14,"content":487},[488],{"type":17,"text":489},"Жгли бюджет не пользователи. Тридцать шесть процентов расхода за две недели пришлось на одного сотрудника, который тестировал функциональность. Ещё двадцать один процент - на фоновую разметку профилей, работавшую по расписанию. Больше половины денег ушло мимо той работы, ради которой систему строили.",{"type":14,"content":491},[492],{"type":17,"text":493},"А главное - у агентных узлов не был выставлен потолок числа шагов. В нормальном режиме агент делает три-пять итераций и отвечает. Один вопрос, на котором агент зациклился, ушёл в 117 итераций и стоил 6,87 доллара. Один. Вопрос. При среднем чеке в доли цента.",{"type":24,"attrs":495,"content":496},{"level":26},[497],{"type":17,"text":498},"Что мы поставили",{"type":14,"content":500},[501],{"type":17,"text":502},"Ничего сложного - и в этом суть. Все меры дешёвые, но вводить их нужно заранее, пока счёт ещё не кончился.",{"type":14,"content":504},[505,509],{"type":17,"marks":506,"text":508},[507],{"type":112},"Потолок итераций для каждого агента.",{"type":17,"text":510}," Основному ассистенту - 10 шагов, вспомогательным поисковым агентам - 6, фоновой разметке - 5. Если агент не уложился, он останавливается и честно говорит, что не смог, вместо того чтобы крутиться дальше за деньги.",{"type":14,"content":512},[513,517,519,525],{"type":17,"marks":514,"text":516},[515],{"type":112},"Уменьшение выдачи поиска.",{"type":17,"text":518}," ",{"type":17,"marks":520,"text":524},[521],{"type":282,"attrs":522},{"href":523},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fpoisk-po-smyslu-vektornaya-baza","Агент, ищущий по базе знаний",{"type":17,"text":526},", тянул в контекст по 25-31 фрагменту, а один процесс - 60. Снизили до 15 и 20. Расход упал, а качество ответов - нет: лишние фрагменты не помогали модели, а разбавляли её внимание. Это частая история - \"дадим побольше контекста\" ухудшает ответ и увеличивает счёт одновременно.",{"type":14,"content":528},[529],{"type":17,"text":530},"Ещё одна копеечная мера, которую все откладывают: разные ключи для боевой системы и для тестовой копии. Пока ключ один на всех, любые опыты разработчиков и сотрудников оплачиваются из боевого бюджета. Отдельный ключ со своим лимитом это закрывает.",{"type":14,"content":532},[533,537],{"type":17,"marks":534,"text":536},[535],{"type":112},"Свой учёт.",{"type":17,"text":538}," Собственная запись: какой процесс, сколько токенов, по какому поводу. Отчёты провайдера приходят постфактум, и разбор тогда начинается с археологии по журналам с двухнедельной глубиной.",{"type":24,"attrs":540,"content":541},{"level":26},[542],{"type":17,"text":543},"Что с этим делать, если вы только внедряете",{"type":14,"content":545},[546],{"type":17,"text":547},"Вопрос не в том, сколько стоит запрос. Считать надо процесс целиком: сколько он стоит в месяц при ожидаемой нагрузке. Формула грубая, но рабочая: количество обращений умножить на среднее число шагов агента, умножить на средний объём контекста, умножить на цену модели. Полученную цифру умножить на два - на фоновые задачи и на людей, которые будут это тестировать.",{"type":14,"content":549},[550],{"type":17,"text":551},"И сразу заложить четыре вещи: лимит на ключ, потолок шагов у каждого агента, отдельные ключи для сред и оповещение при исчерпании порога. Ни одна из них не требует ни дня работы. Их не делают по другой причине: на старте расход выглядит как погрешность. А это помесячная строка бюджета, вроде электричества.",{"type":24,"attrs":553,"content":554},{"level":26},[555],{"type":17,"text":556},"Что это даёт вам в месяц",{"type":181,"attrs":558},{"id":559,"junction":184,"collection":185},"b436b48a-895f-4210-a0de-37a27a651cf3",{"type":14,"content":561},[562],{"type":17,"text":563},"Считайте на своём счёте. В разборе выше 57 процентов расхода дали не клиенты: 36 процентов - сотрудник на тестах, 21 - фоновая разметка. Умножьте свой счёт на 0,57, вот часть, которой никто не управляет. Каждый ограничитель ставится меньше чем за день - это 7 000 - 10 000 рублей по дню руководителя. А сутки с пустым балансом - это заявки, которые никто не принял, по 3 000 - 15 000 рублей.",{"type":181,"attrs":565},{"id":566,"junction":184,"collection":193},"369067b4-36c1-414a-a42f-46c67756004d","Барабаны счётчика в быстром вращении и падающая капля",{"title":569,"meta_description":570,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":571,"additional_fields":572},"Сколько стоит ИИ в месяц: расходы на токены LLM и лимиты в проде","Реальные расходы на ИИ в работающей системе: 57 процентов счёта за две недели дали не клиенты, один зациклившийся вопрос - 6,87 доллара. Четыре ограничителя, каждый ставится меньше чем за день.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:56:48.000Z",[575,577],{"sort":210,"tags_id":576},{"name":212},{"sort":26,"tags_id":578},{"name":579},"ИИ и модели",[581,584],{"id":566,"sort":195,"collection":193,"item":582},{"cta_variant":232,"heading":233,"body":583,"button_label":235,"url":195,"glow":206},"Если вы закладываете ИИ в бюджет и не понимаете, во что он обойдётся в месяц - опишите задачу в оценщике. Отвечу с вилкой по работе и прикидкой месячного расхода на модель.",{"id":559,"sort":195,"collection":185,"item":585},{"items":586,"columns":229},[587,590,593],{"lead":588,"text":589},"57 процентов счёта","за две недели дали не клиенты: тесты сотрудника и фоновая разметка профилей",{"lead":591,"text":592},"6,87 доллара","стоил один зациклившийся вопрос: 117 шагов вместо обычных трёх-пяти",{"lead":594,"text":595},"меньше дня работы","уходит на каждый из четырёх ограничителей, дальше они держат счёт без вашего участия",{"id":597,"modified_on":598},"72600d64-5427-4500-b77f-048f887a73b8","2026-08-27T18:12:34.406Z",{"id":600,"title":601,"slug":602,"excerpt":603,"content":604,"cover_alt":788,"cover_position":195,"reading_time":229,"seo":789,"robots_index":206,"seo_title":790,"seo_description":791,"date_published":794,"date_modified":195,"source_lead":195,"rubrics":795,"blocks":801,"cover":817},"d838d857-9efe-47b4-b6c3-6b68650b2773","Оценка, которой можно верить: как читать смету на автоматизацию","kak-chitat-ocenku-na-avtomatizaciyu","\"Разработка - от 150 до 400 часов\" - с такой строкой заказчику нечего делать: разброс в два с половиной раза, а из чего он складывается, не видно. Разбираю с позиции заказчика, что должно быть в смете на автоматизацию, чтобы её можно было проверить: одна вилка, буфер отдельной строкой, чужая зона ответственности вне часов и четыре вопроса подрядчику.",{"type":11,"content":605},[606,610,614,619,623,627,631,636,640,644,648,652,657,661,665,670,674,700,704,709,713,717,722,726,730,734,739,743,769,773,778,781,785],{"type":14,"content":607},[608],{"type":17,"text":609},"Собственник получает от подрядчика оценку: \"Разработка - от 150 до 400 часов\". Что с этим делать, непонятно. Разброс в два с половиной раза, из чего он складывается - неизвестно, а торговаться не о чем: цифра монолитная.",{"type":14,"content":611},[612],{"type":17,"text":613},"Я пишу такие оценки регулярно - и для крупного заказчика с проектным офисом, и для небольших клиентов. За это время сложился набор требований к документу, и почти каждое из них защищает интересы того, кто платит. Разберу их с позиции заказчика: что должно быть в оценке, чтобы её можно было проверить.",{"type":24,"attrs":615,"content":616},{"level":26},[617],{"type":17,"text":618},"Одна вилка на весь документ",{"type":14,"content":620},[621],{"type":17,"text":622},"Самый частый дефект - несколько чисел в одном документе. В шапке \"ориентировочно 200 часов\", в тексте \"чистой работы дней двадцать\", в таблице сумма даёт 260, а в письме звучит \"ну, месяца полтора\".",{"type":14,"content":624},[625],{"type":17,"text":626},"Каждое из этих чисел получено по-своему, и ни одно не отвечает за остальные. Разговор об объёме превращается в спор о том, какую цифру считать настоящей.",{"type":14,"content":628},[629],{"type":17,"text":630},"В документе должна быть ровно одна вилка, и она везде одинаковая. Строки таблицы обязаны суммироваться ровно в итог. Если этого не происходит, документ имеет смысл вернуть на пересборку.",{"type":24,"attrs":632,"content":633},{"level":26},[634],{"type":17,"text":635},"Буфер - отдельной строкой",{"type":14,"content":637},[638],{"type":17,"text":639},"В любой оценке есть неизвестное: чужой сервис поведёт себя не так, данные окажутся грязнее, чем обещали, вылезет ошибка в стороннем модуле. Это нормально, и на это закладывается запас.",{"type":14,"content":641},[642],{"type":17,"text":643},"Ненормально - когда запас растворён внутри строк. Тогда каждая позиция выглядит раздутой, заказчик начинает резать по живому, а подрядчик защищает воздух, не называя его вслух.",{"type":14,"content":645},[646],{"type":17,"text":647},"Честный формат: строки - реальное время работы, буфер - отдельная строка процентом от итога. Я обычно закладываю тридцать процентов и пишу это прямым текстом. Тогда торг идёт предметно: можно обсуждать риск, а можно сознательно его снять и работать без запаса, понимая последствия.",{"type":14,"content":649},[650],{"type":17,"text":651},"Отдельно: если заказчик сам называет потолок (\"у нас девять часов, больше нет\"), буфер не добавляется - под названную цифру подгоняется объём работ. Это его право - решать, сколько задача стоит. Задача подрядчика - честно сказать, что в эти часы влезет, а что нет.",{"type":24,"attrs":653,"content":654},{"level":26},[655],{"type":17,"text":656},"Реальные часы работы",{"type":14,"content":658},[659],{"type":17,"text":660},"Я считаю фактическое время: за сколько работа реально будет сделана мной и моими ИИ-ассистентами. Не за сколько её сделал бы условный средний разработчик, и без надбавки \"потому что бывает всякое\". Вы платите за часы, которые уйдут на вашу задачу, а не за коэффициент, который подрядчик держит в уме.",{"type":14,"content":662},[663],{"type":17,"text":664},"Для заказчика это важнее, чем кажется. Оценку в реальных часах можно проверить по факту сдачи: попал подрядчик или нет, видно сразу, и на следующую его оценку вы смотрите уже с этим знанием. Пересчёт на условные единицы такой сверки не даёт.",{"type":24,"attrs":666,"content":667},{"level":26},[668],{"type":17,"text":669},"Что не входит в часы",{"type":14,"content":671},[672],{"type":17,"text":673},"Отдельный раздел, которого почти никогда нет, а он самый ценный. В любом проекте есть работа, которая часами не измеряется, потому что зависит не от исполнителя:",{"type":73,"content":675},[676,682,688,694],{"type":76,"content":677},[678],{"type":14,"content":679},[680],{"type":17,"text":681},"ожидание доступов;",{"type":76,"content":683},[684],{"type":14,"content":685},[686],{"type":17,"text":687},"чужой сервис, который должен доработать другая команда;",{"type":76,"content":689},[690],{"type":14,"content":691},[692],{"type":17,"text":693},"регламентные окна выкатки;",{"type":76,"content":695},[696],{"type":14,"content":697},[698],{"type":17,"text":699},"согласования на стороне заказчика.",{"type":14,"content":701},[702],{"type":17,"text":703},"Такие вещи двигают календарь, но в трудозатраты не попадают. Смешивать одно с другим нечестно в обе стороны: подрядчик либо прячет простой в свои часы, либо потом объясняет, почему \"двадцать часов работы\" заняли месяц. Честнее развести: вот наши часы, вот зона вашей ответственности, вот от чего зависит срок.",{"type":24,"attrs":705,"content":706},{"level":26},[707],{"type":17,"text":708},"Опциональное - вне итога",{"type":14,"content":710},[711],{"type":17,"text":712},"В любой задаче есть \"хорошо бы ещё\": вторая интеграция, админка для настройки, отчётность. Место этому - отдельная строка с пометкой, что в основной объём оно не входит.",{"type":14,"content":714},[715],{"type":17,"text":716},"Когда желательное подмешано к обязательному, вы платите за то, чего не заказывали, а у подрядчика объём работ растёт без конца. Разделение снимает обе проблемы и оставляет решение за вами: пилот сейчас, расширение - когда первый этап себя оправдает.",{"type":24,"attrs":718,"content":719},{"level":26},[720],{"type":17,"text":721},"Почему всё таблицей и почему в конце",{"type":14,"content":723},[724],{"type":17,"text":725},"Две мелочи, которые сильно влияют на восприятие.",{"type":14,"content":727},[728],{"type":17,"text":729},"Всё, что можно, - таблицей: блок работ, объём, комментарий, итоговая строка. Прозаический вывод в конце (\"в целом, думаю, недели три\") не нужен: итог - это строка таблицы, и она одна.",{"type":14,"content":731},[732],{"type":17,"text":733},"А сама оценка идёт в конце документа. Сначала разбор задачи: что понято, какие есть развилки, что предлагается делать и почему. Тот, кто принимает решение, всё равно листает в конец - но, дойдя туда, он уже видит, за что именно платит.",{"type":24,"attrs":735,"content":736},{"level":26},[737],{"type":17,"text":738},"Четыре вопроса подрядчику",{"type":14,"content":740},[741],{"type":17,"text":742},"Когда получаете оценку, задайте четыре вопроса:",{"type":73,"content":744},[745,751,757,763],{"type":76,"content":746},[747],{"type":14,"content":748},[749],{"type":17,"text":750},"Складываются ли строки в итог?",{"type":76,"content":752},[753],{"type":14,"content":754},[755],{"type":17,"text":756},"Где буфер и сколько он?",{"type":76,"content":758},[759],{"type":14,"content":760},[761],{"type":17,"text":762},"Что в этом сроке зависит не от вас?",{"type":76,"content":764},[765],{"type":14,"content":766},[767],{"type":17,"text":768},"Что из перечисленного можно не делать в первом этапе?",{"type":14,"content":770},[771],{"type":17,"text":772},"Если подрядчик отвечает на все четыре не задумываясь - он задачу разобрал. Если начинает объяснять, что \"так не считают\" - вы держите в руках не оценку, а надежду.",{"type":24,"attrs":774,"content":775},{"level":26},[776],{"type":17,"text":777},"Что это даёт вам на ближайшей смете",{"type":181,"attrs":779},{"id":780,"junction":184,"collection":185},"3b5c406a-a685-44c3-8ea3-83698d9f986d",{"type":14,"content":782},[783],{"type":17,"text":784},"Посчитайте на своей смете. Вилка \"от 150 до 400 часов\" - это 250 часов, о которых вы не договорились: умножьте на ставку из договора и увидите сумму, которой пока не управляете. Буфер в 30 процентов, вынесенный строкой, обсуждаем - его можно оставить или снять осознанно. А каждый раунд спора \"какую цифру считать настоящей\" стоит вам дня руководителя - ориентировочно 7 000 - 10 000 рублей за день.",{"type":181,"attrs":786},{"id":787,"junction":184,"collection":193},"f1855753-d980-4c07-9c29-9a4561d60f63","Ряд ровных строк-полос, нижняя подсвечена, рядом линейка",{"title":790,"meta_description":791,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":792,"additional_fields":793},"Как читать оценку трудозатрат подрядчика: признаки честной сметы","Что должно быть в оценке задачи на автоматизацию, чтобы ей можно было верить: одна вилка, буфер отдельной строкой, зона чужой ответственности вне часов. Разбор изнутри.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:49:48.000Z",[796,799],{"sort":210,"tags_id":797},{"name":798},"Продажи",{"sort":26,"tags_id":800},{"name":212},[802,813],{"id":780,"sort":195,"collection":185,"item":803},{"items":804,"columns":229},[805,808,811],{"lead":806,"text":807},"250 часов","разрыв между краями вилки \"от 150 до 400\" - бюджет, о котором вы не договорились",{"lead":809,"text":810},"30 процентов","буфер отдельной строкой: его видно, его можно обсудить или снять осознанно",{"lead":227,"text":812},"ориентировочная стоимость дня руководителя, потраченного на спор, какую цифру из сметы считать настоящей",{"id":787,"sort":195,"collection":193,"item":814},{"cta_variant":232,"heading":815,"body":816,"button_label":235,"url":195,"glow":206},"У вас на руках такая смета?","Опишите задачу - вернётся разбор и оценка в том виде, о котором эта статья: одна вилка, буфер отдельной строкой, чужая зона ответственности вне часов. Будет с чем сравнить ту смету, что уже лежит у вас на столе.",{"id":818,"modified_on":819},"f0323b71-f5ac-48ff-98d1-5da4a4970269","2026-08-27T18:12:41.977Z",{"id":821,"title":822,"slug":823,"excerpt":824,"content":825,"cover_alt":1015,"cover_position":195,"reading_time":229,"seo":1016,"robots_index":206,"seo_title":1017,"seo_description":1018,"date_published":1021,"date_modified":195,"source_lead":195,"rubrics":1022,"blocks":1028,"cover":1043},"a3bdafa1-370e-4669-a460-69d658ee9330","Локально или в облаке: когда своё железо дешевле облачного счёта","lokalno-ili-v-oblake","Одна и та же задача на одном и том же сервере: сначала 25 секунд речи обрабатывались две минуты, потом сорок секунд речи укладывались в десять. Показываю на замерах и на деньгах, когда своё железо окупается на вашем потоке, а когда за него платят зря.",{"type":11,"content":826},[827,831,843,848,852,856,861,865,869,873,878,882,886,890,895,899,903,917,922,926,932,958,964,984,988,993,1001,1005,1008,1012],{"type":14,"content":828},[829],{"type":17,"text":830},"Голосовой ввод, который я собирал для сайта и для себя, сначала не заработал вообще: распознавание отставало от реального времени в пять раз. Развилку \"локальная модель или облачный API\" после этого я прохожу замерами - у неё есть числовой ответ, и он разный для разных задач.",{"type":14,"content":832},[833,835,841],{"type":17,"text":834},"Задача, на которой я прошёл оба пути до конца, - ",{"type":17,"marks":836,"text":840},[837],{"type":282,"attrs":838},{"href":839},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fwhisperkey-diktovka-dlya-maka","распознавание речи",{"type":17,"text":842},". Расскажу, что получилось, и заодно сформулирую фильтр, по которому эту развилку стоит проходить в любом другом проекте.",{"type":24,"attrs":844,"content":845},{"level":26},[846],{"type":17,"text":847},"Задача",{"type":14,"content":849},[850],{"type":17,"text":851},"Голосовой ввод на сайте и в личных инструментах: человек говорит, получает готовый текст. К этому же классу относится расшифровка звонков и встреч - обычно самый первый реальный ИИ-проект в компании, потому что польза очевидна и данные уже есть.",{"type":14,"content":853},[854],{"type":17,"text":855},"Требования были такие: русский язык, приемлемая задержка, и аудио не должно уезжать в чужие руки без необходимости. Последнее - не паранойя: в звонках клиентов лежат персональные данные, и отправка их наружу превращает техническую задачу в юридическую.",{"type":24,"attrs":857,"content":858},{"level":26},[859],{"type":17,"text":860},"Первый заход: сделать красиво",{"type":14,"content":862},[863],{"type":17,"text":864},"Первым делом я взял готовую потоковую обёртку - из тех, что показывают текст прямо во время речи, слово за словом. Выглядит эффектно, и на демо-роликах всё летает.",{"type":14,"content":866},[867],{"type":17,"text":868},"На сервере без видеокарты она отставала от речи впятеро: 25 секунд речи обрабатывались две минуты. Пользоваться этим нельзя.",{"type":14,"content":870},[871],{"type":17,"text":872},"Сервер тут ни при чём: отдельная машина с быстрыми ядрами, взятая специально под задачу. Дело в подходе: потоковое распознавание постоянно пересчитывает уже сказанное, чтобы уточнить гипотезу, и на процессоре эта переработка съедает всё.",{"type":24,"attrs":874,"content":875},{"level":26},[876],{"type":17,"text":877},"Второй заход: сделать просто",{"type":14,"content":879},[880],{"type":17,"text":881},"Я выбросил потоковость и сделал скучно: человек говорит целиком, запись уходит на сервер одним куском, модель распознаёт её за один проход.",{"type":14,"content":883},[884],{"type":17,"text":885},"Сорок секунд речи обрабатываются за десять. После настройки - в восемь раз быстрее речи: час записи с планёрки превращается в текст за семь минут. Всё на том же сервере без видеокарты.",{"type":14,"content":887},[888],{"type":17,"text":889},"Заодно ушла вторая проблема, о которой я не думал заранее: потоковая выдача даёт рваный текст. Пока модель уточняет гипотезу, фраза на экране дёргается и переписывается. На записи целиком результат сразу чистый.",{"type":24,"attrs":891,"content":892},{"level":26},[893],{"type":17,"text":894},"Третий заход: посчитать на своём железе",{"type":14,"content":896},[897],{"type":17,"text":898},"Отдельная история - обработка на ноутбуке. В современных Маках есть отдельный ускоритель для нейросетей, и собранная под него модель разбирает час разговора за 17 секунд. Разделение на говорящих - примерно столько же. Ноутбук уже куплен, и счёт за минуту распознавания никто не выставляет.",{"type":14,"content":900},[901],{"type":17,"text":902},"Здесь же я собрал грабли, которые стоит знать заранее:",{"type":73,"content":904},[905,911],{"type":76,"content":906},[907],{"type":14,"content":908},[909],{"type":17,"text":910},"Безвентиляторный ноутбук перегревается, если гнать распознавание и разделение говорящих одновременно. Последовательно - те же секунды, но без троттлинга. Параллелить на одном ускорителе бессмысленно.",{"type":76,"content":912},[913],{"type":14,"content":914},[915],{"type":17,"text":916},"Затравка модели (список терминов, чтобы правильно писала специальные слова) должна быть обычной фразой, а не списком. Список, начинающийся со слова \"Термины:\", модель вставляла прямо в расшифровку, а на плохом звуке зацикливалась и повторяла его. Затравку она воспринимает как начало текста и продолжает его. После переписывания живым предложением мусор исчез, и скорость выросла втрое.",{"type":24,"attrs":918,"content":919},{"level":26},[920],{"type":17,"text":921},"Фильтр: когда локально выигрывает",{"type":14,"content":923},[924],{"type":17,"text":925},"Из этой и соседних задач сложилось правило, по которому я развилку прохожу.",{"type":14,"content":927},[928],{"type":17,"marks":929,"text":931},[930],{"type":112},"Локально выигрывает, когда:",{"type":73,"content":933},[934,940,946,952],{"type":76,"content":935},[936],{"type":14,"content":937},[938],{"type":17,"text":939},"нагрузка постоянная и предсказуемая - расшифровка всех звонков, обработка всех документов;",{"type":76,"content":941},[942],{"type":14,"content":943},[944],{"type":17,"text":945},"данные чувствительные и их отправка наружу создаёт отдельную юридическую задачу;",{"type":76,"content":947},[948],{"type":14,"content":949},[950],{"type":17,"text":951},"задача узкая, и под неё есть небольшая специализированная модель;",{"type":76,"content":953},[954],{"type":14,"content":955},[956],{"type":17,"text":957},"нужна независимость от чужой доступности, тарифов и геополитики.",{"type":14,"content":959},[960],{"type":17,"marks":961,"text":963},[962],{"type":112},"Облако выигрывает, когда:",{"type":73,"content":965},[966,972,978],{"type":76,"content":967},[968],{"type":14,"content":969},[970],{"type":17,"text":971},"нагрузка редкая или рваная - железо будет простаивать;",{"type":76,"content":973},[974],{"type":14,"content":975},[976],{"type":17,"text":977},"задача требует рассуждений: разбор смысла, написание текста, принятие решений;",{"type":76,"content":979},[980],{"type":14,"content":981},[982],{"type":17,"text":983},"вы ещё проверяете гипотезу и не знаете, взлетит ли вообще.",{"type":14,"content":985},[986],{"type":17,"text":987},"Практически это чаще всего означает гибрид, и у меня он именно такой: распознавание речи - локально, на своём железе, а причёсывание расшифровки в читаемый текст - облачной моделью. Аудио наружу не уходит, а за интеллект платится там, где он действительно нужен.",{"type":24,"attrs":989,"content":990},{"level":26},[991],{"type":17,"text":992},"Про деньги",{"type":73,"content":994},[995],{"type":76,"content":996},[997],{"type":14,"content":998},[999],{"type":17,"text":1000},"Считайте не стоимость запроса, а стоимость месяца при вашей нагрузке. Облачный счёт растёт вместе с потоком, своё железо покупается один раз. И это ещё не всё: главная строка - часы, которые сейчас тратит на это живой человек, умноженные на его ставку. При постоянном потоке железо окупается быстро, при редких обращениях не окупается никогда.",{"type":24,"attrs":1002,"content":1003},{"level":26},[1004],{"type":17,"text":556},{"type":181,"attrs":1006},{"id":1007,"junction":184,"collection":185},"1f3bb2ac-0689-4d3d-a55f-393549604720",{"type":14,"content":1009},[1010],{"type":17,"text":1011},"Посчитайте на своих цифрах. При ставке 500 рублей в час двадцать часовых созвонов в месяц - это 10 000 рублей чужого времени только на прослушивание, и столько же в следующем месяце. Своё железо проходит те же двадцать часов за пару часов и счёт за минуту не выставляет. Плюс риск: если запись с персональными данными ушла наружу, разбор считается днями руководителя по 7 000 - 10 000 рублей.",{"type":181,"attrs":1013},{"id":1014,"junction":184,"collection":193},"e89df558-4c1d-4ad8-ad47-e2771b55b20e","Весы: монолитный блок против лёгкой формы из тонких линий",{"title":1017,"meta_description":1018,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1019,"additional_fields":1020},"Локально или в облаке: когда локальная модель дешевле API","Когда своё железо окупается, а когда дешевле облачный API. Реальные замеры на распознавании речи и расчёт в рублях на вашем потоке звонков.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:42:48.000Z",[1023,1026],{"sort":210,"tags_id":1024},{"name":1025},"Инструменты",{"sort":26,"tags_id":1027},{"name":579},[1029,1032],{"id":1014,"sort":195,"collection":193,"item":1030},{"cta_variant":232,"heading":233,"body":1031,"button_label":235,"url":195,"glow":206},"У вас копятся записи звонков и встреч, и вы выбираете между своим железом и облаком. Опишите задачу - посчитаю, что дешевле на вашем потоке и что при этом останется внутри компании.",{"id":1007,"sort":195,"collection":185,"item":1033},{"items":1034,"columns":229},[1035,1038,1041],{"lead":1036,"text":1037},"10 000 рублей в месяц","двадцать часов созвонов в месяц, которые сейчас кто-то слушает по ставке 500 рублей в час",{"lead":1039,"text":1040},"7 минут на час записи","столько занимает расшифровка на сервере без видеокарты вместо часа прослушивания",{"lead":227,"text":1042},"день руководителя, съеденный разбором, если запись с персональными данными ушла наружу",{"id":1044,"modified_on":1045},"64bd6f0e-23d1-44b4-9f73-ecf6098c1280","2026-08-27T18:12:51.408Z",{"id":1047,"title":1048,"slug":1049,"excerpt":1050,"content":1051,"cover_alt":1170,"cover_position":195,"reading_time":229,"seo":1171,"robots_index":206,"seo_title":1172,"seo_description":1173,"date_published":1176,"date_modified":195,"source_lead":195,"rubrics":1177,"blocks":1182,"cover":1195},"b4b00a32-20a6-4557-b217-16867693b50b","Работает, но врёт: как геоблокировки ломают ИИ-систему незаметно","geobloki-i-tihie-otkazy","Поиск в системе не работал минимум три недели, а мониторинг был зелёный: ИИ-агент съедал ошибку инструмента и спокойно отвечал по памяти. Разбираю класс поломок, при которых всё \"работает\", - блокировки по географии, тихие отказы и то, как их вообще заметить.",{"type":11,"content":1052},[1053,1065,1070,1074,1078,1082,1087,1091,1095,1099,1103,1108,1112,1116,1121,1129,1137,1141,1145,1149,1152,1156,1160],{"type":14,"content":1054},[1055,1057,1063],{"type":17,"text":1056},"Расскажу про класс поломок, с которым в России теперь сталкивается любой, кто строит ИИ-системы: отказ внешнего сервиса по географическому признаку. ",{"type":17,"marks":1058,"text":1062},[1059],{"type":282,"attrs":1060},{"href":1061},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Favtomatizaciya-kotoraya-padaet","Падение видно сразу",{"type":17,"text":1064},", его чинят за час. Здесь другое: система продолжает отвечать, отчётность зелёная, а результат тихо стал хуже. Сервисы дальше без названий - разговор про класс поломок, названия к нему ничего не добавят.",{"type":24,"attrs":1066,"content":1067},{"level":26},[1068],{"type":17,"text":1069},"Что случилось",{"type":14,"content":1071},[1072],{"type":17,"text":1073},"В одной системе ИИ-ассистент умеет искать в интернете - это отдельный инструмент, который он вызывает, когда своих знаний не хватает. Я полез в журналы по другому поводу и от нечего делать посмотрел статистику вызовов поиска.",{"type":14,"content":1075},[1076],{"type":17,"text":1077},"За всё окно хранения журналов - две недели, 335 вызовов - успешных не было ни одного. Ноль. Поиск был мёртв как минимум с начала месяца.",{"type":14,"content":1079},[1080],{"type":17,"text":1081},"При этом в системе не горело ничего. Запуски числились успешными, пользователи не жаловались, поддержка была спокойна. Причина проста и от этого неприятна: ИИ-агент устроен так, что ошибку инструмента он обрабатывает сам. Инструмент не ответил - агент пожал плечами и ответил по памяти. Формально диалог завершён успешно. Фактически человек получил ответ без свежих данных и не узнал об этом.",{"type":24,"attrs":1083,"content":1084},{"level":26},[1085],{"type":17,"text":1086},"Как отличить гео от сломанного ключа",{"type":14,"content":1088},[1089],{"type":17,"text":1090},"Дальше началась диагностика, которая заняла бы дни, если бы не одна привычка: при странном отказе внешнего сервиса первым делом сравнить его поведение из разных точек.",{"type":14,"content":1092},[1093],{"type":17,"text":1094},"Сервис отвечал ошибкой 403 и страницей-заглушкой вместо данных. С зарубежного адреса тот же самый ключ работал. С двух независимых российских адресов - отказ. А запрос вообще без ключа с тех же российских адресов получал внятную ошибку 401 в json. Значит, сеть проходит, адрес не в бане, отвечает само приложение. Режут именно вызов с ключом.",{"type":14,"content":1096},[1097],{"type":17,"text":1098},"Это важное различение. Битый ключ даёт 401 и внятное сообщение. Гео даёт 403 и страницу-заглушку. Разница в одну цифру, а выводы противоположные: в первом случае перевыпускаете ключ, во втором перевыпуск не поможет никогда.",{"type":14,"content":1100},[1101],{"type":17,"text":1102},"Отдельная ловушка того же семейства: один известный шлюз к языковым моделям отвечает на запросы из дата-центров кодом 403 с формулировкой про политику безопасности, а в другом сценарии - кодом 401. То есть 401 от него с сервера - это не протухший ключ, а тот же самый блок. Я потратил на эту догадку время дважды и теперь держу её записанной.",{"type":24,"attrs":1104,"content":1105},{"level":26},[1106],{"type":17,"text":1107},"Масштаб проблемы шире, чем кажется",{"type":14,"content":1109},[1110],{"type":17,"text":1111},"Проверка соседних сервисов с тех же адресов дала пёструю картину: часть поисковых API режет российские адреса наглухо, часть работает без вопросов. Отдельная история - мессенджеры: исходящие в один популярный мессенджер из российского облака стабильно упираются в таймаут. У этого есть красивое следствие: если алерты о сбоях настроены туда же, то оповещатель падает на отправке оповещения. Про аварии не узнаёт никто, и мониторинг снова зелёный.",{"type":14,"content":1113},[1114],{"type":17,"text":1115},"Общий вывод простой: в 2026 году доступность внешнего сервиса - это не константа, а переменная, зависящая от того, откуда вы вышли в интернет. Причём меняется она без предупреждения и без письма на почту.",{"type":24,"attrs":1117,"content":1118},{"level":26},[1119],{"type":17,"text":1120},"Что с этим делать",{"type":14,"content":1122},[1123,1127],{"type":17,"marks":1124,"text":1126},[1125],{"type":112},"Считать внешний сервис ненадёжным по умолчанию:",{"type":17,"text":1128}," канал до него вам не принадлежит. И не гасить его ошибки внутри агента молча - если инструмент не ответил, это должно попадать в журнал сбоев и в оповещения, даже когда агент справился без него.",{"type":14,"content":1130},[1131,1135],{"type":17,"marks":1132,"text":1134},[1133],{"type":112},"Ловить тихие отказы отдельно.",{"type":17,"text":1136}," Мониторинг \"процесс завершился успешно\" здесь бесполезен. Нужны метрики результата: сколько вызовов инструмента вернули данные, а не ошибку; какая доля ответов агента опиралась на поиск. Хорошая проверка на здравый смысл - раз в месяц открыть журналы и посмотреть, что вообще происходит внутри успешных запусков.",{"type":14,"content":1138},[1139],{"type":17,"text":1140},"Весь мой трафик к зарубежным сервисам выходит наружу через одну точку, которой я управляю.",{"type":14,"content":1142},[1143],{"type":17,"text":1144},"Держать запасного поставщика: второй сервис того же назначения, заранее проверенный и настроенный, на который переключаются одной настройкой. И не строить алерты на канале, который может отвалиться, - оповещения о сбоях должны идти по маршруту, независимому от того, что они охраняют.",{"type":24,"attrs":1146,"content":1147},{"level":26},[1148],{"type":17,"text":556},{"type":181,"attrs":1150},{"id":1151,"junction":184,"collection":185},"2c691b05-9b0c-4b2d-906b-c6dc1369d67e",{"type":14,"content":1153},[1154],{"type":17,"text":1155},"Считайте на своих числах. Три недели бот отвечал по памяти - прикиньте, сколько таких ответов пришлось переделывать руками. Например, двадцать штук по часу работы при ставке 500 рублей - это 10 000 рублей. Дороже другое: заявка, потерянная на устаревшем ответе, в B2B стоит от 3 000 до 15 000 рублей. И даже полчаса в журналах раз в месяц - это 250 рублей при той же ставке.",{"type":14,"content":1157},[1158],{"type":17,"text":1159},"Если ваша система висит на зарубежном API, следующий вопрос - что перенести к себе. В соседней статье считаю, где своё железо реально выигрывает, а где это лишние деньги.",{"type":14,"content":1161},[1162,1164],{"type":17,"text":1163},"Читать дальше: ",{"type":17,"marks":1165,"text":1169},[1166],{"type":282,"attrs":1167},{"href":1168},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Flokalno-ili-v-oblake","Локально или в облаке: где своё железо реально выигрывает у API","Ровный ряд горящих индикаторов и оборванный кабель за панелью",{"title":1172,"meta_description":1173,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1174,"additional_fields":1175},"Геоблокировки и ИИ-сервисы: тихие отказы, которые не видно в мониторинге","Поиск не работал три недели, а система считала запуски успешными: ИИ-агент съедал ошибку инструмента и отвечал по памяти. Как ловить тихие отказы и что делать с блокировками по IP.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:35:48.000Z",[1178,1180],{"sort":210,"tags_id":1179},{"name":1025},{"sort":26,"tags_id":1181},{"name":579},[1183],{"id":1151,"sort":195,"collection":185,"item":1184},{"items":1185,"columns":229},[1186,1189,1192],{"lead":1187,"text":1188},"0 из 335","вызовов поиска сработали за две недели, а система считала запуски успешными",{"lead":1190,"text":1191},"от 3 000 рублей","цена одной заявки в B2B, потерянной на ответе без свежих данных",{"lead":1193,"text":1194},"1 точка вместо 15","столько мест правите при смене выхода наружу, если канал один",{"id":1196,"modified_on":1197},"9f4b69c4-2c6f-438a-abc2-5de5ab33ab96","2026-08-27T18:12:56.230Z",{"id":1199,"title":1200,"slug":1201,"excerpt":1202,"content":1203,"cover_alt":1398,"cover_position":195,"reading_time":196,"seo":1399,"robots_index":206,"seo_title":1400,"seo_description":1401,"date_published":1404,"date_modified":195,"source_lead":195,"rubrics":1405,"blocks":1410,"cover":1422},"de032c5c-0df8-45d9-9d9e-7405da29fc47","152-ФЗ для маленького сайта: что реально нужно сделать","152-fz-dlya-malenkogo-sayta","Сайт с одной формой \"оставьте телефон\" - это уже обработка персональных данных. Разбираю минимальный рабочий набор для маленького сайта: отдельное согласие, доказательство того, что человек его дал, аналитика после согласия, внутренние акты и вторая форма уведомления в РКН, о которой почти все забывают.",{"type":11,"content":1204},[1205,1209,1213,1217,1222,1226,1230,1235,1239,1243,1247,1252,1256,1261,1265,1269,1273,1278,1282,1286,1290,1295,1299,1331,1336,1340,1350,1354,1359,1371,1375,1379,1382,1386,1390],{"type":14,"content":1206},[1207],{"type":17,"text":1208},"Я недавно приводил в порядок собственный сайт: сверял, что он реально делает с данными, с тем, чего требует закон. Разрыв нашёлся. Рассказываю, из чего состоит минимальный рабочий набор, - для владельцев сайта-визитки с формой, у которых нет отдела комплаенса.",{"type":14,"content":1210},[1211],{"type":17,"text":1212},"Сайт с одной формой \"оставьте телефон, мы перезвоним\" - это уже обработка персональных данных. Со всем, что из этого следует: политикой, согласием, обязанностями и уведомлением в Роскомнадзор. Штрафы за нарушения в последние годы выросли до величин, которые для малого бизнеса уже чувствительны.",{"type":14,"content":1214},[1215],{"type":17,"text":1216},"Оговорка: я инженер, а не юрист. Ниже - инженерная часть работы. Формулировки документов под конкретный бизнес стоит показать юристу, это недорого.",{"type":24,"attrs":1218,"content":1219},{"level":26},[1220],{"type":17,"text":1221},"Согласие - отдельный документ",{"type":14,"content":1223},[1224],{"type":17,"text":1225},"Самая частая ошибка: чекбокс \"согласен с политикой конфиденциальности\". Политика - информационный документ о том, как вы обрабатываете данные. Согласие - волеизъявление человека, документ другого жанра, и он должен быть отдельным: у меня теперь политика по своему адресу и согласие по своему, а чекбокс ссылается на согласие.",{"type":14,"content":1227},[1228],{"type":17,"text":1229},"Второе: согласие на обработку заявки и согласие на рассылку - разные вещи, и складывать их в одну галочку нельзя. Первая обязательна для отправки формы, вторая - отдельная и необязательная.",{"type":24,"attrs":1231,"content":1232},{"level":26},[1233],{"type":17,"text":1234},"Галочка должна стоять там, где начинается сбор",{"type":14,"content":1236},[1237],{"type":17,"text":1238},"У меня на сайте многошаговая форма: на первом шаге человек описывает задачу, на втором оставляет контакт. Чекбокс изначально стоял на втором шаге - рядом с телефоном, как у всех.",{"type":14,"content":1240},[1241],{"type":17,"text":1242},"Это было неправильно. Текст задачи - тоже данные о человеке, и они уходят на сервер уже на первом шаге, до всякого телефона. Галочка переехала на первый шаг: без неё форма не отправляется вообще - ни задача, ни контакт.",{"type":14,"content":1244},[1245],{"type":17,"text":1246},"Общее правило: согласие берётся до первой передачи данных, а не перед последней.",{"type":24,"attrs":1248,"content":1249},{"level":26},[1250],{"type":17,"text":1251},"Проверять согласие должен сервер",{"type":14,"content":1253},[1254],{"type":17,"text":1255},"Галочка на странице - это то, что видит человек. Отправить данные мимо страницы, вообще её не открывая, может кто угодно: и тогда в базе окажется контакт без согласия, а вы об этом не узнаете. Поэтому то же самое проверяет сервер: нет отметки о согласии - заявка не принимается. От этого зависит, что вы сможете сказать про свою базу, когда спросят.",{"type":24,"attrs":1257,"content":1258},{"level":26},[1259],{"type":17,"text":1260},"Факт согласия надо зафиксировать",{"type":14,"content":1262},[1263],{"type":17,"text":1264},"Согласие, которое нельзя доказать, юридически бесполезно: база у вас есть, а подтвердить, что люди разрешили себя в неё записать, нечем. Значит, вместе с заявкой сохраняется адрес в сети, с которого она пришла, браузер и, главное, версия документа, с которым человек согласился.",{"type":14,"content":1266},[1267],{"type":17,"text":1268},"Последнее часто забывают. Текст согласия со временем меняется, а доказывать придётся не то, что человек согласился вообще, а с чем именно он согласился в тот день.",{"type":14,"content":1270},[1271],{"type":17,"text":1272},"Заодно я убрал автоматическую простановку отметки о согласии на рассылку при любом контакте с человеком: раньше она ставилась всегда, просто потому, что так было проще написать.",{"type":24,"attrs":1274,"content":1275},{"level":26},[1276],{"type":17,"text":1277},"Аналитика - только после согласия",{"type":14,"content":1279},[1280],{"type":17,"text":1281},"Счётчик посещаемости грузится до того, как человек что-то нажал, и начинает собирать данные о нём сразу. Решается это честной плашкой: счётчик не запускается, пока согласия нет.",{"type":14,"content":1283},[1284],{"type":17,"text":1285},"Ключевая деталь - в плашке должна быть кнопка \"Отклонить\". Плашка с единственной кнопкой \"Принять\" согласием не является: выбора нет.",{"type":14,"content":1287},[1288],{"type":17,"text":1289},"Сам сервис аналитики при этом надо честно назвать в политике обработчиком по поручению - он обрабатывает данные ваших посетителей по вашему заданию.",{"type":24,"attrs":1291,"content":1292},{"level":26},[1293],{"type":17,"text":1294},"Документы, которые никто не видит, но которые должны быть",{"type":14,"content":1296},[1297],{"type":17,"text":1298},"Кроме публичных политики и согласия, есть внутренние документы. Их не публикуют, они лежат в папке и предъявляются при проверке:",{"type":73,"content":1300},[1301,1311,1321],{"type":76,"content":1302},[1303],{"type":14,"content":1304},[1305,1309],{"type":17,"marks":1306,"text":1308},[1307],{"type":112},"Акт оценки вреда и акт определения уровня защищённости.",{"type":17,"text":1310}," Для сайта-визитки уровень обычно четвёртый, самый мягкий, но зафиксировать это надо письменно, с перечнем лиц, допущенных к данным. Если вы работаете один - в перечне будет одна фамилия, и это нормально.",{"type":76,"content":1312},[1313],{"type":14,"content":1314},[1315,1319],{"type":17,"marks":1316,"text":1318},[1317],{"type":112},"Памятка на случай утечки.",{"type":17,"text":1320}," Закон даёт 24 часа на уведомление регулятора о факте инцидента и 72 часа на результаты внутреннего расследования. В момент инцидента искать, куда и что писать, поздно. Памятка занимает страницу.",{"type":76,"content":1322},[1323],{"type":14,"content":1324},[1325,1329],{"type":17,"marks":1326,"text":1328},[1327],{"type":112},"Регламент чистки базы.",{"type":17,"text":1330}," Данные нельзя хранить вечно: истёк срок - удаляются, с составлением акта. Даже если реальная чистка у вас случится через три года, регламент должен быть написан сейчас.",{"type":24,"attrs":1332,"content":1333},{"level":26},[1334],{"type":17,"text":1335},"Уведомление в Роскомнадзор - и вторая форма, о которой забывают",{"type":14,"content":1337},[1338],{"type":17,"text":1339},"Уведомление о намерении обрабатывать персональные данные подаётся через портал регулятора и требует подтверждённой учётной записи, поэтому подаёт его лично владелец бизнеса: подрядчик может только подготовить текст.",{"type":14,"content":1341},[1342,1344,1348],{"type":17,"text":1343},"А вот деталь, на которой я сам сначала ошибся. Если данные передаются за границу - а это касается всех, кто использует зарубежные сервисы, - трансграничная передача требует ",{"type":17,"marks":1345,"text":1347},[1346],{"type":112},"отдельного",{"type":17,"text":1349}," уведомления по своей форме. Соответствующий раздел в обычном уведомлении его не заменяет. Подавать надо до начала передачи, а в страны без адекватной защиты - только после истечения срока рассмотрения.",{"type":14,"content":1351},[1352],{"type":17,"text":1353},"Здесь же полезно честно ответить себе на вопрос, что именно уезжает наружу. У меня, например, текст задачи уходит в языковую модель, а контактные данные - нет: это разные ответы, и в уведомлении они выглядят по-разному.",{"type":24,"attrs":1355,"content":1356},{"level":26},[1357],{"type":17,"text":1358},"Побочная находка",{"type":14,"content":1360},[1361,1363,1369],{"type":17,"text":1362},"Пока я разбирался, что вообще происходит с данными, нашлась ",{"type":17,"marks":1364,"text":1368},[1365],{"type":282,"attrs":1366},{"href":1367},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Futechka-bazy-cherez-bekapy","настоящая утечка",{"type":17,"text":1370}," - и совсем не там, где я её искал. Забытый сценарий автоматизации, оставшийся от закрытого проекта, продолжал работать и отдавал наружу тестовую запись с персональными данными. Формально он был выключен, фактически - отвечал.",{"type":14,"content":1372},[1373],{"type":17,"text":1374},"Это лучший аргумент в пользу такой ревизии. Начинать стоит с инвентаризации, а документы писать после: какие данные вы собираете, где они лежат и кому уезжают. Соответствие закону - приятный побочный эффект; главное - вы наконец узнаёте, что ваша система на самом деле делает с чужими данными.",{"type":24,"attrs":1376,"content":1377},{"level":26},[1378],{"type":17,"text":179},{"type":181,"attrs":1380},{"id":1381,"junction":184,"collection":185},"5fabd5d7-b32b-456f-a534-9c4dc8cd7baa",{"type":14,"content":1383},[1384],{"type":17,"text":1385},"Считайте на своих цифрах. Заявка в B2B стоит 3 000 - 15 000 рублей: база из 100 контактов - это 300 000 - 1 500 000 рублей уже потраченного бюджета, и без доказуемого согласия пользоваться ей нельзя. Дальше риск: закон даёт 24 часа на уведомление об утечке и 72 часа на отчёт о расследовании, а день руководителя стоит 7 000 - 10 000 рублей. Документы и памятка пишутся один раз.",{"type":14,"content":1387},[1388],{"type":17,"text":1389},"Персональные данные - не единственное, за что к сайту прилетает претензия: вторая частая история - чужие фотографии. Показываю, как мы закрыли досудебную претензию, заменив на живом сайте 211 картинок.",{"type":14,"content":1391},[1392,1393],{"type":17,"text":1163},{"type":17,"marks":1394,"text":7},[1395],{"type":282,"attrs":1396},{"href":1397},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fpretenziya-za-fotografiyu","Светящаяся галочка над ровной стопкой листов",{"title":1400,"meta_description":1401,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1402,"additional_fields":1403},"152-ФЗ для сайта с формой заявки: минимальный рабочий набор","Что нужно сделать сайту с одной формой обратной связи, чтобы соответствовать 152-ФЗ: отдельное согласие, фиксация факта, метрика после согласия, уведомление РКН и трансграничная передача.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:28:48.000Z",[1406,1408],{"sort":210,"tags_id":1407},{"name":212},{"sort":26,"tags_id":1409},{"name":215},[1411],{"id":1381,"sort":195,"collection":185,"item":1412},{"items":1413,"columns":229},[1414,1417,1419],{"lead":1415,"text":1416},"300 000 - 1 500 000 рублей","столько стоила база из 100 заявок; без доказуемого согласия писать по ней нельзя",{"lead":227,"text":1418},"день руководителя, а без готовой памятки на разбор инцидента уходит именно он",{"lead":1420,"text":1421},"24 и 72 часа","срок уведомить регулятора об утечке и отчитаться о расследовании",{"id":1423,"modified_on":1424},"5735faa8-229b-403a-8d49-f32e2eb3592b","2026-08-27T18:13:00.511Z",{"id":1426,"title":1427,"slug":1428,"excerpt":1429,"content":1430,"cover_alt":1580,"cover_position":195,"reading_time":229,"seo":1581,"robots_index":206,"seo_title":1582,"seo_description":1583,"date_published":1586,"date_modified":195,"source_lead":195,"rubrics":1587,"blocks":1592,"cover":1605},"e72b3463-3c8c-4645-84c6-09dfee440a20","Почему письма уходят в спам: SPF, DKIM и DMARC простыми словами","pochemu-pisma-uhodyat-v-spam","У моего домена почта работала, письма отправлялись, всё выглядело нормально - а двух из трёх записей, отвечающих за доверие к отправителю, не было вовсе. Объясняю SPF, DKIM и DMARC человеческим языком: что каждая делает, в каком порядке ставить и как проверить результат за две минуты.",{"type":11,"content":1431},[1432,1436,1440,1445,1449,1453,1457,1462,1466,1470,1474,1479,1483,1487,1491,1495,1500,1504,1508,1520,1525,1529,1533,1553,1557,1561,1564,1568,1572],{"type":14,"content":1433},[1434],{"type":17,"text":1435},"Я собирался включить на сайте почтовую рассылку и по привычке начал с проверки домена. SPF на месте - его поставил хостинг сам, когда подключал почту. DKIM нет. DMARC нет.",{"type":14,"content":1437},[1438],{"type":17,"text":1439},"Почта \"просто работает\" ровно до того момента, когда вы начинаете отправлять что-то массовое или важное. Тогда и выясняется, что часть писем не доходит, а вы об этом не знаете: уведомлений о попадании в спам не бывает. Со стороны это выглядит как молчание клиента: вы думаете, что человек не ответил, а он просто не увидел ваше письмо. И это заявки, за которые вы уже заплатили.",{"type":24,"attrs":1441,"content":1442},{"level":26},[1443],{"type":17,"text":1444},"SPF: кому разрешено писать от вашего имени",{"type":14,"content":1446},[1447],{"type":17,"text":1448},"Представьте, что кто угодно может отправить бумажное письмо на бланке вашей компании. Примерно так устроена почта по умолчанию: адрес отправителя в письме - это просто текст, его можно написать любой.",{"type":14,"content":1450},[1451],{"type":17,"text":1452},"SPF - это список: с каких серверов разрешено отправлять письма от вашего домена. Он лежит в настройках домена, и почтовые системы его проверяют. Пришло письмо от вас с сервера, которого нет в списке, - повод для подозрений.",{"type":14,"content":1454},[1455],{"type":17,"text":1456},"Эта запись есть почти у всех, потому что хостинг обычно ставит её сам при подключении почты. Остальные две он за вас не поставит.",{"type":24,"attrs":1458,"content":1459},{"level":26},[1460],{"type":17,"text":1461},"DKIM: подпись, которую нельзя подделать",{"type":14,"content":1463},[1464],{"type":17,"text":1465},"SPF отвечает только за то, что письмо пришло с разрешённого сервера. DKIM - про само письмо: ваш сервер подписывает каждое исходящее письмо, а получатель сверяет подпись с образцом, который лежит в настройках домена. Сходится - письмо ваше, и по дороге его не правили.",{"type":14,"content":1467},[1468],{"type":17,"text":1469},"Разница практическая. SPF ломается при пересылке письма: адрес отправителя остался ваш, а сервер уже чужой. DKIM пересылку переживает, потому что подпись живёт в самом письме.",{"type":14,"content":1471},[1472],{"type":17,"text":1473},"Именно этой записи у меня не было. И тут выяснилась деталь, из-за которой её и не бывает у многих: на Beget DKIM не включается кнопкой в панели - его включает поддержка по обращению. Пишете тикет, просите подписывать исходящую почту, и запись появляется в настройках домена сама. Работы на несколько минут и ноль рублей, но об этом надо знать.",{"type":24,"attrs":1475,"content":1476},{"level":26},[1477],{"type":17,"text":1478},"DMARC: что делать с письмами, которые не прошли проверку",{"type":14,"content":1480},[1481],{"type":17,"text":1482},"Первые две записи описывают, как проверить письмо. DMARC отвечает на следующий вопрос: а что делать, если проверка не прошла?",{"type":14,"content":1484},[1485],{"type":17,"text":1486},"Вариантов три: ничего не делать и просто наблюдать, отправить в спам или отклонить совсем. Плюс адрес, на который почтовые системы будут присылать отчёты - кто и откуда шлёт письма от вашего имени.",{"type":14,"content":1488},[1489],{"type":17,"text":1490},"Порядок здесь важен, и его нарушение - главная ошибка самостоятельной настройки. Нельзя начинать со строгого режима: если DKIM не настроен или какой-то ваш сервис шлёт письма мимо списка, вы своими руками отправите в спам собственную почту.",{"type":14,"content":1492},[1493],{"type":17,"text":1494},"Правильная последовательность: сначала мягкий режим наблюдения с отчётами, потом настройка DKIM, потом проверка боем, и только потом ужесточение. Я именно так и делал: поставил DMARC, добился DKIM, убедился, что обе проверки проходят, и после этого поднял режим до отправки подозрительного в спам.",{"type":24,"attrs":1496,"content":1497},{"level":26},[1498],{"type":17,"text":1499},"Как проверить за две минуты",{"type":14,"content":1501},[1502],{"type":17,"text":1503},"Не надо ставить инструменты и разбираться в заголовках. Есть бесплатные сервисы-автоответчики: вы отправляете письмо со своего рабочего адреса на специальный адрес и получаете в ответ полный разбор - прошёл ли SPF, прошёл ли DKIM, что видит принимающая сторона.",{"type":14,"content":1505},[1506],{"type":17,"text":1507},"Я пользуюсь таким после каждого изменения. Ответ приходит за минуту, и в нём прямым текстом написано pass или fail по каждому пункту. Это единственный способ убедиться, что вы настроили не то, что хотели, а то, что получилось.",{"type":14,"content":1509},[1510,1512,1518],{"type":17,"text":1511},"Отдельная грабля для тех, кто правит настройки домена через программный интерфейс хостинга: у Beget операция изменения записей перезаписывает всю группу целиком и ",{"type":17,"marks":1513,"text":1517},[1514],{"type":282,"attrs":1515},{"href":1516},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fgeobloki-i-tihie-otkazy","молча удаляет то, что вы не передали",{"type":17,"text":1519},". После любой такой правки проверяйте, на месте ли записи почты и адреса сайта.",{"type":24,"attrs":1521,"content":1522},{"level":26},[1523],{"type":17,"text":1524},"Бонус: аватар отправителя",{"type":14,"content":1526},[1527],{"type":17,"text":1528},"Раз уж речь о доверии к письму - вопрос, который мне задают чаще, чем про DKIM: как сделать, чтобы рядом с письмом показывалась картинка компании, а не серый кружок с буквой.",{"type":14,"content":1530},[1531],{"type":17,"text":1532},"Ответ неприятный и разный для разных почт:",{"type":73,"content":1534},[1535,1541,1547],{"type":76,"content":1536},[1537],{"type":14,"content":1538},[1539],{"type":17,"text":1540},"В Gmail единственный официальный путь - технология BIMI, а она требует сертификата, подтверждающего права на товарный знак. Это от 1000 долларов в год и обязательный зарегистрированный знак. Для индивидуального предпринимателя без товарного знака - недоступно в принципе.",{"type":76,"content":1542},[1543],{"type":14,"content":1544},[1545],{"type":17,"text":1546},"В Mail.ru делается бесплатно через кабинет почтмейстера: подтверждаете домен записью в его настройках и загружаете картинку. Требования простые - квадрат, непрозрачный фон, читаемость в мелком размере.",{"type":76,"content":1548},[1549],{"type":14,"content":1550},[1551],{"type":17,"text":1552},"В Яндексе встроенного способа нет, работает сервис глобальных аватаров, привязанный к адресу отправителя.",{"type":14,"content":1554},[1555],{"type":17,"text":1556},"Но заниматься этим стоит только после того, как настроены DKIM и DMARC. Без них красивое письмо просто не увидят.",{"type":24,"attrs":1558,"content":1559},{"level":26},[1560],{"type":17,"text":179},{"type":181,"attrs":1562},{"id":1563,"junction":184,"collection":185},"90ad1d09-37c4-4b49-8161-0659e3a1202c",{"type":14,"content":1565},[1566],{"type":17,"text":1567},"Считайте на своих числах. Заявка в B2B стоит от 3 000 до 15 000 рублей, и при среднем чеке 50 000 рублей и конверсии 30 процентов она возвращает около 15 000 рублей. Каждое письмо, ушедшее в спам, - это заявка, за которую вы уже заплатили, и она не сработала. С другой стороны весов - тикет в поддержку хостинга на несколько минут, ноль рублей и две минуты на проверку.",{"type":14,"content":1569},[1570],{"type":17,"text":1571},"Письмо в спаме никто не отбивает уведомлением - вы просто не знаете, что клиент его не увидел. Так же тихо ломаются интеграции и выгрузки: разбираю, какие уведомления ставить, чтобы не отключить их на второй день.",{"type":14,"content":1573},[1574,1575],{"type":17,"text":1163},{"type":17,"marks":1576,"text":1579},[1577],{"type":282,"attrs":1578},{"href":1061},"Автоматизация всегда падает: вопрос лишь в том, узнаете ли вы об этом","Три конверта проходят через арки-штампы, четвёртый отложен в тень",{"title":1582,"meta_description":1583,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1584,"additional_fields":1585},"SPF, DKIM, DMARC: как настроить, чтобы письма доходили","Три записи в DNS, без которых рассылка и даже обычные письма уезжают в спам. Что каждая означает, в каком порядке их ставить и как проверить результат за две минуты.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:21:48.000Z",[1588,1590],{"sort":210,"tags_id":1589},{"name":1025},{"sort":26,"tags_id":1591},{"name":215},[1593],{"id":1563,"sort":195,"collection":185,"item":1594},{"items":1595,"columns":229},[1596,1599,1602],{"lead":1597,"text":1598},"0 рублей","Столько стоит DKIM: у Beget его включает поддержка по вашему тикету",{"lead":1600,"text":1601},"15 000 рублей","Столько в среднем приносит одна заявка при чеке 50 000 рублей и конверсии 30 процентов",{"lead":1603,"text":1604},"2 минуты","Проверка после каждой правки: письмо автоответчику и разбор pass или fail",{"id":1606,"modified_on":1607},"2191cc54-9d87-49bc-bd39-b656d1a2a18f","2026-08-27T18:13:09.511Z",{"id":1609,"title":1610,"slug":1611,"excerpt":1612,"content":1613,"cover_alt":1758,"cover_position":195,"reading_time":229,"seo":1759,"robots_index":206,"seo_title":1760,"seo_description":1761,"date_published":1764,"date_modified":195,"source_lead":195,"rubrics":1765,"blocks":1770,"cover":1785},"25708556-4348-4e69-8cad-64ded3ab4fee","Поиск по смыслу: когда векторная база окупается, а когда это лишний слой","poisk-po-smyslu-vektornaya-baza","\"Нам нужна база знаний, чтобы бот отвечал по нашим документам\" - за этой фразой стоит векторный поиск. Разбираю, где он окупается, где вместо него нужен обычный запрос, и почему уменьшение числа найденных фрагментов с 25-31 до 15 удешевило работу и не испортило ответы.",{"type":11,"content":1614},[1615,1619,1624,1628,1632,1636,1641,1645,1653,1661,1666,1670,1674,1678,1682,1687,1691,1703,1707,1711,1716,1724,1732,1736,1744,1748,1751,1755],{"type":14,"content":1616},[1617],{"type":17,"text":1618},"Векторный поиск, он же поиск по смыслу, - это то, что стоит за просьбой про базу знаний для бота. Иногда он решает задачу целиком. Иногда это дорогой способ сделать хуже, чем обычный фильтр в базе данных. Дальше - чем он отличается от привычного поиска, где выигрывает и что ломается при внедрении, на том, что я видел в проде.",{"type":24,"attrs":1620,"content":1621},{"level":26},[1622],{"type":17,"text":1623},"В чём разница",{"type":14,"content":1625},[1626],{"type":17,"text":1627},"Обычный поиск ищет слова. Вы вводите \"рассрочка\", он находит документы, где написано \"рассрочка\". Если в документе написано \"оплата частями\", вы его не найдёте.",{"type":14,"content":1629},[1630],{"type":17,"text":1631},"Векторный поиск работает иначе. Каждый кусок текста заранее превращается в набор чисел, описывающий его смысл, и складывается в специальную базу. Запрос превращается в такой же набор чисел, и система ищет ближайшие по смыслу. \"Оплата частями\" и \"рассрочка\" оказываются рядом, хотя ни одна буква не совпадает.",{"type":14,"content":1633},[1634],{"type":17,"text":1635},"Отсюда и область применения: он нужен там, где одно и то же говорят разными словами.",{"type":24,"attrs":1637,"content":1638},{"level":26},[1639],{"type":17,"text":1640},"Где он реально окупается",{"type":14,"content":1642},[1643],{"type":17,"text":1644},"Лучше всего я видел это на закрытой платформе, где участники ищут друг друга под конкретный запрос - \"кто у нас разбирается в логистике для маркетплейсов\". Профили заполнены свободным текстом, каждый пишет о себе как умеет. Никакой фильтр по полям тут не работает, а поиск по смыслу работает.",{"type":14,"content":1646},[1647,1651],{"type":17,"marks":1648,"text":1650},[1649],{"type":112},"Обращения и заявки.",{"type":17,"text":1652}," \"Не приходит письмо со ссылкой\", \"не могу подтвердить почту\", \"не активируется аккаунт\" - это одна проблема, описанная тремя людьми. Поиск по смыслу связывает их с одной инструкцией.",{"type":14,"content":1654},[1655,1659],{"type":17,"marks":1656,"text":1658},[1657],{"type":112},"Внутренние документы и регламенты.",{"type":17,"text":1660}," Классический случай: сотрудник задаёт вопрос человеческим языком, а ответ лежит в регламенте, написанном канцеляритом.",{"type":24,"attrs":1662,"content":1663},{"level":26},[1664],{"type":17,"text":1665},"Где он не нужен",{"type":14,"content":1667},[1668],{"type":17,"text":1669},"Здесь я обычно останавливаю разговор на входе, потому что векторную базу часто просят там, где нужен обычный запрос.",{"type":14,"content":1671},[1672],{"type":17,"text":1673},"Всё, что описывается точными признаками, надо искать обычными средствами: заказы за период, клиенты из города, договоры на сумму больше миллиона, товар с артикулом. Смысл тут ни при чём, а нечёткий поиск по числам и датам даёт нечёткие результаты - что как раз плохо.",{"type":14,"content":1675},[1676],{"type":17,"text":1677},"Правильная схема почти всегда в два шага: сначала обычный фильтр отбирает нужное по точным признакам - город, период, сумма, - а поиск по смыслу разбирается уже с тем, что осталось. Такой порядок и точнее, и дешевле: поиск по смыслу работает уже с отфильтрованным остатком, а не со всей базой.",{"type":14,"content":1679},[1680],{"type":17,"text":1681},"И отдельно: если ваши документы - это пятнадцать страниц регламента, векторная база не нужна. Современная модель прочитает их целиком за один запрос, а вы не платите за лишний слой и за того, кто его обслуживает. Технология начинает окупаться, когда документов сотни и разом в модель они уже не влезают.",{"type":24,"attrs":1683,"content":1684},{"level":26},[1685],{"type":17,"text":1686},"Больше найденного - хуже ответ",{"type":14,"content":1688},[1689],{"type":17,"text":1690},"Самое неочевидное для тех, кто внедряет впервые.",{"type":14,"content":1692},[1693,1695,1701],{"type":17,"text":1694},"Логика подсказывает: чем больше подходящих фрагментов мы отдадим модели, тем полнее будет ответ. На практике наоборот. ",{"type":17,"marks":1696,"text":1700},[1697],{"type":282,"attrs":1698},{"href":1699},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fskolko-stoit-ii-v-prode","Мы снижали количество подтягиваемых фрагментов",{"type":17,"text":1702}," с 25-31 до 15, а в одном процессе - с 60 до 20. Расход на модель упал пропорционально, а ответы хуже не стали - правда, замера качества до и после у меня нет, только наблюдение.",{"type":14,"content":1704},[1705],{"type":17,"text":1706},"Дальше - моё объяснение, а не измеренный факт. Пятнадцать фрагментов, из которых три релевантны, - это три полезных куска и двенадцать отвлекающих. Модель тратит внимание на мусор и иногда цепляется за него в ответе.",{"type":14,"content":1708},[1709],{"type":17,"text":1710},"Практический вывод: количество фрагментов - это настройка, которую надо подбирать замером на реальных вопросах, а не ставить \"побольше, на всякий случай\".",{"type":24,"attrs":1712,"content":1713},{"level":26},[1714],{"type":17,"text":1715},"Что ломается при внедрении",{"type":14,"content":1717},[1718,1722],{"type":17,"marks":1719,"text":1721},[1720],{"type":112},"Нарезка документов.",{"type":17,"text":1723}," Главный рычаг качества и место, где обычно всё портится. Если резать текст механически по количеству символов, таблица разъедется пополам, а пункт регламента потеряет заголовок и станет бессмысленным. Резать надо по смысловым границам, а к каждому куску добавлять контекст: из какого документа, из какого раздела.",{"type":14,"content":1725},[1726,1730],{"type":17,"marks":1727,"text":1729},[1728],{"type":112},"Устаревание",{"type":17,"text":1731}," замечают последним. Данные меняются, а индекс - нет: регламент обновили, а бот полгода отвечает по старой редакции и делает это уверенно. Нужен процесс переиндексации, который запускается при изменении документа.",{"type":14,"content":1733},[1734],{"type":17,"text":1735},"Это данные, которые живут только внутри неё: если базу снесёт при обновлении, из репозитория она не вернётся - индекс придётся собирать заново по всем документам, а это время и повторный счёт за модель. Поэтому автоматическое обновление таких сервисов у нас выключено намеренно: одно неаккуратное движение может пересоздать хранилище пустым.",{"type":14,"content":1737},[1738,1742],{"type":17,"marks":1739,"text":1741},[1740],{"type":112},"Оценка качества.",{"type":17,"text":1743}," Без набора реальных вопросов с проверенными ответами вы не отличите хорошую настройку от плохой. Сорок вопросов, собранных у сотрудников, - это полдня работы, и они окупаются на первой же итерации.",{"type":24,"attrs":1745,"content":1746},{"level":26},[1747],{"type":17,"text":556},{"type":181,"attrs":1749},{"id":1750,"junction":184,"collection":185},"d5307244-2691-463f-bb0a-caf86049daf7",{"type":14,"content":1752},[1753],{"type":17,"text":1754},"Посчитайте на своих цифрах. Пятеро сотрудников по часу в день ищут ответ в регламентах и переспрашивают друг друга - это 100 часов в месяц, при ставке 500 рублей в час 50 000 рублей. Поиск по смыслу снимает не всё, но большую часть. Отдельно экономит настройка: пятнадцать фрагментов вместо тридцати - вдвое меньший счёт за модель на каждом вопросе.",{"type":181,"attrs":1756},{"id":1757,"junction":184,"collection":193},"5c574a9c-55b4-4ad6-b82a-10ee6f24bbc7","Облако точек со скоплениями, тонкие лучи от одной точки к ближайшим",{"title":1760,"meta_description":1761,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1762,"additional_fields":1763},"Векторный поиск и RAG: когда он нужен бизнесу, а когда нет","Чем поиск по смыслу отличается от поиска по словам, где он реально окупается, почему больше найденных фрагментов ухудшает ответ и что ломается при внедрении.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:14:48.000Z",[1766,1768],{"sort":210,"tags_id":1767},{"name":1025},{"sort":26,"tags_id":1769},{"name":579},[1771,1774],{"id":1757,"sort":195,"collection":193,"item":1772},{"cta_variant":232,"heading":233,"body":1773,"button_label":235,"url":195,"glow":206},"У вас сотни регламентов, договоров и переписок, а сотрудники ищут в них ответ руками. Опишите задачу - посчитаю, нужен ли тут поиск по смыслу и во сколько он встанет.",{"id":1750,"sort":195,"collection":185,"item":1775},{"items":1776,"columns":229},[1777,1780,1783],{"lead":1778,"text":1779},"50 000 рублей","100 часов поиска ответов в документах при ставке 500 рублей в час",{"lead":1781,"text":1782},"15 вместо 30","фрагментов на запрос - счёт за модель вдвое меньше, ответы хуже не стали",{"lead":1597,"text":1784},"цена векторной базы, если документов пятнадцать страниц: модель прочитает их целиком",{"id":1786,"modified_on":1787},"0eaa4b61-42ab-4d12-b6d0-8bf934a901f9","2026-08-27T18:13:16.901Z",{"id":1789,"title":1790,"slug":1791,"excerpt":1792,"content":1793,"cover_alt":1929,"cover_position":195,"reading_time":229,"seo":1930,"robots_index":206,"seo_title":1931,"seo_description":1932,"date_published":1935,"date_modified":195,"source_lead":195,"rubrics":1936,"blocks":1942,"cover":1954},"ef54871a-190a-4474-9da1-f849b461ae3c","Один движок вместо зоопарка подписок","odin-dvizhok-vmesto-zooparka","CRM, рассылки, конструктор ботов, платформа автоматизации, аналитика - пять подписок и пять расходящихся копий базы клиентов. Рассказываю, как я собрал всё это внутри одной системы, что действительно стало проще, и честно - в каких случаях так делать не надо.",{"type":11,"content":1794},[1795,1799,1803,1808,1812,1816,1821,1825,1833,1837,1841,1845,1853,1857,1862,1874,1878,1883,1887,1895,1903,1907,1911,1914,1918,1922],{"type":14,"content":1796},[1797],{"type":17,"text":1798},"Раньше сайт работал в связке с отдельной платформой автоматизации: она принимала заявки, считала оценку задачи, вела бота. Платформа хорошая, но это отдельная система со своей логикой, своими секретами и своим кабинетом, а данные при этом жили в другом месте.",{"type":14,"content":1800},[1801],{"type":17,"text":1802},"Типичный набор небольшой компании: CRM, сервис рассылок, конструктор чат-ботов, платформа автоматизации, где-то отдельно аналитика. Пять подписок, пять личных кабинетов, пять счетов - и, что хуже, пять копий базы клиентов, которые расходятся между собой.",{"type":24,"attrs":1804,"content":1805},{"level":26},[1806],{"type":17,"text":1807},"Что стало",{"type":14,"content":1809},[1810],{"type":17,"text":1811},"Сейчас движок один - административная система, в которой и так лежат статьи, услуги и заявки. В ней же: очереди отправки, задания по расписанию, обращения к языковым моделям, боты, рассылки, журнал сбоев и генерация обложек для статей.",{"type":14,"content":1813},[1814],{"type":17,"text":1815},"Главный выигрыш не в экономии на подписках, хотя она есть. Он в том, что у клиента одна карточка, к которой привязано всё. Раньше один и тот же человек был контактом в CRM, подписчиком в рассылке и пользователем в боте, и эти три записи приходилось как-то сопоставлять между собой.",{"type":24,"attrs":1817,"content":1818},{"level":26},[1819],{"type":17,"text":1820},"Как это устроено внутри",{"type":14,"content":1822},[1823],{"type":17,"text":1824},"Несколько решений, которые оказались важнее остальных.",{"type":14,"content":1826},[1827,1831],{"type":17,"marks":1828,"text":1830},[1829],{"type":112},"Очередь - это таблица.",{"type":17,"text":1832}," Одна строка - одно сообщение одному человеку. Не \"рассылка на 500 адресов\", а 500 строк с собственным статусом. Отправкой занимается процесс по расписанию, который берёт готовые к отправке и обрабатывает их.",{"type":14,"content":1834},[1835],{"type":17,"text":1836},"Звучит избыточно, пока не случается первый сбой. Тогда выясняется, что вы точно знаете, кому дошло, кому нет и почему, можете повторить только неудавшиеся и не рискуете отправить всё заново. Ещё это защищает от классической аварии, когда одно битое сообщение встаёт в голову очереди и намертво блокирует остальные.",{"type":14,"content":1838},[1839],{"type":17,"text":1840},"В системе нигде не записано, сколько писем уже ушло. Это каждый раз пересчитывается по фактическим доставкам. Так же и с шагом воронки: отдельной галочки нет, шаг виден из истории человека.",{"type":14,"content":1842},[1843],{"type":17,"text":1844},"Соблазн записать число огромный - так быстрее. Но вторая копия одних и тех же данных рано или поздно расходится с первой. И вы получаете отчёт, где рассылка завершена, а на самом деле - нет.",{"type":14,"content":1846},[1847,1851],{"type":17,"marks":1848,"text":1850},[1849],{"type":112},"Секреты разложены по границе \"кто это правит\".",{"type":17,"text":1852}," В админке живёт только то, что я меняю сам: ключ и адрес поставщика моделей, токены ботов, стиль генерации обложек. Технические связки - вроде общего пароля между сайтом и системой - лежат в переменных окружения. Логика простая: если это можно поправить в админке между делом, значит, однажды я это и сломаю между делом.",{"type":14,"content":1854},[1855],{"type":17,"text":1856},"Каждый процесс называется по шаблону \"область: что делает\" и лежит в папке своей области. Через полгода это единственное, что позволяет найти нужное среди нескольких десятков процессов.",{"type":24,"attrs":1858,"content":1859},{"level":26},[1860],{"type":17,"text":1861},"Что это дало на практике",{"type":14,"content":1863},[1864,1866,1872],{"type":17,"text":1865},"Самый показательный пример - ",{"type":17,"marks":1867,"text":1871},[1868],{"type":282,"attrs":1869},{"href":1870},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fkontent-bez-kontent-menedzhera","публикация статьи",{"type":17,"text":1873},". Я перевожу статью в статус \"опубликована\". Дальше без моего участия: встроенный ИИ-помощник формулирует сюжет обложки, задание уходит в очередь картинок, генератор рисует, файл прикрепляется к статье, статья расходится по внешним площадкам, я получаю уведомление о результате.",{"type":14,"content":1875},[1876],{"type":17,"text":1877},"Раньше это была ручная работа, разложенная по четырём интерфейсам. Сейчас одно действие. И, что важнее, вся эта логика лежит в одном месте - если завтра понадобится добавить площадку, я добавлю её там же, а не в пятом сервисе.",{"type":24,"attrs":1879,"content":1880},{"level":26},[1881],{"type":17,"text":1882},"Когда так делать не надо",{"type":14,"content":1884},[1885],{"type":17,"text":1886},"Команда - первый стоп-сигнал. Разделение по инструментам - это ещё и разделение ответственности: маркетолог в своём сервисе рассылок никого не сломает, а в общем движке может сломать многое.",{"type":14,"content":1888},[1889,1893],{"type":17,"marks":1890,"text":1892},[1891],{"type":112},"Если процессы сложные и их много.",{"type":17,"text":1894}," Специализированные платформы автоматизации существуют не зря: у них лучше визуальный редактор, история запусков, отладка. Я отказался от такой платформы для маленького личного сайта - но на большом проекте продолжаю её использовать и не собираюсь переносить полторы сотни сценариев в админку.",{"type":14,"content":1896},[1897,1901],{"type":17,"marks":1898,"text":1900},[1899],{"type":112},"Если у вас нет инженера.",{"type":17,"text":1902}," Собрать такую очередь и присмотр за ней - несколько дней работы, а дальше поддерживать её придётся вам. Это конструктор, который обслуживаете вы. Пять подписок стоят денег, но не забирают ваше время.",{"type":14,"content":1904},[1905],{"type":17,"text":1906},"Мой случай - предельный: один человек, много автоматизации, полный контроль и желание не платить за пять кабинетов. Для компании из десяти человек ответ будет другим.",{"type":24,"attrs":1908,"content":1909},{"level":26},[1910],{"type":17,"text":556},{"type":181,"attrs":1912},{"id":1913,"junction":184,"collection":185},"9315b11c-43ca-4513-9f18-20473fe6b093",{"type":14,"content":1915},[1916],{"type":17,"text":1917},"Посчитайте на своих числах. Часы, которые уходят на сверку одного клиента между CRM, рассылкой и ботом, при ставке 500 рублей в час превращаются в прямые деньги. Добавьте свои дни на выяснение, какая копия базы верная: день собственника стоит 7 000 - 10 000 рублей. Если сумма выходит больше пяти подписок, зоопарк уже не экономит, а стоит вам денег.",{"type":14,"content":1919},[1920],{"type":17,"text":1921},"Единый движок собирает всё в одном месте, включая точки отказа. Разбираю, как узнать о сбое раньше клиента и почему тихий отказ обходится дороже громкого.",{"type":14,"content":1923},[1924,1925],{"type":17,"text":1163},{"type":17,"marks":1926,"text":1579},[1927],{"type":282,"attrs":1928},{"href":1061},"Спутанные кабели к пяти блокам слева и один монолитный блок справа",{"title":1931,"meta_description":1932,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":1933,"additional_fields":1934},"CMS как единый движок: очереди, рассылки, боты и ИИ в одной админке","Как я собрал маркетинг, рассылки, ботов и ИИ-обработку внутри одной системы вместо пяти подписок - и в каких случаях так делать не надо.",{"change_frequency":203,"priority":204},{},"2026-08-27T17:07:48.000Z",[1937,1939],{"sort":210,"tags_id":1938},{"name":1025},{"sort":26,"tags_id":1940},{"name":1941},"CRM и интеграции",[1943],{"id":1913,"sort":195,"collection":185,"item":1944},{"items":1945,"columns":229},[1946,1949,1952],{"lead":1947,"text":1948},"500 рублей","Час ручной сверки одного клиента между CRM, рассылкой и ботом - при ставке менеджера.",{"lead":1950,"text":1951},"40 000 - 50 000 рублей","Месяц контент-менеджера, который вручную разносит статьи и картинки по площадкам.",{"lead":227,"text":1953},"Ваш день, потраченный на выяснение, какая из пяти копий базы клиентов верная.",{"id":1955,"modified_on":1956},"5babb401-3bb1-4fbd-9b85-aac3a77ccf2d","2026-08-27T18:13:24.243Z",{"id":1958,"title":1959,"slug":1960,"excerpt":1961,"content":1962,"cover_alt":2153,"cover_position":195,"reading_time":195,"seo":2154,"robots_index":206,"seo_title":2155,"seo_description":2156,"date_published":2159,"date_modified":195,"source_lead":195,"rubrics":2160,"blocks":2165,"cover":2189},"4ff1fbad-0232-4d44-b6ec-73052762b114","Одна статья, шесть площадок, ноль ручной работы","kontent-bez-kontent-menedzhera","Написать статью - половина дела. Дальше её надо разнести по площадкам, а это час монотонной работы: сократить, переписать под формат, приложить картинку, не забыть ссылку. Рассказываю, как у меня этот час превратился в ноль действий и что в такой схеме ломается.",{"type":11,"content":1963},[1964,1968,1972,1977,1981,1985,1990,1994,2040,2044,2049,2053,2057,2061,2066,2108,2112,2115,2119,2123,2128,2150],{"type":181,"attrs":1965},{"id":1966,"junction":184,"collection":1967},"f0526d9a-4848-4c3e-9296-05ec498948f3","block_text",{"type":14,"content":1969},[1970],{"type":17,"text":1971},"Полтора месяца назад я закрыл этот час полностью. Теперь перевод статьи в статус \"опубликована\" - единственное действие, которое я делаю руками. Рассказываю, как устроено и где эта схема протекает.",{"type":24,"attrs":1973,"content":1974},{"level":26},[1975],{"type":17,"text":1976},"Почему копипаста не работает",{"type":14,"content":1978},[1979],{"type":17,"text":1980},"Проще всего разослать один и тот же текст всюду. Так делают многие, и результат виден невооружённым глазом: в ленте висит обрывок статьи с многоточием и ссылкой \"продолжение на сайте\". Читатель площадки не хочет никуда уходить, а куцый текст сообщает ему, что здесь для него ничего не приготовили.",{"type":14,"content":1982},[1983],{"type":17,"text":1984},"Можно нанять человека, который перепишет под каждую площадку. Это работает, но контент-менеджер стоит от 40 000 рублей в месяц и всё равно упирается в свои выходные.",{"type":24,"attrs":1986,"content":1987},{"level":26},[1988],{"type":17,"text":1989},"Как это устроено",{"type":14,"content":1991},[1992],{"type":17,"text":1993},"Схема простая и вся живёт внутри той же системы, где хранятся статьи.",{"type":1995,"content":1996},"orderedList",[1997,2014,2024,2034],{"type":76,"content":1998},[1999],{"type":14,"content":2000},[2001,2005,2007,2012],{"type":17,"marks":2002,"text":2004},[2003],{"type":112},"Статья становится опубликованной.",{"type":17,"text":2006}," Это единственное ручное действие. В тот же момент система создаёт ",{"type":17,"marks":2008,"text":2011},[2009],{"type":282,"attrs":2010},{"href":1061},"по одной задаче на каждую подключённую площадку",{"type":17,"text":2013},".",{"type":76,"content":2015},[2016],{"type":14,"content":2017},[2018,2022],{"type":17,"marks":2019,"text":2021},[2020],{"type":112},"Нейросеть пишет вариант под площадку.",{"type":17,"text":2023}," У каждой площадки своя инструкция: длина, тон, что делать с абзацами, нужен ли призыв. Текст не режется по символам - модель переписывает его так, чтобы пост читался сам по себе.",{"type":76,"content":2025},[2026],{"type":14,"content":2027},[2028,2032],{"type":17,"marks":2029,"text":2031},[2030],{"type":112},"Я вижу очередь.",{"type":17,"text":2033}," Готовые тексты лежат со статусом \"на одобрении\", пока я не разрешу. Со временем часть площадок я перевёл на автопилот - там уже ничего не жду.",{"type":76,"content":2035},[2036],{"type":14,"content":2037},[2038],{"type":17,"text":2039},"Раз в минуту система проверяет, чему пришло время выходить, публикует и сохраняет ссылку на вышедший пост. Отказ площадки попадает в общий список сбоев, и я о нём узнаю.",{"type":14,"content":2041},[2042],{"type":17,"text":2043},"Обложку рисует нейросеть по короткому описанию сюжета. Стиль задан один раз и общий для всех статей, поэтому лента выглядит цельной.",{"type":24,"attrs":2045,"content":2046},{"level":26},[2047],{"type":17,"text":2048},"Главное решение: не тащить читателя на сайт",{"type":14,"content":2050},[2051],{"type":17,"text":2052},"Изначально я делал классически: анонс на площадке, полный текст на сайте, ссылка посередине. Через месяц стало понятно, что это выглядит навязчиво и почти не работает. Люди читают там, где им удобно, а ссылка \"дочитать\" ощущается как турникет.",{"type":14,"content":2054},[2055],{"type":17,"text":2056},"Поэтому цель поменялась: пост должен быть полезен целиком там, где человек его увидел. Ссылка осталась, но ведёт не на статью, а на бесплатную оценку задачи - это единственное, ради чего мне действительно нужен переход. В соцсетях, где ссылки не кликаются, вместо адреса стоит понятная фраза о том, где её найти.",{"type":181,"attrs":2058},{"id":2059,"junction":184,"collection":2060},"3770299a-fd8f-48d8-b220-147cc30c89ba","block_callout",{"type":24,"attrs":2062,"content":2063},{"level":26},[2064],{"type":17,"text":2065},"Где схема протекает",{"type":73,"content":2067},[2068,2078,2088,2098],{"type":76,"content":2069},[2070],{"type":14,"content":2071},[2072,2076],{"type":17,"marks":2073,"text":2075},[2074],{"type":112},"Не у всех площадок есть вход для машин.",{"type":17,"text":2077}," Часть каналов приходится вести руками: система готовит текст и картинку, присылает их мне, и я выкладываю сам. Это всё равно две минуты вместо часа.",{"type":76,"content":2079},[2080],{"type":14,"content":2081},[2082,2086],{"type":17,"marks":2083,"text":2085},[2084],{"type":112},"Нейросеть иногда пишет мимо тона.",{"type":17,"text":2087}," Спорить с моделью бесполезно, помогает правка инструкции площадки: один раз объяснил - работает дальше.",{"type":76,"content":2089},[2090],{"type":14,"content":2091},[2092,2096],{"type":17,"marks":2093,"text":2095},[2094],{"type":112},"Площадки меняют правила.",{"type":17,"text":2097}," Лимиты, требования к картинкам, ссылки - всё это меняется без предупреждения, и раз в пару месяцев что-то приходится чинить.",{"type":76,"content":2099},[2100],{"type":14,"content":2101},[2102,2106],{"type":17,"marks":2103,"text":2105},[2104],{"type":112},"Одинаковые тексты никому не нужны.",{"type":17,"text":2107}," Если у вас три канала и одна аудитория, автоматизация просто быстрее разнесёт то, что и так не читают.",{"type":24,"attrs":2109,"content":2110},{"level":26},[2111],{"type":17,"text":556},{"type":181,"attrs":2113},{"id":2114,"junction":184,"collection":185},"5e8d26d2-5356-4099-927d-d3e7129d0d48",{"type":14,"content":2116},[2117],{"type":17,"text":2118},"Считайте на своих числах. Час разноски на статью по ставке менеджера - 500 рублей: четыре статьи в месяц дают 2 000, восемь - 4 000. Если этот час тратите вы сами, ставка другая: день руководителя стоит 7 000 - 10 000 рублей, то есть около тысячи за час. Нанять человека под ту же работу - от 40 000 рублей в месяц, и он тоже болеет и уходит в отпуск.",{"type":14,"content":2120},[2121],{"type":17,"text":2122},"Публиковать стало не лень - это оказалось важнее сэкономленного часа. Когда разноска бесплатна по усилиям, статьи выходят регулярно, без ожидания, пока дойдут руки.",{"type":24,"attrs":2124,"content":2125},{"level":26},[2126],{"type":17,"text":2127},"Если соберётесь повторять",{"type":1995,"content":2129},[2130,2140],{"type":76,"content":2131},[2132],{"type":14,"content":2133},[2134,2138],{"type":17,"marks":2135,"text":2137},[2136],{"type":112},"Начните с двух площадок.",{"type":17,"text":2139}," Тех, где у вас реально есть аудитория. Остальные подключите потом - схема одинаковая.",{"type":76,"content":2141},[2142],{"type":14,"content":2143},[2144,2148],{"type":17,"marks":2145,"text":2147},[2146],{"type":112},"Сделайте отказы видимыми.",{"type":17,"text":2149}," Публикация не ушла - узнать об этом надо сразу, иначе поломка выглядит просто как затишье в ленте.",{"type":181,"attrs":2151},{"id":2152,"junction":184,"collection":193},"6f19e0dc-eb4f-45e9-99a5-794b54be5290","Красный луч в призме расходится шестью лучами в темноте",{"title":2155,"meta_description":2156,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":2157,"additional_fields":2158},"Автопостинг статей в соцсети: как это устроено у меня","Как одна статья расходится по шести площадкам без контент-менеджера: адаптация текста нейросетью под формат каждой площадки, очередь публикаций, обложки и ручные каналы.",{"change_frequency":203,"priority":204},{},"2026-08-26T14:57:55.016Z",[2161,2163],{"sort":210,"tags_id":2162},{"name":1025},{"sort":26,"tags_id":2164},{"name":798},[2166,2169,2174,2186],{"id":1966,"sort":195,"collection":1967,"item":2167},{"body":2168,"is_lead":206,"footnote":195},"Написать статью - половина дела. Дальше её надо разнести по площадкам, и это самая неблагодарная часть: сократить под лимит, переписать первый абзац, чтобы он работал без заголовка, приложить картинку нужного размера, не забыть ссылку. Час монотонной работы на каждый материал, и никакого удовольствия.",{"id":2059,"sort":195,"collection":2060,"item":2170},{"heading":2171,"body":2172,"footnote":195,"tone":2173,"show_border":206},"Проверьте себя","Откройте свой последний пост в соцсети и уберите из него ссылку. Если после этого пост потерял смысл - вы публикуете анонс, а не материал. Читателю площадки такое обычно не нужно.","neutral",{"id":2114,"sort":195,"collection":185,"item":2175},{"items":2176,"columns":229},[2177,2180,2183],{"lead":2178,"text":2179},"1 час на статью","столько занимает ручная разноска: лимиты, первый абзац, картинка, ссылка",{"lead":2181,"text":2182},"4 000 рублей","в месяц при восьми статьях, если разноску делает менеджер со ставкой 500 рублей",{"lead":2184,"text":2185},"от 40 000 рублей","в месяц стоит контент-менеджер, который переписывал бы посты под площадки",{"id":2152,"sort":195,"collection":193,"item":2187},{"cta_variant":232,"heading":233,"body":2188,"button_label":235,"url":195,"glow":206},"Если у вас на разноску контента уходит время живого человека - опишите задачу в оценщике. Отвечу с планом, вилкой стоимости и расчётом экономии.",{"id":2190,"modified_on":2191},"19624539-06c2-423d-bd4e-82f018420b7c","2026-08-26T14:56:33.160Z",{"id":2193,"title":1579,"slug":2194,"excerpt":2195,"content":2196,"cover_alt":2368,"cover_position":195,"reading_time":195,"seo":2369,"robots_index":206,"seo_title":2370,"seo_description":2371,"date_published":2159,"date_modified":195,"source_lead":195,"rubrics":2374,"blocks":2379,"cover":2400},"f6b16c80-711f-4ad5-9a95-1201b72f598e","avtomatizaciya-kotoraya-padaet","Любая интеграция однажды ломается: у площадки кончился лимит, сервис ответил ошибкой, сеть моргнула. Всё решает то, что происходит потом: система досылает потерянное сама или вы узнаёте о пропавшей заявке от клиента. Разбираю на своём хозяйстве, из чего это собирается.",{"type":11,"content":2197},[2198,2201,2206,2217,2221,2225,2230,2258,2262,2267,2271,2275,2278,2283,2287,2291,2296,2300,2342,2346,2350,2353,2357,2361,2365],{"type":181,"attrs":2199},{"id":2200,"junction":184,"collection":1967},"631c2ba6-522d-46e5-a889-1fa4d4c34c5d",{"type":24,"attrs":2202,"content":2203},{"level":26},[2204],{"type":17,"text":2205},"Ломается на стыках",{"type":14,"content":2207},[2208,2210,2215],{"type":17,"text":2209},"У меня был показательный случай: ",{"type":17,"marks":2211,"text":2214},[2212],{"type":282,"attrs":2213},{"href":1870},"восемь площадок одновременно попросили у нейросети текст",{"type":17,"text":2216}," под свой формат, шлюз ответил \"слишком много запросов\", и все восемь публикаций встали намертво с красным статусом. Формально система отработала честно. По сути - потеряла материал на ровном месте, потому что через минуту тот же запрос прошёл бы спокойно.",{"type":14,"content":2218},[2219],{"type":17,"text":2220},"У каждого свои ограничения на число обращений в минуту, свои редкие часы недоступности и своё представление о том, сколько можно думать над ответом.",{"type":14,"content":2222},[2223],{"type":17,"text":2224},"Поэтому надёжность здесь - это заранее решённый вопрос, что делать с чужими ошибками. По каждому стыку я отвечаю на три: отказ временный или окончательный, можно ли повторить безопасно и кто узнает, если повторы не помогли.",{"type":24,"attrs":2226,"content":2227},{"level":26},[2228],{"type":17,"text":2229},"Временный отказ и окончательный - разные истории",{"type":73,"content":2231},[2232,2238,2248],{"type":76,"content":2233},[2234],{"type":14,"content":2235},[2236],{"type":17,"text":2237},"Превышен лимит обращений, сервис не ответил вовремя, оборвалась связь, у площадки сбой на своей стороне.",{"type":76,"content":2239},[2240],{"type":14,"content":2241},[2242,2246],{"type":17,"marks":2243,"text":2245},[2244],{"type":112},"Окончательный.",{"type":17,"text":2247}," Неверный ключ доступа, площадка отказала по правилам, текст не проходит модерацию. Повторять бессмысленно - нужен человек.",{"type":76,"content":2249},[2250],{"type":14,"content":2251},[2252,2256],{"type":17,"marks":2253,"text":2255},[2254],{"type":112},"Неизвестный.",{"type":17,"text":2257}," Сервис ответил чем-то нечитаемым. Пара попыток, и если не помогло - относимся как к окончательному.",{"type":14,"content":2259},[2260],{"type":17,"text":2261},"Самая частая ошибка проектирования - считать любой сбой поводом остановиться. Разделение выглядит очевидным ровно до того момента, когда его надо описать в коде. Именно на этом шаге выясняется, что \"ошибка\" в вашей системе - это одно слово на все случаи жизни, и любое решение по ней принимает человек вручную.",{"type":24,"attrs":2263,"content":2264},{"level":26},[2265],{"type":17,"text":2266},"Повтор должен быть безопасным",{"type":14,"content":2268},[2269],{"type":17,"text":2270},"Повторять можно только то, что не сделает работу дважды. Если запрос успел дойти, а ответ потерялся по дороге, слепой повтор превращается в два одинаковых письма клиенту или два одинаковых поста в ленте.",{"type":14,"content":2272},[2273],{"type":17,"text":2274},"Поэтому система должна помнить не только итог, но и то, где именно остановилась: взяли в работу, отправили, получили подтверждение от площадки.",{"type":181,"attrs":2276},{"id":2277,"junction":184,"collection":2060},"777ab225-8d6f-4a89-b218-ad5f7b60af98",{"type":24,"attrs":2279,"content":2280},{"level":26},[2281],{"type":17,"text":2282},"Очередь вместо героизма",{"type":14,"content":2284},[2285],{"type":17,"text":2286},"Очередь - это простая таблица: что нужно сделать, когда можно попробовать снова, сколько раз уже пробовали. Отдельный сторож раз в несколько минут забирает оттуда просроченное и запускает заново.",{"type":14,"content":2288},[2289],{"type":17,"text":2290},"Это скучная конструкция, но именно она превращает хрупкую цепочку в систему, которая переживает ночной сбой провайдера без единого потерянного письма. И она же снимает с вас необходимость сидеть рядом: пока очередь разбирается сама, ваше внимание не нужно.",{"type":24,"attrs":2292,"content":2293},{"level":26},[2294],{"type":17,"text":2295},"Кто узнает, когда всё-таки не вышло",{"type":14,"content":2297},[2298],{"type":17,"text":2299},"Дальше начинается то, что обычно делают хуже всего - уведомления. Я долго жил с сообщениями вида \"ошибка в процессе, подробности в логе\" и на третий день перестал их открывать: такое сообщение создаёт ощущение контроля, которого нет.",{"type":73,"content":2301},[2302,2312,2322,2332],{"type":76,"content":2303},[2304],{"type":14,"content":2305},[2306,2310],{"type":17,"marks":2307,"text":2309},[2308],{"type":112},"Что именно упало.",{"type":17,"text":2311}," В сообщении должны стоять конкретная статья и конкретная площадка. Человек должен понять контекст, не открывая систему.",{"type":76,"content":2313},[2314],{"type":14,"content":2315},[2316,2320],{"type":17,"marks":2317,"text":2319},[2318],{"type":112},"На каком шаге.",{"type":17,"text":2321}," Отправка, подготовка текста, загрузка картинки. Шаг сужает поиск причины.",{"type":76,"content":2323},[2324],{"type":14,"content":2325},[2326,2330],{"type":17,"marks":2327,"text":2329},[2328],{"type":112},"Что ответил сервис.",{"type":17,"text":2331}," Настоящий текст ошибки целиком. Именно он отвечает на вопрос \"это чинится само или руками\".",{"type":76,"content":2333},[2334],{"type":14,"content":2335},[2336,2340],{"type":17,"marks":2337,"text":2339},[2338],{"type":112},"Куда нажать.",{"type":17,"text":2341}," Ссылка прямо на карточку записи. Без неё сообщение превращается в задание \"найди сам\".",{"type":14,"content":2343},[2344],{"type":17,"text":2345},"И обратное правило: ожидаемые отказы не должны звенеть вообще. У одной площадки тариф ограничивает число публикаций в сутки - система помечает такую отправку неуспешной и молчит, потому что делать с этим нечего. Уведомления имеют смысл ровно до тех пор, пока каждое из них требует действия.",{"type":24,"attrs":2347,"content":2348},{"level":26},[2349],{"type":17,"text":179},{"type":181,"attrs":2351},{"id":2352,"junction":184,"collection":185},"ccc74058-9e1e-4c7d-a338-7aa986c45a12",{"type":14,"content":2354},[2355],{"type":17,"text":2356},"Посчитайте на своих. Одно письмо с заявкой, потерянное на минутном сбое, при среднем чеке 50 000 рублей и конверсии в сделку 30 процентов - это 15 000 рублей, за которые вы уже заплатили рекламой. Очередь досылает потерянное сама, а уведомление с текстом ошибки и ссылкой сразу показывает, что чинить, - без блуждания по логам вручную.",{"type":14,"content":2358},[2359],{"type":17,"text":2360},"Главный эффект - доверие. Автоматизацией, которая молча теряет работу, пользоваться нельзя: её приходится перепроверять, и она перестаёт экономить время. Как только сбои становятся видимыми и обратимыми, систему можно оставить работать одну.",{"type":14,"content":2362},[2363],{"type":17,"text":2364},"Ничего сложного тут нет - всё это делается в том же инструменте, где у вас уже живёт автоматизация. Требуется другое: заранее признать, что ломаться будет, и заложить на обработку поломок отдельное время.",{"type":181,"attrs":2366},{"id":2367,"junction":184,"collection":193},"4448e659-4d78-4acf-b9ae-084f59f9084d","Цепь в темноте, одно звено разорвано и светится красным",{"title":2370,"meta_description":2371,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":2372,"additional_fields":2373},"Надёжная автоматизация: ретраи, очереди и журнал сбоев","Почему интеграции ломаются всегда и как сделать, чтобы это не стоило денег: временные и постоянные отказы, повторные попытки, очередь, журнал сбоев и уведомления человеку.",{"change_frequency":203,"priority":204},{},[2375,2377],{"sort":210,"tags_id":2376},{"name":1941},{"sort":26,"tags_id":2378},{"name":1025},[2380,2383,2386,2397],{"id":2200,"sort":195,"collection":1967,"item":2381},{"body":2382,"is_lead":206,"footnote":195},"Любая интеграция однажды ломается: у площадки кончился лимит, сервис ответил ошибкой, сеть моргнула на две секунды. Это не признак плохой работы - это нормальный режим жизни системы, которая ходит наружу. Разница между рабочей автоматизацией и красивой демкой не в том, ломается ли она, а в том, что происходит в следующую минуту.",{"id":2277,"sort":195,"collection":2060,"item":2384},{"heading":2171,"body":2385,"footnote":195,"tone":2173,"show_border":206},"Возьмите любой свой автоматический сценарий и мысленно оборвите ему связь ровно в середине. Если после этого нельзя нажать \"повторить\" не думая - у сценария нет состояния, и однажды он сделает работу дважды.",{"id":2352,"sort":195,"collection":185,"item":2387},{"items":2388,"columns":229},[2389,2392,2395],{"lead":2390,"text":2391},"0 потерь","материалов и писем при временных сбоях площадок: очередь досылает всё сама",{"lead":2393,"text":2394},"1 сообщение","вместо десятка одинаковых: ожидаемые отказы гасятся, звенят только те, где нужен человек",{"lead":1603,"text":2396},"на разбор сбоя вместо получаса раскопок, потому что причина и ссылка сразу в тексте",{"id":2367,"sort":195,"collection":193,"item":2398},{"cta_variant":232,"heading":233,"body":2399,"button_label":235,"url":195,"glow":206},"Если у вас есть автоматизация, которой вы не доверяете и потому перепроверяете руками - опишите задачу в оценщике. Отвечу с планом, вилкой стоимости и расчётом экономии.",{"id":2401,"modified_on":2402},"9f96d75d-3e17-4589-b755-dff1d57614ce","2026-08-27T13:18:33.220Z",{"id":2404,"title":2405,"slug":2406,"excerpt":2407,"content":2408,"cover_alt":2533,"cover_position":195,"reading_time":2534,"seo":2535,"robots_index":206,"seo_title":2536,"seo_description":2537,"date_published":2541,"date_modified":195,"source_lead":195,"rubrics":2542,"blocks":2549,"cover":2646},"93447c6b-a179-47d1-ac99-465d27fc0beb","Архив звонков: как созвоны разбирают себя сами","arhiv-zvonkov-protokoly-avtomaticheski","Через две недели после созвона у вас остаётся общее ощущение и одна случайная деталь, а у клиента своя версия договорённостей. У меня каждый звонок сам превращается в файл с датой, участниками, решениями и задачами - и спорное место закрывается цитатой.",{"type":11,"content":2409},[2410,2413,2417,2422,2426,2431,2435,2438,2443,2446,2449,2453,2456,2460,2464,2469,2507,2512,2516,2519,2530],{"type":181,"attrs":2411},{"id":2412,"junction":184,"collection":1967},"c8c4a3e9-1928-493f-b5de-ef8093129493",{"type":14,"content":2414},[2415],{"type":17,"text":2416},"Созвон - самый плотный источник контекста в работе: за час обсуждения проходит больше решений, чем за неделю переписки. Через две недели от часового разговора в памяти остаётся общее ощущение и одна случайная деталь.",{"type":24,"attrs":2418,"content":2419},{"level":26},[2420],{"type":17,"text":2421},"Что ломается, когда архива нет",{"type":181,"attrs":2423},{"id":2424,"junction":184,"collection":2425},"7e4749da-56aa-4c21-8a14-0bd144741517","block_list",{"type":24,"attrs":2427,"content":2428},{"level":26},[2429],{"type":17,"text":2430},"Как устроен конвейер",{"type":14,"content":2432},[2433],{"type":17,"text":2434},"От записи разговора до готового протокола в архиве не должно быть ни одного ручного шага. Всё, что требует моего действия, рано или поздно не делается.",{"type":181,"attrs":2436},{"id":2437,"junction":184,"collection":2425},"574f99c1-46f8-4913-95ee-d8ae7bf2ef2f",{"type":24,"attrs":2439,"content":2440},{"level":229},[2441],{"type":17,"text":2442},"Что лежит в файле протокола",{"type":181,"attrs":2444},{"id":2445,"junction":184,"collection":2425},"a29ddb89-41e5-40e9-8f56-b94f993cd196",{"type":181,"attrs":2447},{"id":2448,"junction":184,"collection":2060},"6535d16a-011a-49ed-a709-81ca0ee9133b",{"type":24,"attrs":2450,"content":2451},{"level":26},[2452],{"type":17,"text":556},{"type":181,"attrs":2454},{"id":2455,"junction":184,"collection":185},"4921a788-0c3e-4f09-9410-8a36b20da527",{"type":14,"content":2457},[2458],{"type":17,"text":2459},"Посчитайте на своих цифрах. Пять-семь часов в месяц на восстановление договорённостей - это почти рабочий день руководителя, 7 000 - 10 000 рублей. Дальше риск: один спор \"мы же договорились\" на проекте со средним чеком 50 000 рублей заканчивается переделкой за свой счёт, и она одна дороже всего конвейера. Протокол закрывает такой спор цитатой из разговора.",{"type":14,"content":2461},[2462],{"type":17,"text":2463},"Отдельный эффект, который я не закладывал: изменился сам стиль созвонов. Когда знаешь, что решения попадут в протокол, разговор заканчивается не размытым \"ну, значит, движемся\", а конкретикой. Люди формулируют точнее, если понимают, что формулировка сохранится.",{"type":24,"attrs":2465,"content":2466},{"level":26},[2467],{"type":17,"text":2468},"Грабли, на которые я наступил",{"type":73,"content":2470},[2471,2481,2491,2497],{"type":76,"content":2472},[2473],{"type":14,"content":2474},[2475,2479],{"type":17,"marks":2476,"text":2478},[2477],{"type":112},"Пересказ вместо разбора.",{"type":17,"text":2480}," Первая версия агента прилежно пересказывала звонок целиком. Такой протокол не читают: он немногим короче расшифровки. Пришлось жёстко зафиксировать структуру - решения, задачи, открытые вопросы - и запретить всё остальное.",{"type":76,"content":2482},[2483],{"type":14,"content":2484},[2485,2489],{"type":17,"marks":2486,"text":2488},[2487],{"type":112},"Придуманные договорённости.",{"type":17,"text":2490}," Если в разговоре решения не было, модель охотно его сочиняет. Лечится инструкцией: не уверен - пиши в открытые вопросы, а не в решения.",{"type":76,"content":2492},[2493],{"type":14,"content":2494},[2495],{"type":17,"text":2496},"Разметка говорящих даёт \"спикер 1\" и \"спикер 2\". Без реальных имён протокол теряет половину смысла: непонятно, кто что пообещал. Имена подставляются из карточки встречи.",{"type":76,"content":2498},[2499],{"type":14,"content":2500},[2501,2505],{"type":17,"marks":2502,"text":2504},[2503],{"type":112},"Свалка вместо архива.",{"type":17,"text":2506}," Сто файлов в одной папке - это не архив. Разложение по проектам и внятные имена файлов оказались важнее качества самой транскрипции.",{"type":24,"attrs":2508,"content":2509},{"level":26},[2510],{"type":17,"text":2511},"Если повторять у себя",{"type":14,"content":2513},[2514],{"type":17,"text":2515},"Распознавать речь на своём железе нужно не всем - я так делаю из-за требований к данным: часть разговоров нельзя отдавать в чужое облако. Если у вас таких требований нет, та же схема собирается на готовых сервисах протоколирования встреч. Результат для вас одинаковый: после каждого звонка в архиве лежит файл с решениями и задачами.",{"type":181,"attrs":2517},{"id":2518,"junction":184,"collection":2425},"9a50b799-7982-42c2-8117-d9fcfc4b901e",{"type":14,"content":2520},[2521,2523,2529],{"type":17,"text":2522},"Как устроен весь штаб целиком, я разбирал ",{"type":17,"marks":2524,"text":2528},[2525],{"type":282,"attrs":2526},{"href":2527},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fkak-ustroen-moy-ai-shtab","в отдельной статье",{"type":17,"text":2013},{"type":181,"attrs":2531},{"id":2532,"junction":184,"collection":193},"7bc8613b-639a-4b4c-8921-17527e78ef09","Звуковые волны в темноте сворачиваются в красную нить",5,{"title":2536,"meta_description":2537,"focus_keyphrase":2538,"og_image":195,"no_index":201,"no_follow":201,"sitemap":2539,"additional_fields":2540},"Архив звонков: автоматические протоколы созвонов","Как записи созвонов автоматически превращаются в протоколы: транскрипция, диаризация, разбор в markdown. Устройство конвейера, цифры и грабли.","автоматический протокол звонка транскрибация созвонов",{"change_frequency":203,"priority":204},{},"2026-08-26T14:40:38.371Z",[2543,2545,2547],{"sort":210,"tags_id":2544},{"name":1025},{"sort":26,"tags_id":2546},{"name":579},{"sort":229,"tags_id":2548},{"name":798},[2550,2553,2569,2589,2609,2614,2626,2642],{"id":2412,"sort":210,"collection":1967,"item":2551},{"body":2552,"is_lead":206,"footnote":195},"В статье про [ИИ-штаб](\u002Fblog\u002Fkak-ustroen-moy-ai-shtab) я обещал разобрать его узлы по отдельности. Начну с того, который окупился первым и до сих пор экономит мне больше всего времени: архива звонков. Каждый созвон сам превращается в файл с датой, участниками, решениями и задачами - без моего участия.",{"id":2424,"sort":2534,"collection":2425,"item":2554},{"list_style":2555,"items":2556},"dash",[2557,2560,2563,2566],{"lead":2558,"text":2559},"Заметки во время звонка.","Пока пишешь - не слушаешь. Записывается то, что успел, а не то, что важно, и почти никогда - формулировки клиента дословно.",{"lead":2561,"text":2562},"Память.","Работает ровно до первого спорного места. Аргумент \"мы же договорились\" против такого же аргумента с другой стороны не выигрывает никогда.",{"lead":2564,"text":2565},"Переслушать запись.","Технически возможно, практически не происходит: искать одну минуту в часовом файле дороже, чем переспросить. В итоге переспрашивают - и выглядят так, будто не слушали.",{"lead":2567,"text":2568,"highlight":206},"Итог.","Контекст живёт в голове одного человека, и цена его потери всплывает в самый неудобный момент - на сдаче работы.",{"id":2437,"sort":2570,"collection":2425,"item":2571},8,{"list_style":2572,"items":2573},"steps",[2574,2577,2580,2583,2586],{"lead":2575,"text":2576},"Забор записей.","Раз в сутки задание по расписанию забирает новые записи созвонов из сервиса встреч и складывает их в рабочую папку. Ничего не нажимаю - файл появляется сам.",{"lead":2578,"text":2579},"Транскрипция.","Распознавание речи идёт локально, на моём железе. Это не про экономию на подписке: в разговорах бывают клиентские цифры и внутренние детали, которым нечего делать в чужом облаке.",{"lead":2581,"text":2582},"Диаризация.","Отдельный шаг размечает, кто именно говорит. Без него получается сплошная простыня текста, из которой не понять, кто что пообещал, - а именно это и нужно.",{"lead":2584,"text":2585},"Разбор.","Агент читает расшифровку и собирает структуру: о чём договорились, какие задачи появились, какие вопросы остались открытыми и за кем следующий шаг.",{"lead":2587,"text":2588,"highlight":206},"Раскладка в архив.","На выходе - один markdown-файл на звонок в общем рабочем пространстве. Рядом с проектами, решениями и справочниками, то есть там, где его найдёт и ассистент, и я.",{"id":2445,"sort":2590,"collection":2425,"item":2591},10,{"list_style":2592,"items":2593},"check",[2594,2597,2600,2603,2606],{"lead":2595,"text":2596},"Шапка.","Дата, длительность, участники, проект. По ней потом идёт поиск.",{"lead":2598,"text":2599},"Решения.","Что именно решили и почему - главная ценность файла.",{"lead":2601,"text":2602},"Задачи.","Что делать, кому, к какому сроку.",{"lead":2604,"text":2605},"Открытые вопросы.","То, что зависло. Обычно из этого списка и рождается повестка следующего созвона.",{"lead":2607,"text":2608},"Цитаты.","Пара формулировок клиента дословно. В спорной ситуации это работает лучше любого пересказа.",{"id":2448,"sort":2610,"collection":2060,"item":2611},11,{"heading":2612,"body":2613,"footnote":195,"tone":2173,"show_border":206},"Важная деталь","Полная расшифровка тоже остаётся в архиве, но лежит отдельным файлом. Читать её никто не будет - она нужна для поиска и для случаев, когда протокол расходится с чьей-то памятью и надо посмотреть, как было сказано на самом деле.",{"id":2455,"sort":2615,"collection":185,"item":2616},13,{"items":2617,"columns":229},[2618,2621,2623],{"lead":2619,"text":2620},"5 - 7 часов","в месяц уходило на подготовку к созвонам и восстановление договорённостей по памяти",{"lead":227,"text":2622},"столько стоят эти часы, если считать по цене рабочего дня руководителя",{"lead":2624,"text":2625},"1 минута","поиск ответа \"что мы решили\" по архиву вместо часа переслушивания записи",{"id":2518,"sort":2627,"collection":2425,"item":2628},19,{"list_style":2555,"items":2629},[2630,2633,2636,2639],{"lead":2631,"text":2632},"Ноль ручных шагов.","Если после звонка надо что-то нажать, скачать или переложить - процесс умрёт на второй неделе.",{"lead":2634,"text":2635},"Протокол - не пересказ.","Ценность файла в решениях и задачах, а не в подробности изложения.",{"lead":2637,"text":2638},"Архив там же, где остальная работа.","Протоколы должны лежать рядом с проектами и в том же формате. Отдельный сервис \"для звонков\" - ещё одно место, куда никто не заходит.",{"lead":2640,"text":2641,"highlight":206},"Это первый кандидат на автоматизацию.","Рутина, повторяется каждую неделю, данные уже в электронном виде, ничего не ломает. Ровно то, что проходит фильтр из четырёх вопросов, с которого стоит начинать выбор процесса.",{"id":2532,"sort":2643,"collection":193,"item":2644},21,{"cta_variant":232,"heading":233,"body":2645,"button_label":235,"url":195,"glow":206},"Если у вас каждую неделю утекает контекст созвонов или другая рутина - опишите задачу в оценщике. Отвечу с оценкой сроков и вилкой.",{"id":2647,"modified_on":2648},"864d27a1-2eba-4031-9ce6-9dab08f20378","2026-08-18T11:41:32.727Z",{"id":2650,"title":2651,"slug":2652,"excerpt":2653,"content":2654,"cover_alt":2827,"cover_position":195,"reading_time":2534,"seo":2828,"robots_index":206,"seo_title":2829,"seo_description":2830,"date_published":2541,"date_modified":195,"source_lead":195,"rubrics":2834,"blocks":2839,"cover":2864},"3ee6472d-b0b2-4a38-b766-7e9a24505435","Навыки вместо промптов: чтобы не объяснять нейросети одно и то же","navyki-agentov-vmesto-promptov","Если вы каждую неделю заново объясняете нейросети одну и ту же задачу - объяснение пора записать в файл. Навык копит ваши требования и уже известные грабли, поэтому результат перестаёт зависеть от формулировки, а работу можно отдать.",{"type":11,"content":2655},[2656,2673,2678,2682,2686,2691,2695,2733,2737,2742,2746,2750,2753,2758,2762,2765,2770,2802,2807,2811,2815,2820,2824],{"type":14,"content":2657},[2658,2663,2665,2671],{"type":17,"marks":2659,"text":2662},[2660],{"type":282,"attrs":2661},{"href":2527},"В статье про ИИ-штаб",{"type":17,"text":2664}," я обещал разобрать его узлы по отдельности. ",{"type":17,"marks":2666,"text":2670},[2667],{"type":282,"attrs":2668},{"href":2669},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Farhiv-zvonkov-protokoly-avtomaticheski","Про архив звонков уже написал",{"type":17,"text":2672},", теперь про слой, без которого весь штаб рассыпается: навыки. Это обычные текстовые инструкции для агента - когда применять, какие шаги, какие грабли уже известны. Скучно ровно до того момента, когда понимаешь: именно они превращают нейросеть из игрушки в сотрудника.",{"type":24,"attrs":2674,"content":2675},{"level":26},[2676],{"type":17,"text":2677},"Промпт умирает вместе с чатом",{"type":14,"content":2679},[2680],{"type":17,"text":2681},"Открыл чат, объяснил задачу, повозился с формулировками, получил приличный результат. Через неделю та же задача - и всё сначала. Тот удачный промпт остался где-то в истории переписки, а вместе с ним ушли все оговорки: что модель регулярно путает, какой формат вам на самом деле нужен, где она в прошлый раз наврала.",{"type":14,"content":2683},[2684],{"type":17,"text":2685},"Получается сотрудник с амнезией. Каждое утро он приходит на работу впервые, и каждое утро вы заново рассказываете ему, где лежат файлы и как у нас принято оформлять отчёт.",{"type":24,"attrs":2687,"content":2688},{"level":26},[2689],{"type":17,"text":2690},"Что такое навык",{"type":14,"content":2692},[2693],{"type":17,"text":2694},"Навык - это файл. Обычный текст в рабочей папке, который агент читает перед тем, как взяться за задачу. У меня в нём всегда четыре части.",{"type":1995,"content":2696},[2697,2707,2713,2723],{"type":76,"content":2698},[2699],{"type":14,"content":2700},[2701,2705],{"type":17,"marks":2702,"text":2704},[2703],{"type":112},"Когда применять.",{"type":17,"text":2706}," Одна-две строки: по какому триггеру агент должен вспомнить про этот навык. Без этого он либо не найдёт инструкцию, либо потянет её не туда.",{"type":76,"content":2708},[2709],{"type":14,"content":2710},[2711],{"type":17,"text":2712},"Что делать по порядку: откуда взять данные, что с ними сделать, куда положить результат. Формулировка уровня \"проанализируй звонок\" сюда не годится - нужно \"возьми расшифровку звонка из папки, вытащи решения и задачи, сохрани файл по шаблону\".",{"type":76,"content":2714},[2715],{"type":14,"content":2716},[2717,2721],{"type":17,"marks":2718,"text":2720},[2719],{"type":112},"Известные грабли.",{"type":17,"text":2722}," Самая ценная часть: что уже ломалось. Модель придумывает участников, которых не было; путает договорённость с предложением; теряет суммы. Каждая строка здесь появилась после конкретного сбоя.",{"type":76,"content":2724},[2725],{"type":14,"content":2726},[2727,2731],{"type":17,"marks":2728,"text":2730},[2729],{"type":112},"Критерий готовности.",{"type":17,"text":2732}," Как понять, что работа сделана: файл создан, поля заполнены, ссылки не битые. По этому списку агент проверяет себя сам.",{"type":14,"content":2734},[2735],{"type":17,"text":2736},"Ничего сложного здесь нет. Это буквально то, что вы написали бы новому сотруднику, если бы он выходил на удалёнку и стеснялся переспрашивать.",{"type":24,"attrs":2738,"content":2739},{"level":26},[2740],{"type":17,"text":2741},"Главное: навык обновляется после каждого использования",{"type":14,"content":2743},[2744],{"type":17,"text":2745},"Прогнал задачу через навык - и, пока помнишь, дописал в него: что пошло не так, чего в инструкции не хватало, какую формулировку модель поняла криво. Это правило, ради которого всё затевалось.",{"type":14,"content":2747},[2748],{"type":17,"text":2749},"Сначала это выглядит как лишняя работа. Первые три-четыре прогона навык действительно приходится править каждый раз. Потом правки становятся всё реже, а результат - всё стабильнее, и в какой-то момент вы перестаёте проверять его целиком и смотрите только на критерий готовности. Инструкция, которую двадцать раз обкатали на реальных задачах, работает лучше, чем самый вылизанный промпт, написанный за один присест.",{"type":181,"attrs":2751},{"id":2752,"junction":184,"collection":2060},"4cbdc702-b579-44f0-834a-24b28fffb42b",{"type":24,"attrs":2754,"content":2755},{"level":26},[2756],{"type":17,"text":2757},"С чего начать у себя",{"type":14,"content":2759},[2760],{"type":17,"text":2761},"Не надо описывать все процессы разом - это тот же \"внедрить ИИ везде\", только в миниатюре. Возьмите один.",{"type":181,"attrs":2763},{"id":2764,"junction":184,"collection":2425},"a25d05ed-e180-4f8a-8d49-cbfe6f09121e",{"type":24,"attrs":2766,"content":2767},{"level":26},[2768],{"type":17,"text":2769},"Где это ломается",{"type":73,"content":2771},[2772,2782,2792],{"type":76,"content":2773},[2774],{"type":14,"content":2775},[2776,2780],{"type":17,"marks":2777,"text":2779},[2778],{"type":112},"Навык растёт в роман.",{"type":17,"text":2781}," Если инструкция разрослась и внутри неё уже три разных сценария - режьте на три навыка.",{"type":76,"content":2783},[2784],{"type":14,"content":2785},[2786,2790],{"type":17,"marks":2787,"text":2789},[2788],{"type":112},"Навык описывает идеал, а не практику.",{"type":17,"text":2791}," Инструкция, написанная \"как надо бы\", не работает: в ней нет граблей, а именно они дают качество.",{"type":76,"content":2793},[2794],{"type":14,"content":2795},[2796,2800],{"type":17,"marks":2797,"text":2799},[2798],{"type":112},"Никто не убирает мёртвое.",{"type":17,"text":2801}," Процесс изменился, а навык остался прежним, и агент уверенно делает то, что уже неактуально.",{"type":24,"attrs":2803,"content":2804},{"level":26},[2805],{"type":17,"text":2806},"Что меняется в работе",{"type":14,"content":2808},[2809],{"type":17,"text":2810},"Умнее нейросеть от этого не становится - она ровно та же. Меняется другое: результат перестаёт зависеть от того, в каком настроении и с какой формулировкой вы сегодня подошли к задаче. Такую работу уже можно отдать - агенту, подрядчику, себе через полгода.",{"type":14,"content":2812},[2813],{"type":17,"text":2814},"Побочный эффект я не ожидал: пока описываешь процесс для агента, регулярно выясняется, что процесс кривой сам по себе. Автоматизация вскрывает бардак быстрее любого аудита.",{"type":24,"attrs":2816,"content":2817},{"level":26},[2818],{"type":17,"text":2819},"Что это даёт",{"type":14,"content":2821},[2822],{"type":17,"text":2823},"Твёрдо можно посчитать один риск: договорённость, потерянная в пересказе, при чеке 50 000 и конверсии 30 процентов стоит 15 000 рублей за контакт. Экономию на переобъяснениях считайте по своим задачам: сколько их в месяц и сколько времени уходит на пересказ и вычитку каждый раз.",{"type":181,"attrs":2825},{"id":2826,"junction":184,"collection":193},"9285f093-db5f-48b9-8c25-363be2461a80","Слои заметок в темноте, от них тянется красная нить",{"title":2829,"meta_description":2830,"focus_keyphrase":2831,"og_image":195,"no_index":201,"no_follow":201,"sitemap":2832,"additional_fields":2833},"Навыки для ИИ-агента: инструкция вместо разового промпта","Разовый промпт умирает вместе с чатом, а инструкция-навык копит ваши требования и грабли. Структура навыка, как завести первый за час и где это ломается.","инструкции для ии агента навыки вместо промптов",{"change_frequency":203,"priority":204},{},[2835,2837],{"sort":210,"tags_id":2836},{"name":1025},{"sort":26,"tags_id":2838},{"name":579},[2840,2844,2860],{"id":2752,"sort":2841,"collection":2060,"item":2842},12,{"heading":2171,"body":2843,"footnote":195,"tone":2173,"show_border":206},"Если вы за последний месяц хотя бы дважды объясняли нейросети одно и то же - у вас уже есть кандидат в навыки. Не надо ждать, пока процесс \"устаканится\": навык и есть способ его устаканить.",{"id":2764,"sort":2845,"collection":2425,"item":2846},15,{"list_style":2572,"items":2847},[2848,2851,2854,2857],{"lead":2849,"text":2850,"highlight":201},"Найдите повтор.","Задача, которую вы отдаёте нейросети чаще раза в неделю: черновик письма, разбор звонка, выжимка из документа, сводка по цифрам.",{"lead":2852,"text":2853,"highlight":201},"Запишите последний удачный заход.","Не сочиняйте идеальную инструкцию с нуля. Возьмите чат, где всё получилось, и перепишите его в четыре части: когда, шаги, грабли, критерий.",{"lead":2855,"text":2856,"highlight":201},"Следующий раз начинайте с файла.","Не с пустого чата. Дали агенту навык, дали задачу, посмотрели на результат.",{"lead":2858,"text":2859,"highlight":201},"Допишите и повторите.","Каждый прогон - плюс одна строка в грабли. Через месяц у вас будет инструкция, которую не стыдно отдать живому человеку.",{"id":2826,"sort":2643,"collection":193,"item":2861},{"cta_variant":232,"heading":233,"body":2862,"button_label":2863,"url":195,"glow":206},"Если у вас есть рутина, которую вы каждую неделю объясняете заново - опишите её в оценщике. Отвечу с решением, вилкой стоимости и расчётом экономии.","Оценить задачу за 60 секунд",{"id":2865,"modified_on":2866},"8de8126c-7b11-4710-a7d3-a49411814abd","2026-08-27T12:16:27.020Z",{"id":2868,"title":2869,"slug":2870,"excerpt":2871,"content":2872,"cover_alt":2975,"cover_position":195,"reading_time":196,"seo":2976,"robots_index":206,"seo_title":2977,"seo_description":2978,"date_published":2982,"date_modified":195,"source_lead":195,"rubrics":2983,"blocks":2990,"cover":3074},"80fcd676-f993-4507-be8f-c1265baa748d","Разбор: как вернуть ушедших клиентов, пока отношения ещё тёплые","razbor-vozvrat-ushedshih-klientov","У каждой компании старше двух лет есть актив, который не числится ни в одном отчёте: клиенты, с которыми уже не работают, но отношения остались хорошими. Они вас знают, доверяют и уже платили - и именно до них никогда не доходят руки.",{"type":11,"content":2873},[2874,2877,2880,2884,2889,2893,2896,2899,2903,2908,2911,2915,2920,2924,2929,2961,2966,2969,2972],{"type":181,"attrs":2875},{"id":2876,"junction":184,"collection":2060},"741edf40-01f7-4e69-91d9-04200dac00e2",{"type":181,"attrs":2878},{"id":2879,"junction":184,"collection":1967},"2f71b8e2-dd94-4303-aece-8e0cd2fa80dd",{"type":14,"content":2881},[2882],{"type":17,"text":2883},"Причина простая: реактивация - работа без дедлайна, её никто не требует сегодня, поэтому она всегда проигрывает горящим задачам. В итоге повторные продажи держатся на памяти менеджеров - про кого вспомнили, того и набрали. Остальные тихо уходят к конкурентам, и возвращать их потом дороже.",{"type":24,"attrs":2885,"content":2886},{"level":26},[2887],{"type":17,"text":2888},"Считаем деньги",{"type":14,"content":2890},[2891],{"type":17,"text":2892},"Сначала цена ручного варианта. 150 контактов в квартал, по 15 минут на подготовку, отправку и ведение переписки - это 12-13 часов в месяц. Плюс повторные касания и разбор ответов - ещё 8-10 часов. При ставке менеджера 600-800 рублей в час это 13 200-17 600 рублей в месяц.",{"type":181,"attrs":2894},{"id":2895,"junction":184,"collection":1967},"b09d7839-2480-45b3-894c-67649a2c5a99",{"type":181,"attrs":2897},{"id":2898,"junction":184,"collection":185},"2d64909e-d3b9-430c-99b0-cff93887c49d",{"type":14,"content":2900},[2901],{"type":17,"text":2902},"Подставьте свои цифры: размер базы, средний чек, ставку менеджера. Для примера возьмём ориентир: чек 50 000 рублей и два возврата в месяц из спящей базы - это 100 000 рублей выручки. Руками та же работа - 20 - 23 часа переписки, которых обычно никто не тратит: 13 200 - 17 600 рублей по ставке менеджера. Для сравнения: новая заявка с рекламы в B2B стоит по ориентиру 3 000 - 15 000 рублей - тёплого клиента вернуть дешевле.",{"type":24,"attrs":2904,"content":2905},{"level":26},[2906],{"type":17,"text":2907},"Схема решения",{"type":181,"attrs":2909},{"id":2910,"junction":184,"collection":2425},"c90f8119-d443-4035-a64e-dacf02a70e8b",{"type":14,"content":2912},[2913],{"type":17,"text":2914},"Отдельно - дашборд: сколько касаний, сколько ответов, сколько встреч и возвратов по каждому сценарию. Это не отчётность ради отчётности: без неё непонятно, какой текст менять, а какой работает.",{"type":24,"attrs":2916,"content":2917},{"level":26},[2918],{"type":17,"text":2919},"Сроки и вилка",{"type":181,"attrs":2921},{"id":2922,"junction":184,"collection":2923},"243308c3-b94e-40f9-86b4-7562d4d760a6","block_rows",{"type":24,"attrs":2925,"content":2926},{"level":26},[2927],{"type":17,"text":2928},"Что понадобится от вас",{"type":73,"content":2930},[2931,2937,2943,2949,2955],{"type":76,"content":2932},[2933],{"type":14,"content":2934},[2935],{"type":17,"text":2936},"Доступ к CRM или выгрузка базы ушедших клиентов",{"type":76,"content":2938},[2939],{"type":14,"content":2940},[2941],{"type":17,"text":2942},"Почтовый ящик или аккаунт для отправки сообщений",{"type":76,"content":2944},[2945],{"type":14,"content":2946},[2947],{"type":17,"text":2948},"Список услуг с ценами и краткими описаниями",{"type":76,"content":2950},[2951],{"type":14,"content":2952},[2953],{"type":17,"text":2954},"Два-три примера удачной переписки - по ним настраивается тон общения",{"type":76,"content":2956},[2957],{"type":14,"content":2958},[2959],{"type":17,"text":2960},"Один ответственный менеджер на приём тёплых лидов",{"type":24,"attrs":2962,"content":2963},{"level":26},[2964],{"type":17,"text":2965},"Что это даст",{"type":181,"attrs":2967},{"id":2968,"junction":184,"collection":2425},"48c27790-d80c-4ae2-9bf1-cd6de3e9353d",{"type":181,"attrs":2970},{"id":2971,"junction":184,"collection":2060},"41e33829-dfe5-4841-ab21-a79cac3130ec",{"type":181,"attrs":2973},{"id":2974,"junction":184,"collection":193},"413f4b50-af13-47fc-a160-73ab0bda50b4","Оборванные линии связи в темноте, одна тлеет красным и тянется обратно",{"title":2977,"meta_description":2978,"focus_keyphrase":2979,"og_image":195,"no_index":201,"no_follow":201,"sitemap":2980,"additional_fields":2981},"Возврат ушедших клиентов: разбор задачи и цифры","Спящая база бывших клиентов остывает за полгода. Разбор реальной заявки: схема реактивации с AI-обработкой ответов, сроки, вилка и экономика.","реактивация базы ушедших клиентов автоматизация",{"change_frequency":203,"priority":204},{},"2026-08-18T11:13:26.707Z",[2984,2986,2988],{"sort":210,"tags_id":2985},{"name":212},{"sort":26,"tags_id":2987},{"name":798},{"sort":229,"tags_id":2989},{"name":1941},[2991,2997,2999,3004,3016,3035,3053,3065,3070],{"id":2876,"sort":210,"collection":2060,"item":2992},{"heading":2993,"body":2994,"footnote":2995,"tone":2996,"show_border":206},"Заявка · дословно","\"Хотел бы, чтобы с клиентами, которые у нас ушли и с которыми мы больше не работаем, но с которыми хорошие отношения, периодически была связь и предложение продолжить работать с нами, либо предложение каких-то ещё услуг, выявление потребности\".","Формулировка автора сохранена. Детали, по которым можно узнать компанию, убраны.","red",{"id":2879,"sort":26,"collection":1967,"item":2998},{"body":2871,"is_lead":206,"footnote":195},{"id":2895,"sort":3000,"collection":1967,"item":3001},6,{"body":3002,"is_lead":201,"footnote":3003},"Но честная цифра другая: обычно эта работа не делается вовсе. Поэтому считать надо не сэкономленные часы, а недополученную выручку.","Цифры взяты из оценки по этой заявке при среднем чеке около 50 000 рублей. На ваших цифрах считается так же.",{"id":2898,"sort":3005,"collection":185,"item":3006},7,{"items":3007,"columns":229},[3008,3011,3014],{"lead":3009,"text":3010},"100 000 рублей","выручки в месяц, если по ориентиру считать чек 50 000 рублей и вернуть двоих из спящей базы",{"lead":3012,"text":3013},"20 - 23 часа","заняла бы та же работа руками - 13 200 - 17 600 рублей по ставке менеджера",{"lead":424,"text":3015},"стоит одна новая заявка с рекламы по ориентиру для B2B - вернуть тёплого клиента дешевле, чем купить нового",{"id":2910,"sort":3017,"collection":2425,"item":3018},9,{"list_style":2572,"items":3019},[3020,3023,3026,3029,3032],{"lead":3021,"text":3022,"highlight":201},"База размечается по сегментам.","Ушедшие клиенты выгружаются из CRM или таблиц, чистятся от дублей и делятся по причине ухода, услуге, сумме и дате последнего контакта.",{"lead":3024,"text":3025,"highlight":201},"Под каждый сегмент - своя линия касаний.","Возврат к прежней услуге, предложение смежных, полезный инфоповод, мягкое выявление потребности. Частота - раз в 45-90 дней, тексты вы утверждаете заранее.",{"lead":3027,"text":3028,"highlight":201},"Отправка идёт без вас.","Движок сам берёт нужный сегмент, подставляет имя и историю работы, отправляет через ваш канал и фиксирует касание в CRM. Два письма подряд никто не получит.",{"lead":3030,"text":3031,"highlight":201},"Ответы разбирает ассистент.","Читает ответ, определяет интерес, вытаскивает потребность и бюджетный сигнал, задаёт пару уточняющих вопросов. Отказы помечает и убирает из рассылки.",{"lead":3033,"text":3034,"highlight":206},"Менеджер видит только тёплых.","К нему приходит карточка с готовой сводкой, а не список из ста контактов для обзвона.",{"id":2922,"sort":2841,"collection":2923,"item":3036},{"heading":2919,"items":3037,"total_label":3050,"total_value":3051,"footnote":3052},[3038,3041,3044,3047],{"lead":3039,"text":3040},"База, сегменты и тексты касаний","1,5 - 2 недели",{"lead":3042,"text":3043},"Автоотправка, AI-обработка ответов и дашборд","2 - 4 недели от старта",{"lead":3045,"text":3046},"Первая волна писем по спящей базе","2 - 3 неделя",{"lead":3048,"text":3049},"Инфраструктура и модели","2 000 - 4 000 рублей в месяц","Вилка внедрения и ведения","30 000 - 70 000 рублей в месяц","Точнее - после пары уточнений о размере базы и канале отправки.",{"id":2968,"sort":3054,"collection":2425,"item":3055},16,{"list_style":2592,"items":3056},[3057,3059,3061,3063],{"lead":200,"text":3058,"highlight":201},"Связь с бывшими клиентами не зависит от того, вспомнил ли о них менеджер",{"lead":200,"text":3060,"highlight":201},"Актуальная потребность выясняется до того, как вы потратили время на звонок",{"lead":200,"text":3062,"highlight":201},"Отказы фиксируются и больше не тревожатся - репутация цела",{"lead":200,"text":3064,"highlight":201},"Видно, какой сценарий возвращает клиентов, а какой нет",{"id":2971,"sort":3066,"collection":2060,"item":3067},17,{"heading":3068,"body":3069,"footnote":195,"tone":2996,"show_border":206},"Главный риск - не технический","База ушедших клиентов остывает. Через полгода-год человек уже нашёл подрядчика, привык к нему и возвращать его придётся как нового - долго и дорого. Стоимость промедления здесь выше стоимости самой системы.",{"id":2974,"sort":3071,"collection":193,"item":3072},18,{"cta_variant":232,"heading":233,"body":3073,"button_label":235,"url":195,"glow":206},"Если у вас лежит такая же спящая база, опишите ситуацию - ИИ-оценщик за 60 секунд предложит схему, вилку по деньгам и расчёт возврата на ваших цифрах.",{"id":3075,"modified_on":3076},"b8fe0f7f-b20b-4053-81bc-6e3b2c7533e4","2026-08-18T11:38:51.490Z",{"id":3078,"title":3079,"slug":3080,"excerpt":3081,"content":3082,"cover_alt":3233,"cover_position":195,"reading_time":196,"seo":3234,"robots_index":206,"seo_title":3235,"seo_description":3236,"date_published":3239,"date_modified":195,"source_lead":195,"rubrics":3240,"blocks":3245,"cover":3257},"041ba44f-22a2-450c-877d-d1481107b220","Предприятие одного человека: как устроен мой ИИ-штаб","kak-ustroen-moy-ai-shtab","Роли секретаря, аналитика и ассистента у меня закрыты системами, а не людьми - наёмных сотрудников в них нет. Показываю штаб изнутри и то, что из этого повторяется у вас без найма.",{"type":11,"content":3083},[3084,3088,3092,3097,3101,3105,3109,3114,3125,3129,3134,3138,3142,3147,3157,3161,3166,3170,3190,3195,3199,3209,3213,3216,3220,3224],{"type":14,"content":3085},[3086],{"type":17,"text":3087},"К утру вчерашние звонки уже лежат в архиве разобранными: кто говорил, о чём договорились, что осталось за мной. Я к этому не прикасался. Работаю я один: без штата и без ассистента в привычном смысле, при этом параллельно идут AI-направление крупной платформы, клиентские проекты и собственные продукты. Я инженер, поэтому вместо найма собрал себе штаб.",{"type":14,"content":3089},[3090],{"type":17,"text":3091},"One Man Enterprise - предприятие одного человека - это компания, в которой роли закрыты системами: секретарь ведёт протоколы звонков, аналитик помнит все решения, ассистент готовит черновики. Наёмных людей в этих ролях нет. В этой рубрике я буду показывать своё предприятие изнутри - без теории, на том, что реально крутится у меня каждый день.",{"type":24,"attrs":3093,"content":3094},{"level":26},[3095],{"type":17,"text":3096},"Фундамент: папки и markdown",{"type":14,"content":3098},[3099],{"type":17,"text":3100},"Основа штаба разочаровывающе простая: папки и текстовые файлы. Проекты, звонки, решения, брейнштормы, справочники - всё лежит в одном рабочем пространстве обычным markdown. Никакой экзотики: такие файлы читает и человек, и AI-агент.",{"type":14,"content":3102},[3103],{"type":17,"text":3104},"ему не нужно ничего настраивать и подключать - он читает файлы, как читал бы новый сотрудник, которому выдали доступ к архиву компании. И архив остаётся у вас, а не в чужой подписке.",{"type":14,"content":3106},[3107],{"type":17,"text":3108},"Главное здесь вот что: дела перестают держаться на моей памяти. Решение, принятое в марте, лежит в папке решений вместе с обоснованием, почему выбрали именно так. Договорённость с клиентом - в протоколе звонка. Когда я сажусь за задачу, ассистент собирает досье за секунды: что решали, что обещали, где уже наступали на грабли. Это та часть работы, которую в компании обычно держит на себе помощник или аналитик.",{"type":24,"attrs":3110,"content":3111},{"level":26},[3112],{"type":17,"text":3113},"Вход: голос вместо клавиатуры",{"type":14,"content":3115},[3116,3118,3123],{"type":17,"text":3117},"Значительная часть моего ввода - голос. Я собрал себе нативную утилиту диктовки для macOS (WhisperKey - про неё ",{"type":17,"marks":3119,"text":3122},[3120],{"type":282,"attrs":3121},{"href":839},"отдельная статья",{"type":17,"text":3124}," в рубрике \"Инструменты\"): зажал клавишу, наговорил, отпустил - текст появился в активном приложении. Распознавание идёт прямо на ноутбуке.",{"type":14,"content":3126},[3127],{"type":17,"text":3128},"Звучит как мелочь, но на практике меняется сам жанр работы: задачи агентам, черновики писем и заметки я наговариваю на ходу, как будто диктую живому помощнику.",{"type":24,"attrs":3130,"content":3131},{"level":26},[3132],{"type":17,"text":3133},"Звонки, которые разбирают себя сами",{"type":14,"content":3135},[3136],{"type":17,"text":3137},"Созвоны - главный источник контекста и главный кандидат на его потерю. У меня записи звонков ежедневно автоматически скачиваются, транскрибируются и раскладываются в архив: один файл на звонок - дата, участники, о чём говорили, что решили, какие задачи и открытые вопросы остались.",{"type":14,"content":3139},[3140],{"type":17,"text":3141},"Когда через месяц всплывает вопрос \"а что мы решили по интеграции?\", ответ занимает минуту: протокол есть, переслушивать час записи не нужно. Расшифровку и разметку \"кто именно что сказал\" я собрал сам, и работает всё на моём ноутбуке - записи разговоров с клиентами никуда не уезжают.",{"type":24,"attrs":3143,"content":3144},{"level":26},[3145],{"type":17,"text":3146},"Навыки: повторяемое превращается в инструкции",{"type":14,"content":3148},[3149,3155],{"type":17,"marks":3150,"text":3154},[3151],{"type":282,"attrs":3152},{"href":3153},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fnavyki-agentov-vmesto-promptov","Третий слой - навыки",{"type":17,"text":3156},". Каждый повторяемый процесс - оценка проекта, разбор звонка, выгрузка отчёта - оформлен как инструкция для агента: когда применять, какие шаги, какие грабли известны. После каждого использования инструкция обновляется: наступил на новые грабли - дописал.",{"type":14,"content":3158},[3159],{"type":17,"text":3160},"В этом отличие от \"поиграться с нейросетями\": разовый промпт живёт только внутри одного чата, а инструкция-навык копит опыт от задачи к задаче и ничего не забывает.",{"type":24,"attrs":3162,"content":3163},{"level":26},[3164],{"type":17,"text":3165},"Принципы",{"type":14,"content":3167},[3168],{"type":17,"text":3169},"Три правила, на которых всё держится:",{"type":73,"content":3171},[3172,3178,3184],{"type":76,"content":3173},[3174],{"type":14,"content":3175},[3176],{"type":17,"text":3177},"Доступы, а не обещания. Агент получает ровно те ключи и права, которые нужны под задачу, и дальше работает сам.",{"type":76,"content":3179},[3180],{"type":14,"content":3181},[3182],{"type":17,"text":3183},"Проверка реальным запуском. Работу агента я принимаю как работу подрядчика: прогоном, тестом, скриншотом.",{"type":76,"content":3185},[3186],{"type":14,"content":3187},[3188],{"type":17,"text":3189},"Порядок после себя. Каждая задача заканчивается актуализацией документации. Иначе через месяц штаб превращается в свалку.",{"type":24,"attrs":3191,"content":3192},{"level":26},[3193],{"type":17,"text":3194},"Что реально поменялось",{"type":14,"content":3196},[3197],{"type":17,"text":3198},"Честный ответ - не \"в десять раз больше денег\". Эффект другой: перестаёт теряться контекст. Я не готовлюсь к звонкам по часу, не восстанавливаю договорённости по памяти, не начинаю задачи с чистого листа. Объём, который раньше потребовал бы ассистента, аналитика и половину проджект-менеджера, закрывают системы - а я занимаюсь тем, что действительно требует меня: архитектурой, переговорами, решениями.",{"type":14,"content":3200},[3201,3203,3208],{"type":17,"text":3202},"Отдельно разобрал, ",{"type":17,"marks":3204,"text":3207},[3205],{"type":282,"attrs":3206},{"href":2669},"как устроен архив звонков",{"type":17,"text":2013},{"type":24,"attrs":3210,"content":3211},{"level":26},[3212],{"type":17,"text":556},{"type":181,"attrs":3214},{"id":3215,"junction":184,"collection":185},"51afc155-decb-4f63-af73-07e6771e45dc",{"type":14,"content":3217},[3218],{"type":17,"text":3219},"Посчитайте на своих цифрах. Например, восемь созвонов в месяц и час на подготовку к каждому - это рабочий день, при дне руководителя 7 000 - 10 000 рублей. Роль, которая ведёт эти записи руками, стоит 40 000 - 80 000 рублей в месяц при ставке ассистента. А один забытый пункт из разговора при среднем чеке 50 000 рублей может стоить дороже, чем вся эта экономия за месяц.",{"type":14,"content":3221},[3222],{"type":17,"text":3223},"Если узнали себя - всё держится на вас и на вашей памяти, - начинать стоит не с инструментов, а с одного процесса. Разобрал по шагам, с чего начать и что считать результатом.",{"type":14,"content":3225},[3226,3227],{"type":17,"text":1163},{"type":17,"marks":3228,"text":3232},[3229],{"type":282,"attrs":3230},{"href":3231},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fs-chego-nachat-avtomatizaciyu","Автоматизация бизнес-процессов: с чего начать, чтобы не потратить бюджет впустую","Схема ИИ-штаба: красный узел в центре и сеть связанных с ним агентов на тёмном фоне",{"title":3235,"meta_description":3236,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":3237,"additional_fields":3238},"Предприятие одного человека: мой ИИ-штаб изнутри","Как один человек работает как команда: база знаний на markdown, голосовой ввод, автоматический разбор звонков и AI-агенты. Опыт инженера-практика.",{"change_frequency":203,"priority":204},{},"2026-07-31T07:00:00.000Z",[3241,3243],{"sort":210,"tags_id":3242},{"name":1025},{"sort":26,"tags_id":3244},{"name":579},[3246],{"id":3215,"sort":195,"collection":185,"item":3247},{"items":3248,"columns":229},[3249,3252,3255],{"lead":3250,"text":3251},"40 000 - 80 000 рублей","зарплата ассистента, чью работу здесь закрывают папки с файлами и агенты",{"lead":3253,"text":3254},"1 час на созвон","столько уходит на подготовку, если договорённости лежат только в памяти",{"lead":227,"text":3256},"цена вашего дня, который перестаёт уходить на подготовку и раскопки",{"id":3258,"modified_on":3259},"6fcac856-3ace-4310-bfee-fa46678a10ca","2026-08-12T12:31:57.022Z",{"id":3261,"title":3232,"slug":3262,"excerpt":3263,"content":3264,"cover_alt":3432,"cover_position":195,"reading_time":196,"seo":3433,"robots_index":206,"seo_title":3434,"seo_description":3435,"date_published":3439,"date_modified":195,"source_lead":195,"rubrics":3440,"blocks":3446,"cover":3462},"8def2704-7cb6-43f0-86f5-cede63eab0d9","s-chego-nachat-avtomatizaciyu","Если в компании звучит \"хотим внедрить ИИ везде\" - это про вас. По исследованию SpeShu.AI, 43 процента малого бизнеса упираются в один вопрос: какой процесс автоматизировать первым. Ниже фильтр из четырёх вопросов, которым я выбираю его за час.",{"type":11,"content":3265},[3266,3270,3274,3277,3281,3285,3290,3294,3298,3303,3307,3349,3353,3356,3361,3393,3398,3402,3406,3410,3421,3425],{"type":14,"content":3267},[3268],{"type":17,"text":3269},"Типичная заявка звучит так: \"Хотим внедрить ИИ в отдел продаж, маркетинг и документооборот\". Если вы это уже говорили вслух - дальше можно не объяснять, вы знаете, чем такие заходы заканчиваются: пара оплаченных подписок, один энтузиаст, который \"что-то пробовал\", и вывод \"нам это не подошло\".",{"type":14,"content":3271},[3272],{"type":17,"text":3273},"Летом 2026 года SpeShu.AI опубликовала исследование по итогам 86 глубинных интервью с малым и средним бизнесом. Главная цифра оттуда важнее всех прогнозов про триллионы: 43 процента назвали барьером для внедрения ИИ непонимание точки входа - какой процесс автоматизировать первым. Барьер управленческий: деньги у бизнеса есть, непонятно, куда направить их первыми.",{"type":181,"attrs":3275},{"id":3276,"junction":184,"collection":185},"c7281e5e-0f52-4b71-b750-38faaca2d565",{"type":14,"content":3278},[3279],{"type":17,"text":3280},"Посчитайте на своих цифрах. Менеджер тратит на перенос заявок 10 часов в неделю - это 43 часа в месяц, при ставке 500 рублей за час 21 500 рублей. Прибавьте риск: при среднем чеке 50 000 и конверсии 30 процентов одна заявка, потерянная по дороге в CRM, стоит 15 000 рублей. За инструменты малый бизнес готов платить 10 - 15 тысяч в месяц - первый же процесс их отбивает.",{"type":14,"content":3282},[3283],{"type":17,"text":3284},"Ниже - фильтр из четырёх вопросов, которым я выбираю первый процесс на платных сессиях с собственниками.",{"type":24,"attrs":3286,"content":3287},{"level":26},[3288],{"type":17,"text":3289},"Что не так с формулировкой \"внедрить ИИ везде\"",{"type":14,"content":3291},[3292],{"type":17,"text":3293},"У такой формулировки нет ни границ, ни бюджета, ни критерия успеха. За ней обычно стоит тревога: конкуренты что-то внедряют, надо не отстать.",{"type":14,"content":3295},[3296],{"type":17,"text":3297},"Проект начинается там, где можно ответить на три вопроса: какой процесс, что считаем результатом и сколько это стоит в часах или рублях. Пока ответов нет, деньги уходят на эксперименты.",{"type":24,"attrs":3299,"content":3300},{"level":26},[3301],{"type":17,"text":3302},"Фильтр: как выбрать первый процесс",{"type":14,"content":3304},[3305],{"type":17,"text":3306},"Кандидатов на автоматизацию прогоняю через четыре вопроса. Проходит - берём, не проходит - откладываем.",{"type":1995,"content":3308},[3309,3319,3329,3339],{"type":76,"content":3310},[3311],{"type":14,"content":3312},[3313,3317],{"type":17,"marks":3314,"text":3316},[3315],{"type":112},"Есть ли данные в электронном виде?",{"type":17,"text":3318}," Excel, CRM, переписки, 1С - неважно. Если процесс живёт на бумаге и в устных договорённостях, сначала его придётся оцифровать, и это отдельная работа.",{"type":76,"content":3320},[3321],{"type":14,"content":3322},[3323,3327],{"type":17,"marks":3324,"text":3326},[3325],{"type":112},"Это рутина или разовая задача?",{"type":17,"text":3328}," Автоматизация окупается повторением. Отчёт, который собирается каждую неделю по три часа, - отличный кандидат. Презентация раз в год - нет.",{"type":76,"content":3330},[3331],{"type":14,"content":3332},[3333,3337],{"type":17,"marks":3334,"text":3336},[3335],{"type":112},"Считается ли эффект в деньгах или часах?",{"type":17,"text":3338}," Критерий выглядит так: \"менеджер тратит 10 часов в неделю на перенос заявок из почты в CRM\". \"Станет удобнее\" критерием не считается.",{"type":76,"content":3340},[3341],{"type":14,"content":3342},[3343,3347],{"type":17,"marks":3344,"text":3346},[3345],{"type":112},"Не ломает ли это работающее?",{"type":17,"text":3348}," Первый проект должен встать рядом с текущим процессом, а не вместо него. Продажи, которые кормят компанию, - худшее место для экспериментов.",{"type":14,"content":3350},[3351],{"type":17,"text":3352},"Процесс, прошедший все четыре вопроса, почти всегда выглядит скучно: отчёты, переносы данных между системами, первичная обработка заявок, расшифровка и разбор звонков. Это нормально. Первая автоматизация и должна быть скучной - она покупает доверие команды к следующей.",{"type":181,"attrs":3354},{"id":3355,"junction":184,"collection":2060},"cd8a68ab-9728-4753-8551-d361e9758e3a",{"type":24,"attrs":3357,"content":3358},{"level":26},[3359],{"type":17,"text":3360},"Где спотыкаются на старте",{"type":73,"content":3362},[3363,3373,3383],{"type":76,"content":3364},[3365],{"type":14,"content":3366},[3367,3371],{"type":17,"marks":3368,"text":3370},[3369],{"type":112},"Начать с самого сложного.",{"type":17,"text":3372}," \"Пусть ИИ сам продаёт\" - худший первый проект: максимум неопределённости и максимум цены ошибки. К нему приходят третьим шагом.",{"type":76,"content":3374},[3375],{"type":14,"content":3376},[3377,3381],{"type":17,"marks":3378,"text":3380},[3379],{"type":112},"Автоматизировать хаос.",{"type":17,"text":3382}," Если процесс живёт в голове у одного сотрудника и каждый раз идёт по-разному, автоматизировать нечего: сначала процесс описывают, потом автоматизируют.",{"type":76,"content":3384},[3385],{"type":14,"content":3386},[3387,3391],{"type":17,"marks":3388,"text":3390},[3389],{"type":112},"Выбирать по хайпу.",{"type":17,"text":3392}," Выбирать стоит по самой дорогой рутине, а инструмент подбирается под неё, даже если о нём никто не говорит. Иногда лучший \"ИИ-проект\" оказывается обычной связкой двух систем без всякого ИИ.",{"type":24,"attrs":3394,"content":3395},{"level":26},[3396],{"type":17,"text":3397},"С чего начать на практике",{"type":14,"content":3399},[3400],{"type":17,"text":3401},"Инвентаризация. Час честной работы: выписать, где лежат данные (таблицы, CRM, чаты, учётная система), что сотрудники делают руками каждую неделю и чья экспертиза живёт только в чьей-то голове. Из этого списка по фильтру выше почти всегда остаётся один-два кандидата - и выбор перестаёт быть спором о вкусах.",{"type":14,"content":3403},[3404],{"type":17,"text":3405},"Готовность платить у рынка уже сформирована: по тому же исследованию, малый бизнес готов отдавать за ИИ-инструменты 10 - 15 тысяч рублей в месяц, команды от десяти человек - 75 - 100 тысяч. Дальше арифметика простая: три часа в неделю на сборку отчёта - это 13 часов и 6 500 рублей в месяц при ставке 500 рублей за час. Один такой отчёт подписку не окупает, поэтому в фильтре и стоит вопрос про деньги: берите самую дорогую рутину, а не самую заметную.",{"type":14,"content":3407},[3408],{"type":17,"text":3409},"Я делаю такую инвентаризацию в формате платной диагностики \"Карта автоматизации\": сессия полтора часа плюс письменная карта - где данные, какие процессы-кандидаты, что каждый даст в рублях и смета первого шага. Но сам фильтр из четырёх вопросов работает и без меня: он выше, применяйте.",{"type":14,"content":3411},[3412,3414,3420],{"type":17,"text":3413},"Когда процесс выбран, следующий вопрос - сколько это стоит и как читать смету, чтобы не купить воздух. Разобрал отдельно: ",{"type":17,"marks":3415,"text":3419},[3416],{"type":282,"attrs":3417},{"href":3418},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002Fkak-chitat-ocenku-na-avtomatizaciyu","как читать оценку на автоматизацию",{"type":17,"text":2013},{"type":14,"content":3422},[3423],{"type":17,"text":3424},"Расшифровка и разбор звонков - ровно такая скучная первая автоматизация: данные уже есть, рутина еженедельная, эффект считается в часах. Показываю на своём архиве, как созвоны сами превращаются в протоколы с решениями и задачами.",{"type":14,"content":3426},[3427,3428],{"type":17,"text":1163},{"type":17,"marks":3429,"text":2405},[3430],{"type":282,"attrs":3431},{"href":2669},"Человек перед тёмной стеной, в которой открыт узкий проём с красным светом",{"title":3434,"meta_description":3435,"focus_keyphrase":3436,"og_image":195,"no_index":201,"no_follow":201,"sitemap":3437,"additional_fields":3438},"Автоматизация бизнес-процессов: с чего начать","С чего начать автоматизацию бизнес-процессов: фильтр из четырёх вопросов для выбора первого процесса, три типовые ошибки старта и порядок инвентаризации.","автоматизация бизнес процессов с чего начать",{"change_frequency":203,"priority":204},{},"2026-07-30T07:00:00.000Z",[3441,3444],{"sort":210,"tags_id":3442},{"name":3443},"Заявки",{"sort":26,"tags_id":3445},{"name":1025},[3447,3458],{"id":3276,"sort":195,"collection":185,"item":3448},{"items":3449,"columns":229},[3450,3453,3456],{"lead":3451,"text":3452},"43 часа в месяц","рутинный перенос заявок в CRM при 10 часах в неделю",{"lead":3454,"text":3455},"21 500 рублей","те же часы в деньгах при ставке менеджера 500 рублей в час",{"lead":1600,"text":3457},"цена одной потерянной заявки при чеке 50 000 и конверсии 30 процентов",{"id":3355,"sort":195,"collection":2060,"item":3459},{"heading":2171,"body":3460,"footnote":195,"tone":3461,"show_border":206},"Если на вопрос \"какой процесс автоматизируем первым\" в компании три разных ответа - вы не готовы к внедрению, вы готовы к инвентаризации. Это разные работы и разные деньги.","accent",{"id":3463,"modified_on":3259},"cbb9b115-b0c7-4d52-97c9-3a3a0766d3d6",{"id":3465,"title":3466,"slug":3467,"excerpt":3468,"content":3469,"cover_alt":3579,"cover_position":195,"reading_time":229,"seo":3580,"robots_index":206,"seo_title":3581,"seo_description":3582,"date_published":3585,"date_modified":195,"source_lead":195,"rubrics":3586,"blocks":3593,"cover":3610},"21f2cadf-a9dd-4c74-b1bc-b51af271c23c","134 автоматизации ведёт один инженер - и бизнес не его заложник","134-workflow-v-prode","Сто с лишним автоматизаций, пять арендаторов на одной платформе и один инженер. Показываю, что для этого пришлось завести и что стоит спросить у своего подрядчика, чтобы ваша система не держалась на одной голове.",{"type":11,"content":3470},[3471,3475,3486,3491,3495,3499,3504,3509,3513,3517,3522,3526,3531,3535,3539,3544,3548,3552,3557,3561,3565,3569,3572,3576],{"type":14,"content":3472},[3473],{"type":17,"text":3474},"Последние годы я веду AI-направление закрытой платформы сообщества (проект под NDA, поэтому без имён и деталей продукта). Веду - потому что сам его и сделал: спроектировал и собрал с нуля, практически в одиночку. AI-агент клуба, рекомендации знакомств, поиск людей под запрос, рассылки и вся начинка под ними - примерно 134 процесса в n8n, которые всё это исполняют.",{"type":14,"content":3476},[3477,3479,3484],{"type":17,"text":3478},"Стек: Directus + n8n + React, поиск на ",{"type":17,"marks":3480,"text":3483},[3481],{"type":282,"attrs":3482},{"href":523},"векторной базе Qdrant",{"type":17,"text":3485},", пять арендаторов на одной кодовой базе, полный набор стендов - dev, stage, prod. Стенды, промоушен и дисциплину сопровождения, о которых пойдёт речь дальше, я тоже довёл до нынешнего вида сам.",{"type":24,"attrs":3487,"content":3488},{"level":26},[3489],{"type":17,"text":3490},"Где на самом деле потолок low-code",{"type":14,"content":3492},[3493],{"type":17,"text":3494},"Low-code продаётся как \"быстро собрал - работает\". Это правда ровно до сопровождения. Сто с лишним воркфлоу невозможно держать в голове: через полгода собственная схема читается как чужая, любое изменение может задеть соседний процесс, а нового человека приходится вводить в курс руками. По моему опыту порог - примерно два десятка сценариев: если их больше и ни у одного нет описания, это уже техдолг.",{"type":14,"content":3496},[3497],{"type":17,"text":3498},"Обычный финал такой истории - \"у нас есть человек, который знает, как оно работает, не трогайте его\". Это не масштабируется и делает проект заложником одной головы. Меня такой финал не устраивал, потому что эта голова - моя.",{"type":24,"attrs":3500,"content":3501},{"level":26},[3502],{"type":17,"text":3503},"Что держит систему",{"type":24,"attrs":3505,"content":3506},{"level":229},[3507],{"type":17,"text":3508},"Документация живёт внутри воркфлоу",{"type":14,"content":3510},[3511],{"type":17,"text":3512},"У каждого воркфлоу есть заметка \"О процессе\" прямо на холсте: зачем процесс существует, откуда приходят данные, куда уходят, какие есть неочевидные места. Та же заметка зеркалится в markdown-базу знаний проекта. Документация внутри инструмента работает лучше вики \"где-то рядом\": её видно в момент работы.",{"type":14,"content":3514},[3515],{"type":17,"text":3516},"Правило простое: заметка пишется для того, кто открыл воркфлоу впервые. На практике \"тот, кто открыл впервые\" - это я сам через полгода и AI-ассистент, которому нужен контекст. Расследование \"почему тут так\" сводится к чтению заметки.",{"type":24,"attrs":3518,"content":3519},{"level":229},[3520],{"type":17,"text":3521},"Воркфлоу - это код в git",{"type":14,"content":3523},[3524],{"type":17,"text":3525},"Изменения идут через репозиторий: каждая версия сохраняется, видно, кто и что менял, любую правку можно откатить - всё, к чему привыкли в обычной разработке, работает и для low-code. Когда что-то сломалось, я не гадаю: сравниваю с вчерашней версией и вижу, что в ней изменилось.",{"type":24,"attrs":3527,"content":3528},{"level":229},[3529],{"type":17,"text":3530},"Стенды и управляемый промоушен",{"type":14,"content":3532},[3533],{"type":17,"text":3534},"Dev - верстак: здесь можно ломать. Stage - репетиция. Prod - только то, что прошло первые два. Один и тот же процесс на всех трёх стендах называется и подключается одинаково, поэтому изменение переносится процедурой, а не пересобирается руками \"по образцу\". На боевом не всплывает то, чего не было на репетиции.",{"type":14,"content":3536},[3537],{"type":17,"text":3538},"Процедура скучная, но она позволяет одному человеку катить изменения в систему, которой ежедневно пользуются живые люди у пяти арендаторов.",{"type":24,"attrs":3540,"content":3541},{"level":229},[3542],{"type":17,"text":3543},"AI-ассистент как второй инженер",{"type":14,"content":3545},[3546],{"type":17,"text":3547},"Рутину сопровождения я отдаю AI-агенту: пересчитать процессы и сверить стенды между собой, найти, где ещё используются те же данные, набросать черновик заметки \"О процессе\". Здесь замыкается круг: агент справляется ровно потому, что первые три пункта дали ему читаемую систему - описания, файлы в git, предсказуемые стенды.",{"type":14,"content":3549},[3550],{"type":17,"text":3551},"Это, пожалуй, главный вывод кейса: AI-ассистент не компенсирует бардак, он умножает порядок. На хаосе он умножает хаос.",{"type":24,"attrs":3553,"content":3554},{"level":26},[3555],{"type":17,"text":3556},"Результат",{"type":14,"content":3558},[3559],{"type":17,"text":3560},"Один инженер спроектировал, построил и ведёт AI-направление платформы на пять арендаторов: развитие, сопровождение и прод-инциденты. \"Человека-энциклопедии\" в единственном экземпляре при этом нет, потому что знание о системе лежит в самой системе: новая фича начинается с чтения заметок, инцидент - с диффа.",{"type":14,"content":3562},[3563],{"type":17,"text":3564},"Отдельный бонус всплыл позже: когда понадобилось передавать часть процессов коллегам, онбординг свёлся к \"открой воркфлоу и прочитай заметку\". Документация, написанная для себя-через-полгода, оказалась готовой документацией для кого угодно.",{"type":24,"attrs":3566,"content":3567},{"level":26},[3568],{"type":17,"text":556},{"type":181,"attrs":3570},{"id":3571,"junction":184,"collection":185},"b3938660-31ca-42f2-9fde-7d3be3c4f587",{"type":14,"content":3573},[3574],{"type":17,"text":3575},"Возьмите свои часы. Даже десять разборов \"почему тут так\" по часу в месяц при ставке сотрудника 500 рублей за час - это 5 000 рублей, а если разбирается руководитель, каждый такой день стоит 7 000 - 10 000 рублей. Столько же уходит на ввод нового человека без описаний. С заметкой внутри процесса и историей изменений это чтение, а не расследование.",{"type":181,"attrs":3577},{"id":3578,"junction":184,"collection":193},"0f426d6e-ddad-4b7b-9c50-707e74860f3e","Карта продакшн-воркфлоу: десятки узлов, соединённых линиями, часть маршрутов горит красным",{"title":3581,"meta_description":3582,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":3583,"additional_fields":3584},"134 воркфлоу n8n в проде: как их строит и ведёт один инженер","Кейс: один инженер собрал AI-направление low-code платформы с нуля и держит его в проде - документация внутри воркфлоу, код в git, стенды dev\u002Fstage\u002Fprod и AI-ассистент вместо второго инженера.",{"change_frequency":203,"priority":204},{},"2026-07-29T07:00:00.000Z",[3587,3589,3591],{"sort":210,"tags_id":3588},{"name":798},{"sort":26,"tags_id":3590},{"name":1025},{"sort":229,"tags_id":3592},{"name":579},[3594,3605],{"id":3571,"sort":195,"collection":185,"item":3595},{"items":3596,"columns":229},[3597,3600,3602],{"lead":3598,"text":3599},"5 000 рублей в месяц","10 разборов \"почему тут так\" по часу при ставке сотрудника 500 рублей за час",{"lead":227,"text":3601},"день руководителя, который уходит на ввод нового человека руками",{"lead":3603,"text":3604},"20 сценариев","порог, после которого автоматизация без описаний превращается в техдолг",{"id":3578,"sort":195,"collection":193,"item":3606},{"cta_variant":232,"heading":3607,"body":3608,"button_label":3609,"url":195,"glow":206},"Система держится на одном человеке?","Опишите своими словами, что у вас уже автоматизировано и на ком это держится. За 30 секунд получите вариант решения, стоимость и экономию в месяц - без звонка и без вашего телефона.","Посчитать мою выгоду",{"id":3611,"modified_on":3259},"92803fba-04d2-4d4e-8bf0-32a5579b5d3e",{"id":3613,"title":3614,"slug":3615,"excerpt":3616,"content":3617,"cover_alt":3732,"cover_position":195,"reading_time":229,"seo":3733,"robots_index":206,"seo_title":3734,"seo_description":3735,"date_published":3738,"date_modified":195,"source_lead":195,"rubrics":3739,"blocks":3744,"cover":3759},"0f6763a5-5ff7-4e0b-ae3b-c96ddc39c118","Диктовка для Мака без подписки: наговорил - и текст на месте","whisperkey-diktovka-dlya-maka","Если ваша работа - это письма, задачи и заметки, значительная часть дня уходит на набор текста. Я собрал для Мака диктовку: зажал клавишу, наговорил - текст появился там, где стоит курсор, без сети и без подписки.",{"type":11,"content":3618},[3619,3623,3634,3638,3643,3647,3651,3655,3660,3664,3690,3695,3699,3704,3708,3713,3717,3722,3725,3729],{"type":14,"content":3620},[3621],{"type":17,"text":3622},"Черновик этой статьи я наговорил голосом. Дорога к этому была такая: задачи агентам, письма, заметки, протоколы - работа почти целиком состоит из текста, а говорю я сильно быстрее, чем печатаю. Нужен был инструмент, который превращает речь в текст в любом приложении - в мессенджере, в редакторе, в терминале.",{"type":14,"content":3624},[3625,3627,3632],{"type":17,"text":3626},"Готовые варианты не подошли: встроенная диктовка macOS слаба для русского, ",{"type":17,"marks":3628,"text":3631},[3629],{"type":282,"attrs":3630},{"href":1168},"облачные сервисы означают подписку и зависимость от сети",{"type":17,"text":3633},", а большинство утилит работают только в своём окне. Мне нужна была системная вещь: зажал клавишу где угодно - наговорил - текст появился там, где стоит курсор.",{"type":14,"content":3635},[3636],{"type":17,"text":3637},"Я такую вещь собрал. Называется WhisperKey, живёт в строке меню Мака, и через неё сейчас проходит заметная часть моего ввода.",{"type":24,"attrs":3639,"content":3640},{"level":26},[3641],{"type":17,"text":3642},"Что получилось",{"type":14,"content":3644},[3645],{"type":17,"text":3646},"Механика push-to-talk, как в рации: зажал правый Option - по краям экрана загорается оранжевое свечение и появляется плашка \"Говорите...\" - говоришь - отпустил. Пауза на распознавание, и текст вставляется в активное приложение, в то поле, где стоял курсор. Работает везде: Telegram, браузер, IDE, терминал.",{"type":14,"content":3648},[3649],{"type":17,"text":3650},"Под капотом - whisper.cpp, открытая реализация распознавания речи от Георгия Герганова, модель large-v3-turbo. Вся обработка идёт прямо на ноутбуке: тяжёлая часть модели исполняется на Neural Engine - нейропроцессоре, который стоит в каждом Маке на Apple Silicon и у большинства пользователей просто простаивает. Интернет для работы не нужен, подписки нет.",{"type":14,"content":3652},[3653],{"type":17,"text":3654},"Из приятного в быту: пунктуацию и заглавные буквы модель расставляет сама, во время диктовки видно живое превью распознанного, а после вставки утилита восстанавливает содержимое буфера обмена - то, что вы копировали до диктовки, не теряется.",{"type":24,"attrs":3656,"content":3657},{"level":26},[3658],{"type":17,"text":3659},"Инженерная часть: где были грабли",{"type":14,"content":3661},[3662],{"type":17,"text":3663},"Дальше идёт инженерный раздел. Если вы не пишете код, листайте к ограничениям - там про то, чего эта диктовка не умеет. А тому, кто соберётся делать системную утилиту под macOS, эти грабли сэкономят время.",{"type":73,"content":3665},[3666,3672,3678,3684],{"type":76,"content":3667},[3668],{"type":14,"content":3669},[3670],{"type":17,"text":3671},"Разрешения macOS. Глобальный хоткей и синтез вставки требуют разрешения Accessibility, запись - разрешения на микрофон. Главная подлость: при смене подписи приложения macOS молча отзывает Accessibility, и хоткей \"просто перестаёт работать\". Пришлось учить приложение замечать это и восстанавливать активацию самому.",{"type":76,"content":3673},[3674],{"type":14,"content":3675},[3676],{"type":17,"text":3677},"Вставка текста. Надёжнее всего оказался путь через буфер обмена и синтетический Cmd+V.",{"type":76,"content":3679},[3680],{"type":14,"content":3681},[3682],{"type":17,"text":3683},"Потоковое распознавание. Whisper обрабатывает звук скользящим окном, поэтому живое превью может \"передумывать\" слова на ходу. Решение - два прохода: черновой во время речи и точный после отпускания клавиши.",{"type":76,"content":3685},[3686],{"type":14,"content":3687},[3688],{"type":17,"text":3689},"Дистрибуция. Установочный образ получился крошечным, примерно 1.8 мегабайта: модель на 1.6 гигабайта скачивается при первом запуске с индикатором прогресса.",{"type":24,"attrs":3691,"content":3692},{"level":26},[3693],{"type":17,"text":3694},"Как это было построено",{"type":14,"content":3696},[3697],{"type":17,"text":3698},"Отдельный пласт этой истории - процесс. Swift не был моим основным языком: я бэкенд- и AI-инженер, а не разработчик под macOS. Приложение построено в паре с AI-агентом: архитектуру, ревью и приёмку держал я, значительную часть кода писал агент, на грабли из списка выше мы наступали вместе. Ядро накрыто тестами, а сборка - от компиляции whisper.cpp до готового образа - собрана в воспроизводимые скрипты.",{"type":24,"attrs":3700,"content":3701},{"level":26},[3702],{"type":17,"text":3703},"Ограничения, честно",{"type":14,"content":3705},[3706],{"type":17,"text":3707},"Абзацы модель не расставляет - для длинных текстов нужна пост-обработка через LLM, диктую я всё же кусками. Превью во время речи не дословное - точен только финальный проход. И это Mac-only история: всё завязано на Apple Silicon.",{"type":24,"attrs":3709,"content":3710},{"level":26},[3711],{"type":17,"text":3712},"Если нужна диктовка",{"type":14,"content":3714},[3715],{"type":17,"text":3716},"Смотрите в сторону whisper.cpp. Открытая модель и нейропроцессор, который уже стоит в вашем ноутбуке, дают качество русского, за которое ещё недавно просили подписку.",{"type":24,"attrs":3718,"content":3719},{"level":26},[3720],{"type":17,"text":3721},"Во сколько вам обходится время на текст",{"type":181,"attrs":3723},{"id":3724,"junction":184,"collection":185},"d86bbd22-99cc-400e-a047-27247edcfbdd",{"type":14,"content":3726},[3727],{"type":17,"text":3728},"Посчитайте на своих цифрах: сколько часов в день у вас уходит на письма, задачи и заметки, и какая у вас ставка. Для ориентира - час сотрудника обычно оценивают в 500 рублей, день собственника - в 7 000 - 10 000 рублей. Диктовка сокращает эту статью расходов косвенно: говорить быстрее, чем печатать. А вот следующая цифра точная: речь не уходит в чужое облако, потому что распознавание идёт на вашем ноутбуке - ни ежемесячного счёта за подписку, ни лишнего разговора о том, где лежат записи.",{"type":181,"attrs":3730},{"id":3731,"junction":184,"collection":193},"7f1050f2-8c58-44fc-a7f2-97c598c74d72","Красная звуковая волна превращается в строки текста рядом с силуэтом ноутбука",{"title":3734,"meta_description":3735,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":3736,"additional_fields":3737},"Диктовка для Мака без подписки: WhisperKey на whisper.cpp","Локальная диктовка на macOS: зажал клавишу, наговорил - текст в любом приложении. Whisper.cpp на Neural Engine, без сети и подписки. Грабли и что это даёт.",{"change_frequency":203,"priority":204},{},"2026-07-28T07:00:00.000Z",[3740,3742],{"sort":210,"tags_id":3741},{"name":1025},{"sort":26,"tags_id":3743},{"name":579},[3745,3756],{"id":3724,"sort":195,"collection":185,"item":3746},{"items":3747,"columns":229},[3748,3751,3753],{"lead":3749,"text":3750},"500 рублей в час","ориентир: ставка сотрудника, если считать время на набор текста в деньгах",{"lead":227,"text":3752},"ориентир: во что обходится день собственника, потраченный на то же самое",{"lead":3754,"text":3755},"0 рублей за облако","распознавание идёт на вашем ноутбуке: ни подписки, ни ухода речи наружу",{"id":3731,"sort":195,"collection":193,"item":3757},{"cta_variant":232,"heading":233,"body":3758,"button_label":235,"url":195,"glow":206},"Если у вас такая же рутина в тексте - ежедневный набор, перенос данных руками, - опишите задачу в оценщике. Он прикинет объём работ и стоимость такой утилиты под ваш случай.",{"id":3760,"modified_on":3761},"bf2d6a74-c875-4be3-af3e-aa09550926ea","2026-08-12T14:26:50.583Z",{"id":3763,"title":3764,"slug":3765,"excerpt":3766,"content":3767,"cover_alt":3921,"cover_position":195,"reading_time":229,"seo":3922,"robots_index":206,"seo_title":3923,"seo_description":3924,"date_published":3927,"date_modified":195,"source_lead":195,"rubrics":3928,"blocks":3933,"cover":3949},"1c2466c3-e456-46c8-8ab8-4645622e31f9","Второй Telegram-бот не должен стоить как первый","telegram-boty-na-state-machine","Второй похожий бот обычно делают копипастой первого, а к четвёртому одну и ту же правку приходится вносить четыре раза. Показываю, как сценарий диалога переехал в базу: новый бот заводится без разработки, а тексты и кнопки меняет администратор.",{"type":11,"content":3768},[3769,3774,3779,3784,3799,3804,3809,3814,3837,3842,3847,3852,3857,3887,3892,3897,3902,3907,3911,3914,3918],{"type":14,"attrs":3770,"content":3771},{"textAlign":195},[3772],{"type":17,"text":3773},"В 2025 году я делал серию Telegram-ботов для AI-генерации изображений и видео: похожие, но с разными сценариями диалога, тарифами и наборами кнопок. Второй бот в такой серии обычно делается копипастой первого, а к четвёртому у тебя четыре расползшиеся копии одной логики - и каждую правку приходится вносить четыре раза.",{"type":14,"attrs":3775,"content":3776},{"textAlign":195},[3777],{"type":17,"text":3778},"Вместо четырёх ботов я сделал один движок. Принцип не мой и старше меня: то, что часто меняется, должно жить в данных.",{"type":24,"attrs":3780,"content":3781},{"textAlign":195,"level":26},[3782],{"type":17,"text":3783},"Как это делается обычно - и где ломается",{"type":14,"attrs":3785,"content":3786},{"textAlign":195},[3787,3789,3797],{"type":17,"text":3788},"Стандартный путь: сценарий диалога зашивается прямо в ",{"type":17,"marks":3790,"text":3796},[3791],{"type":282,"attrs":3792},{"href":3793,"target":3794,"rel":3795,"class":195},"https:\u002F\u002Fagmazin.ru\u002Fblog\u002F134-workflow-v-prode","_blank","noopener noreferrer nofollow","воркфлоу n8n",{"type":17,"text":3798}," или в код бота. Пользователь нажал \"Старт\" - ветка, выбрал стиль - ветка, оплатил - ещё ветка. Пока бот один и сценарий короткий, всё отлично.",{"type":14,"attrs":3800,"content":3801},{"textAlign":195},[3802],{"type":17,"text":3803},"Ломается это в двух местах. Первое - тираж: новый бот означает копию воркфлоу, и с этого момента любую правку нужно вносить во все копии. Второе - правки сценария: поменять текст шага или добавить вопрос может только тот, кто умеет редактировать воркфлоу. Каждая мелочь превращается в задачу разработчику.",{"type":24,"attrs":3805,"content":3806},{"textAlign":195,"level":26},[3807],{"type":17,"text":3808},"Решение: конечный автомат, сценарий - в базе",{"type":14,"attrs":3810,"content":3811},{"textAlign":195},[3812],{"type":17,"text":3813},"Я собрал один движок на Directus и n8n. В основе конечный автомат: бот в любой момент знает, на каком этапе диалога стоит пользователь и в какие этапы его можно перевести дальше. Устроено так:",{"type":73,"content":3815},[3816,3823,3830],{"type":76,"content":3817},[3818],{"type":14,"attrs":3819,"content":3820},{"textAlign":195},[3821],{"type":17,"text":3822},"Сценарий диалога - это данные, а не код. В базе лежат две таблицы, этапы и переходы: у этапа - текст сообщения, кнопки и действие (например, запустить генерацию картинки), у перехода - из какого этапа в какой и по какому событию. Всё это видно и правится в обычной админке.",{"type":76,"content":3824},[3825],{"type":14,"attrs":3826,"content":3827},{"textAlign":195},[3828],{"type":17,"text":3829},"Состояние пользователя - тоже данные. У каждого пользователя хранится текущий этап диалога.",{"type":76,"content":3831},[3832],{"type":14,"attrs":3833,"content":3834},{"textAlign":195},[3835],{"type":17,"text":3836},"n8n - универсальный исполнитель. Один набор воркфлоу на все боты: пришло сообщение - читаем текущее состояние пользователя - выполняем действие этапа - переводим по подходящему переходу - отвечаем.",{"type":14,"attrs":3838,"content":3839},{"textAlign":195},[3840],{"type":17,"text":3841},"Движок при этом не знает ничего про конкретного бота - ни текстов, ни кнопок. Он умеет одно: проиграть тот сценарий, который описан в базе. Поэтому вся серия ботов работает на одном исполнителе.",{"type":24,"attrs":3843,"content":3844},{"textAlign":195,"level":26},[3845],{"type":17,"text":3846},"Что это дало",{"type":14,"attrs":3848,"content":3849},{"textAlign":195},[3850],{"type":17,"text":3851},"Главный результат: новый бот заводится записями в базе, без переписывания воркфлоу. Завести этапы, тексты, кнопки и переходы - и бот работает. Движок получился переиспользуемым: запуск следующего бота сводится к работе с данными.",{"type":14,"attrs":3853,"content":3854},{"textAlign":195},[3855],{"type":17,"text":3856},"Побочные эффекты оказались не менее ценными:",{"type":73,"content":3858},[3859,3866,3873,3880],{"type":76,"content":3860},[3861],{"type":14,"attrs":3862,"content":3863},{"textAlign":195},[3864],{"type":17,"text":3865},"Правки сценария перестали быть задачей разработчика. Поменять текст шага или добавить кнопку можно прямо в админке Directus.",{"type":76,"content":3867},[3868],{"type":14,"attrs":3869,"content":3870},{"textAlign":195},[3871],{"type":17,"text":3872},"Стало видно, что происходит с человеком. По каждому пользователю в базе написано, на каком он этапе и как сюда попал. Жалобу \"бот меня потерял\" разбираем по базе, а не восстанавливаем путь по логам.",{"type":76,"content":3874},[3875],{"type":14,"attrs":3876,"content":3877},{"textAlign":195},[3878],{"type":17,"text":3879},"Логика перестала расползаться. Исправление бага в исполнителе автоматически чинит все боты сразу - копий больше нет.",{"type":76,"content":3881},[3882],{"type":14,"attrs":3883,"content":3884},{"textAlign":195},[3885],{"type":17,"text":3886},"Появилась воронка бесплатно. Раз состояние каждого пользователя лежит в базе, вопрос \"сколько людей дошло до оплаты и где отваливаются\" закрывается одним запросом к базе, без отдельного проекта по аналитике.",{"type":24,"attrs":3888,"content":3889},{"textAlign":195,"level":26},[3890],{"type":17,"text":3891},"Границы подхода",{"type":14,"attrs":3893,"content":3894},{"textAlign":195},[3895],{"type":17,"text":3896},"Конечный автомат нужен не всегда. Если бот - это три линейных шага и он один, автомат избыточен: вы потратите время на движок, который не окупится. Прямолинейный воркфлоу будет дешевле.",{"type":14,"attrs":3898,"content":3899},{"textAlign":195},[3900],{"type":17,"text":3901},"Для свободного диалога автомата мало: когда пользователь пишет что угодно, нужна LLM. Но и здесь автомат помогает - агент со свободным диалогом хорошо живёт поверх каркаса, который держит оплату, лимиты и обязательные шаги. LLM отвечает за разговор, автомат - за то, чтобы бот не потерял пользователя и деньги.",{"type":14,"attrs":3903,"content":3904},{"textAlign":195},[3905],{"type":17,"text":3906},"Точка окупаемости подхода - второй похожий бот или первый сценарий, который придётся часто править. У меня оба условия сработали.",{"type":24,"attrs":3908,"content":3909},{"level":26},[3910],{"type":17,"text":556},{"type":181,"attrs":3912},{"id":3913,"junction":184,"collection":185},"3946ce3b-9421-4b8a-9c92-bc8e09180db9",{"type":14,"content":3915},[3916],{"type":17,"text":3917},"Посчитайте на своих цифрах. Правка общей логики раз в неделю при четырёх копиях бота - это четыре задачи разработчику вместо одной. Тексты и кнопки после этого правит администратор: при ставке 40 000 - 80 000 рублей в месяц это его обычная работа, а не релиз. Если бот собирает заявки, каждый застрявший на этапе - это заявка за 3 000 - 15 000 рублей, и теперь видно, на каком именно.",{"type":181,"attrs":3919},{"id":3920,"junction":184,"collection":193},"6986b21b-1180-4abf-af71-da4abf8dbc2d","Конечный автомат из блоков-записей, собирающийся в силуэт Telegram-бота, один блок подсвечен красным",{"title":3923,"meta_description":3924,"focus_keyphrase":200,"og_image":195,"no_index":201,"no_follow":201,"sitemap":3925,"additional_fields":3926},"Telegram-боты на конечном автомате: сценарий диалога в базе","Кейс: движок Telegram-ботов на Directus и n8n. Новый бот заводится записями в базе, а тексты и кнопки правит администратор, не разработчик.",{"change_frequency":203,"priority":204},{},"2026-07-27T07:00:00.000Z",[3929,3931],{"sort":210,"tags_id":3930},{"name":798},{"sort":26,"tags_id":3932},{"name":1025},[3934,3946],{"id":3913,"sort":195,"collection":185,"item":3935},{"items":3936,"columns":229},[3937,3940,3943],{"lead":3938,"text":3939},"1 правка вместо 4","Правка общей логики вносится один раз в движке - раньше её приходилось повторять в каждой из четырёх копий бота.",{"lead":3941,"text":3942},"0 задач разработчику","Текст этапа и кнопку правит администратор в базе, релиз не нужен.",{"lead":3944,"text":3945},"1 запрос к базе","Видно, сколько людей дошло до оплаты и на каком этапе отваливаются.",{"id":3920,"sort":195,"collection":193,"item":3947},{"cta_variant":232,"heading":233,"body":3948,"button_label":235,"url":195,"glow":206},"У вас уже есть бот и на подходе второй, или каждая правка сценария упирается в разработчика. Опишите задачу - посчитаю, во что обойдётся движок и на каком боте он окупится.",{"id":3950,"modified_on":3259},"e0f5ea2b-4959-4185-9d66-d24283607218"]