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