惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Privacy International News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
Project Zero
Project Zero
T
Threatpost
Spread Privacy
Spread Privacy
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
AWS News Blog
AWS News Blog
H
Heimdal Security Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
J
Java Code Geeks
罗磊的独立博客
博客园 - Franky
博客园 - 叶小钗
S
Security Affairs
月光博客
月光博客
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
A
Arctic Wolf
Cloudbric
Cloudbric
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News | PayPal Newsroom
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
The Register - Security
The Register - Security
I
InfoQ
F
Fortinet All Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
Lohrmann on Cybersecurity

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как мы перешли на Opus и стали платить меньше
python_leade · 2026-05-04 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение6 мин

Охват и читатели1.4K

Кейс

Перевод

На прошлой неделе мы писали о том, как скармливали терабайты CI-логов LLM. Большинство вопросов на Hacker News касались не самих логов — спрашивали про агента: какие модели, как они взаимодействуют и во сколько всё это обходится.

Сейчас мы работаем на Opus 4.6 и платим меньше, чем когда всё крутилось на Sonnet 4.0.

Причина в основном в том, чего Opus не делает: 80% сбоев до него не доходят, а когда доходят — он не читает ни одной строки лога.

Архитектура выглядит так:

Пусть дешёвый агент решает, нужен ли дорогой

На прошлой неделе мы проанализировали около 4 000 CI-сбоев. 818 оказались новыми проблемами. Остальные 3 187 — это уже известная проблема, которая снова всплыла: нестабильный тест, сбой инфраструктуры, сетевой глюк, который мы уже фиксировали.

Нет смысла поднимать дорогую модель, если в 80% случаев ответ — «это дубликат». К сожалению, детектировать дубликаты детерминированно невозможно: одна и та же задача может падать по совершенно разным причинам, поэтому нужно реально смотреть в логи, чтобы понять, встречали ли вы это раньше.

Изначально мы использовали Sonnet — как баланс между ценой и качеством. Работало, но это было худшее из двух миров: всё равно дорого, и результаты хуже, чем у frontier-модели.

Мы перешли на паттерн «triager»: Haiku-агент с очень конкретной и узкой задачей. Отслеживается ли эта проблема уже или нет? Если да — стоп. Если нет — эскалация до Opus.

Детектировать дубликаты с Haiku оказалось непросто. Чтобы максимально упростить задачу, мы прикрепили сообщения об ошибках к предыдущим сбоям и дали Haiku два инструмента поиска: точное совпадение для известных фрагментов ошибок и семантический поиск (pgvector) для похожих, но не идентичных ошибок. RAG умер, а семантический поиск — вполне себе. operator does not exist bigint character varying и migration type mismatch on installation_id — разные строки, но одна и та же первопричина, и семантический поиск это видит.

Haiku-агент читает логи, ищет сообщения об ошибках, пытается найти совпадение с известными сбоями и принимает решение. При сомнениях — эскалирует. Ложноположительный результат стоит немного денег; ложноотрицательный означает, что мы пропустим что-то реальное.

4 из 5 сбоев до Opus не доходят. Совпадение у triager стоит примерно в 25 раз меньше, чем полное расследование.

Если статья понравится — приглашаю в канал AI for Devs. Каждый день публикую похожие материалы: модели, агенты, практические кейсы и новости из мира AI.

Пусть агент сам вытягивает контекст, не нужно пушить его

Несколько человек спрашивали, как мы работаем с логами на 200K+ строк. Мы не пушим их в промпт. Мы даём агенту SQL-интерфейс к ClickHouse и позволяем запрашивать то, что нужно.

Дело не только в стоимости токенов. Если передать агенту конкретный набор строк лога, вы уже сами решили, что релевантно, — ещё до того, как поняли, в чём реальная проблема. Агент цепляется за то, что вы ему дали. Если настоящая причина где-то в другом месте, вы сами усложнили её поиск. Та же история, что с «не стоит начинать дебаг со слов "я думаю, проблема в этом файле"»: вы предвзято настраиваете расследование ещё до его начала.

О SQL-настройке мы подробно писали на прошлой неделе, но вкратце: есть одна таблица с сырыми данными (github_logs, одна строка = одна строка лога) и набор материализованных представлений с пре-агрегированными данными: частота сбоев по workflow, тайминги задач, счётчики результатов. Большинство расследований начинается с материализованных представлений, чтобы сузить причину, и переходит к сырым логам, когда нужно.

Мы не говорим агенту, какую таблицу запрашивать. Вместо этого используем сами ответы, чтобы направлять его постепенно. Если запрос возвращает слишком много строк — обрезаем и предлагаем более конкретное материализованное представление. Если логи ещё не проиндексированы — указываем на GitHub CLI. Агент сам разбирается, что ему нужно, без необходимости заранее предусматривать каждый возможный путь.

Дорогие агенты планируют, дешёвые — делают работу

Opus смотрит, что упало, формулирует гипотезу и запускает суб-агентов Haiku для фактического расследования. Каждый суб-агент получает промпт от Opus: что именно искать, как искать, что вернуть. Суб-агенты ограничены одним уровнем глубины — они не могут порождать собственных суб-агентов. Неограниченный fan-out — это путь к неконтролируемым расходам.

Несколько недель назад три CI-задачи Storybook упали на одном коммите, все — на pnpm install.

Opus начал с того, что попросил суб-агента получить сообщения об ошибках из упавшего шага pnpm install. Логов в ClickHouse ещё не было, поэтому суб-агент переключился на GitHub CLI.

Промпт суб-агента #1:

Получи CI-логи для этого запуска. Верни точные сообщения об ошибках из шага pnpm install, полный вывод ошибки — особенно последние 50–100 строк.

Результат: gyp ERR! not found: make. re2@1.23.0 не смог скомпилироваться, потому что на раннере не было make.

Opus поискал в существующих инсайтах (совпадений нет), затем запросил из ClickHouse тренд сбоев за 14 дней:

Feb 23: 0.2% failure rate
Feb 24: 1.1%
Feb 25: 8.0%  <- inflection point

Что-то явно изменилось 25 февраля. Opus запустил суб-агент #2:

Исследуй, что изменилось около 24–25 февраля. Частота сбоев выросла с 0.2% до 8%. Ошибка — gyp ERR! not found: make. Запусти git log по файлу workflow и package.json за этот период.

Build-зависимости были удалены в ходе несвязанной миграции. Для той миграции — правильно, но re2 всё ещё нужен make для нативной компиляции. Opus запустил суб-агент #3 для проверки текущего состояния workflow, затем создал инсайт с описанием первопричины и фиксом.

Оркестратор не прочитал ни одной строки логов, git-истории или кода.

Несколько вещей, на которые стоит обратить внимание:

  1. Стоимость. Haiku обрабатывает ~65% всех входных токенов, но занимает только ~36% расходов на LLM. Дорогая модель думает; дешёвая — читает. Без иерархии моделей ежедневный счёт более чем удваивается.

  2. Opus планирует на ходу. Он начинает с гипотезы, но результаты каждого суб-агента определяют следующий шаг. В этом расследовании: получил ошибку, поискал в истории, спросил, что изменилось. Каждый раунд информировал следующий. Более трети расследований идут в несколько раундов, причём новые проблемы требуют примерно вдвое большей глубины, чем известные.

  3. Чистота контекста. Контекст оркестратора остаётся чистым: структурированные сводки от суб-агентов, а не сырой вывод логов. Каждый суб-агент стартует с чистого листа, и его контекст удаляется по завершении. Вывод tool call накапливается быстро, а устаревший контекст из предыдущих шагов сессии ухудшает качество последующих решений.

  4. Направленный поиск. «Верни точные сообщения об ошибках из шага pnpm install» — это совсем другой промпт, чем «проанализируй эти логи». Opus решает, что искать; Haiku находит. Соотношение input/output у Haiku — 86:1 (читает много, возвращает сфокусированные выжимки), у оркестратора — около 50:1 (синтезирует и принимает решения). Haiku поглощает данные, чтобы Opus этого не делал.

Шесть месяцев назад это было невозможно

Полгода назад мы работали на Sonnet 4.0. Он плохо справлялся с написанием корректных ClickHouse-запросов: неверные таблицы, отсутствующие фильтры, чтение избыточного количества данных. Haiku 4.0 был полезен разве что для классификации в формате «да/нет».

Сегодня Opus 4.6 умеет планировать расследования и писать точные промпты для суб-агентов. Haiku 4.5 справляется с узкими направленными задачами — потому что задачи достаточно ограничены, чтобы быструю дешёвую модель можно было успешно применять.

Переход на frontier-модель снизил расходы.

Паттерн универсален

Мы строили это под CI-логи, но паттерн подходит для всего с высоким объёмом событий: логи безопасности, IoT-телеметрия, финансовые данные. Большинство событий — шум или повторы, и дорогая модель должна видеть только те, которые таковыми не являются.

Есть четвёртый слой, о котором мы не рассказывали: переоценка. Система периодически проверяет, верны ли ранее сделанные выводы — закрывает устаревшие инсайты, отлавливает ложноположительные результаты, верифицирует, что фиксы сработали. Это тема для отдельного поста.

Мы продолжаем настраивать, где именно проходит граница суб-агента. Иногда запуск суб-агента обходится дороже, чем выполнение задачи inline, потому что накладные расходы на инициализацию превышают экономию.

Самым сложным оказалось не сделать агента умнее. Самым сложным было выстроить слои, которые останавливают его от запуска там, где этого не нужно.

Русскоязычное сообщество про AI в разработке

Друзья! Перевод этой статьи подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-агентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!