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

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The Last Watchdog
The Last Watchdog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Troy Hunt's Blog
L
LINUX DO - 最新话题
C
Check Point Blog
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
S
Security @ Cisco Blogs
IT之家
IT之家
T
The Exploit Database - CXSecurity.com
The GitHub Blog
The GitHub Blog
D
Docker
Engineering at Meta
Engineering at Meta
AWS News Blog
AWS News Blog
S
Security Affairs
U
Unit 42
P
Palo Alto Networks Blog
V
Visual Studio Blog
Y
Y Combinator Blog
D
DataBreaches.Net
Forbes - Security
Forbes - Security
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
Security Latest
Security Latest
aimingoo的专栏
aimingoo的专栏
Simon Willison's Weblog
Simon Willison's Weblog
A
Arctic Wolf
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
博客园 - 司徒正美
博客园 - Franky
宝玉的分享
宝玉的分享
TaoSecurity Blog
TaoSecurity Blog
Latest news
Latest news
Scott Helme
Scott Helme
MongoDB | Blog
MongoDB | Blog
量子位
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
P
Privacy International News Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog

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

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет 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 миллионов точек без потерь
Вайб-кодинг здорового человека: как мы научили ИИ писать код по нашим правилам
ContentAI_Team · 2026-05-29 · via Все публикации подряд на Хабре

Вайб-кодинг здорового человека: как мы научили ИИ писать код по нашим правилам

8 мин

13K

В мае 2026 складывается ощущение, что уметь писать код вручную больше не обязательно — вокруг все наперегонки хвастаются, как за выходные собрали мега-сервис, на конференциях показывают слайды про х100 к продуктивности разработчиков, а в вакансиях все чаще требуют опыт работы с ИИ-инструментами. Вайб-кодинг победил, расходимся?

Да, для личных проектов и стартапов вайб-кодинг действительно отлично работает. Проблемы начинаются, когда подход «сделай мне как у Google» пытаются занести в продукт со серьезными требованиями и крупными клиентами. 

У нас в команде возник практический вопрос: можно ли использовать вайб-кодинг в разработке пользовательских этапов автоматизации ContentCapture, платформы интеллектуальной обработки документов? Причем использовать как полноценный инструмент, который реально сократит время на интеграции, бизнес-правила и RPA-сценарии (и не создаст новых проблем).

Если коротко: у нас получилось. Дальше расскажем, как мы это сделали, с какими сложностями столкнулись и что получили в итоге.

Что такое скриптовая стадия в ContentCapture и почему ее сложно автоматизировать

Для начала немного контекста: ContentCapture — это конвейер обработки документов, в котором каждый шаг (классификация, извлечение полей, валидация, экспорт) клиенты регулярно кастомизируют под себя. Помимо стандартных шагов, в продукте есть пользовательские этапы — исполняемые модули на C# с заранее заданным интерфейсом, которые запускаются в отдельном процессе. На них и строятся end-to-end автоматизации, связанные не только с задачами распознавания. Например, это могут быть интеграции с учетными системами, проверки по справочникам, выгрузки в произвольные хранилища и т.д. 

В ContentCapture всегда были скрипты, была подробная документация по их написанию, были прикладные разработчики (и у нас в компании, и у интеграторов), которые на этих скриптах собаку съели. Это устоявшаяся, отлаженная часть продукта. 

В свежем релизе ContentCapture появилась новая функциональность — RPA. Она тоже предполагает написание скриптов, но правила игры там другие. Контракт у RPA-модулей строгий: 

Контракт у этих модулей очень строгий:

  • вход — JSON в stdin;

  • выход — ровно один валидный JSON-объект в stdout;

  • диагностика и логи только в stderr;

  • структура данных должна соответствовать заранее описанной схеме.

Это значит, что даже разработчику, который годами писал скрипты для классической функциональности ContentCapture, придется осваиваться заново: разбираться с потоками, JSON-сериализацией, обработкой ошибок через stderr, кодировками.

Мы решили снизить порог входа в RPA-разработку с помощью вайб-кодинга. Идея простая: разработчик описывает только бизнес-логику, а все остальное (контракт, потоки, схема, обработка ошибок) берет на себя ИИ-каркас, встроенный прямо в фичу.

Главная идея: не просить ИИ написать код, а дать ему контекст продукта

Мы решили начать с простого и навайбкодить скрипт из классической функциональности ContentCapture, который меняет регионы полей на документе (задача, которая может возникнуть при попытках добиться улучшения качества извлечения полей из документа). Закинули PDF-документ с Руководством разработчика в ИИ, но ничего не получилось: ИИ не смог учесть особенности разработки, которые очевидны/известны прикладному разработчику ContentCapture.

В результате агент запутался, выдавал код, который не компилировался, а когда все-таки компилировался, то нарушал контракт взаимодействия через потоки.

Был и более коварный класс ошибок, например, агент не знал, что в C# приложении в составе нашей платформы нужна UTF-8-кодировка в консоли. Без явных инструкций он про это просто молчал, и текст с кириллицей превращался в кашу уже на стороне платформы. Найти такое в продовых логах — отдельное удовольствие, которого мы никому не желаем. 

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

  1. Содержит готовые примеры кода под два типа контекста процесса обработки: пакет и документ.

  2. Включает общую библиотеку Automation.Shared с контрактами, утилитами и механизмом диагностики.

  3. Предоставляет JSON.schema и реальные примеры входных данных в папке TestData.

  4. Фиксирует правила разработки в AGENTS.md — что можно, что нельзя, как логировать, как тестировать. А еще есть файл README.md, который объясняет, что такое этот репозиторий. 

    Так появилась идея AI-boilerplate (мы называем его ИИ-каркасом), который является преднастроенным репозиторием для быстрой разработки пользовательских этапов автоматизации на C# для RPA-агента:

    По сути, мы упаковали знание о том, как устроена работа RPA-стадий в ContentCapture, в формат, который ИИ-агент может эффективно использовать. 

    Как это работает на практике

    Шаг 1. Формулировка задачи

    Никаких абстракций высших порядков в духе «сделай что-нибудь полезное, а бесполезное не делай». Промпт получается конкретным и заточенным под бизнес-логику, например:

    Нужно добавить пакетный сценарий автоматизации, который делает классификацию документа в пакете в зависимости от содержимого по следующим правилам:

    - если текст письма содержит запрос на выдачу сертификата Озон, классифицируем его как "сертификат"

    - если текст письма содержит просьбу на оплату счета, классифицируем его как "счет"

    - если письмо не содержит ни того ни другого, классифицируем его как "другое"

    Текст письма содержится в первом документе пакета в поле FullText. Составь запрос к LLM на классификацию документа и отправь его с помощью инструмента OllamaLlmQuery.

    Результат классификации запиши в свойство пакета ClassificationResult.

    Выше — фрагмент подобного промпта. В таком запросе явно зафиксированы тип этапа и бизнес-цель.

    Шаг 2. Генерация, проверка, итерация

    Дальше агент генерирует код по заданному промпту и сам же его прогоняет:

    • проверяет, что проект компилируется;

    • запускает модульные и интеграционные тесты;

    • сверяет выходной JSON со схемой.

    Здесь критически важна диагностика. В AGENTS.md мы заранее прописали требование: подробное логирование в stderr должно быть с самого начала, а не судорожно добавляться, когда что-то сломается. 

    Когда что-то падает, текст ошибки уходит обратно в чат, агент анализирует и предлагает фикс. Цикл «ошибка — фидбек — новая версия» сам по себе всегда был достаточно быстрым, но раньше каждая такая итерация требовала от разработчика вникнуть в лог, доработать код и заново запустить скрипт. Теперь это делает агент, а человек подключается только к нетривиальным случаям.

    Шаг 3. Интеграция

    Готовый этап выкладывается в Git-репозиторий или сетевую папку, подключается в ContentCapture как «Этап RPA-агента», и на этом разработка заканчивается. Дальше запускается обычный продуктовый цикл: тестовая среда, ревью, прод.

    Тут мы создали для себя полезный архитектурный прием: если какая-то логика повторяется между проектами (типовая интеграция с учетной системой, проверка контрагента, выгрузка в хранилище), ее можно вынести в отдельный репозиторий и подключать на конкретных стадиях как переиспользуемый компонент. Получаются библиотеки RPA-стадий без копипаста между проектами. 

    Технические нюансы, о которых стоит знать

    Тесты должны быть обязательной частью контракта. Каркас заставляет агента генерировать не только бизнес-логику, но и модульные тесты на методы плюс интеграционный тест, который подает JSON в stdin и проверяет stdout. 

    Диагностика должна быть отделена от результата. Самая частая ошибка, которую мы ловили на ранних итерациях, — служебные сообщения в stdout, которые ломают парсинг результата на стороне платформы. Эта ошибка ушла, когда в правилах однозначно прописали, что в stdout идет только итоговый JSON, а все остальное в stderr. 

    Отладка на реальных данных. В TestData лежат примеры реальных входных JSON, локальная отладка на которых вылавливает проблемы до того, как этап доедет до встраивания в ContentCapture.

    Результаты 

    • Скорость разработки. Корректно замерить ускорение мы не можем, так как классические скрипты и скрипты для RPA-фичи делались в разных условиях. Но качественно эффект очевиден: разработчик тратит время не на чтение документации, изучение внутренних API и написание обвязки, а только на формулировку бизнес-логики. Все остальное берет на себя ИИ-каркас. 

    • Гибкость. ИИ-каркас не завязан на конкретную задачу. Если, например, нужно работать не с Excel, а с СЭД, меняется бизнес-логика, а правила разработки, примеры кода и др.  взаимодействия остаются прежними.

    • Качество. Шаблоны тестов и явные правила резко сокращают количество забытых краевых случаев. Ошибки контракта (невалидный JSON, неправильный тип поля) ловятся на этапе генерации, а не тестировщиками.

    • Стоимость. Расход токенов на одну стадию составляет порядка $10–20 при использовании топовых моделей. В пилоте мы работали с Claude Opus, но с частью задач справлялись и более легкие модели. Для сравнения: час работы senior C#-разработчика стоит в 2–3 раза дороже, а часов на такую задачу уходит явно больше одного.

    И еще один важный момент: вайб-кодинг ощутимо снижает порог входа для работы с RPA-фичей. Раньше задача требовала погружения во внутреннее устройство ContentCapture, а теперь — описания бизнес-логики на человеческом языке. Да, какой-то порог остается: нужна среда с ИИ, подписка, навык работы с промптами. Но это порог другого уровня — общеинженерный, а не продуктово-специфичный. 

    А что с моделями и средой разработки?

    Вопрос закономерный, особенно для заказчиков из регулируемых отраслей. В пилоте мы использовали западные облачные модели — на момент запуска они давали более предсказуемый результат при генерации C#-кода с жесткими контрактами.

    Архитектура ИИ-каркаса при этом изначально не привязана к конкретному провайдеру. 

    Что мы видим по средам: Cursor сейчас де-факто стандарт для агентного программирования (минимальная подписка — $20/мес), но AGENTS.md корректно понимают и Claude Code, и Cline, и другие открытые среды. У нашего ИИ-каркаса нет привязки к конкретной среде, он работает там, где работает ваш агент. 

    Что мы видим по итогам тестирования моделей:

    • Топовые западные модели (Claude, GPT) дают самый стабильный результат, но не всем подходят из-за необходимости решать вопросы с передачей данных и оплатой.

    • Китайские открытые модели (GLM, DeepSeek) показывают реально хорошее качество кода на C#, не под санкциями, их можно поднять локально.

    • Отечественные модели от Яндекса и Сбера мы пока тестируем, они показывают быстрый прогресс, хотя есть ощущение, что им нужно больше итераций и более точные промпты. 

    Но тут фокус в том, что эта область меняется настолько быстро, что любые наши конкретные рекомендации по моделям устаревают за месяц. Если бы мы делали этот же пилот два месяца назад, результат был бы заметно хуже, потому что модели заметно выросли за это короткое время. 

    Сейчас мы тестируем подключение локальных моделей через совместимые API, и предварительные результаты показывают любопытную вещь: при наличии качественного контекста (того самого ИИ-каркаса) разрыв в качестве генерации заметно сокращается. Иногда требуется больше итераций, иногда нужно точнее формулировать промпт, но для задач, где важен контроль над данными и соответствие регуляторным требованиям, это вполне рабочий компромисс. О том, какие результаты мы получили, напишем в следующих статьях 

    Что будем делать дальше

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

    Но ИИ-каркас реально меняет экономику разработки. Инженер с ручного написания кода переключается на две вещи: точную формулировку задач задачу и аккуратную проверку результата. В долгосрочной перспективе это масштабируется заметно лучше, чем классический подход — чем больше RPA-этапов в проекте и чем больше разработчиков их пишут, тем более явный выигрыш (и в скорости, и в единообразии итогового кода).

    Если есть вопросы по нашему подходу или хочется обсудить свой опыт — приходите в комментарии.


Это блог компании Content AI. Мы помогаем работать с информацией умнее — автоматизировать обработку документов, извлекать данные и повышать качество бизнес-процессов с помощью собственных технологий и современного ИИ. Здесь рассказываем, как разрабатываем продукты и делимся опытом, архитектурными решениями и кейсами внедрения интеллектуальной автоматизации.

Наш Telegram-канал со всеми новостями: https://t.me/content_ai