Обновить
-4
-0.9
Евгений Яцков@FoxProFlow

Архитектор ПО · Backend/DevOps · PostgreSQL · Dock

Отправить сообщение

Очень узнаваемо: “агент пишет код” - это не фича, это смена роли инженера на организатора процесса. Самая сильная мысль тут - про тесты как критерий приемки. Я бы её усилил ещё одной штукой: контур доказательства (артефакт - проверки - короткий отчёт “что сделано и чем подтверждено”). Вопрос: вы пробовали жёстко ограничивать “инициативу” агента (например, bounded loop: N итераций - стоп - эскалация человеку с фактами), чтобы он не превращал задачу в вечный рефакторинг?

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

Спасибо за линк на официальный пост — это редкий жанр “давайте спорить с источником, а не с ощущениями”. При этом даже “баннеры отдельно внизу” всё равно меняют экономику продукта: появляется стимул оптимизировать не только полезность, но и монетизацию/удержание — и это может отражаться не в “слоганах в ответе”, а в ранжировании, триггерах и выборе того, что модель считает “релевантным”. Интересно другое: как бы вы проверяли на практике тезис “ads do not influence answers”? Какие метрики/аудит/эксперименты могли бы это подтвердить (хоть частично), а не просто декларировать?

Вот да — “нажал кнопку и ушёл пить пиво” существует только в мифологии вайб-кодинга. AI экономит набор текста, но не снимает три вещи: дизайн тестов, инфраструктуру/стабилизацию флаков и ревью. Любопытно: у тебя этот месяц больше ушёл на что — на локаторы/флаки браузера, на проектирование сценариев, или на согласование критериев “pass/fail” и поддержание тестов живыми?

Спасибо за очень живой кейс — это ровно то, что сейчас у многих происходит “без теории”. Мне кажется, ключ — не “заставить всех пользоваться AI”, а сделать результат верифицируемым: маленькие итерации, ревью, автопроверки и фиксация артефактов (diff/логи/тест-репорты). Тогда “главный без AI не может” перестаёт быть зависимостью одного человека, и становится усилением всей команды. Кстати, что у вас лучше всего выстрелило: дебаг, генерация тестов или рефакторинг?

По сути — похоже, но разница в “исполняющей среде”. Код исполняется детерминированно (с оговорками окружения), а промпт — это спецификация поведения вероятностной системы. Поэтому “промпт-инженерия” ближе к инженерии требований + оркестрации инструментов, чем к классическому кодингу. И она становится “программированием” ровно тогда, когда появляется компилятор-заменитель: тесты/гейты/артефакты, которые превращают “кажется правильно” в “проверено”.

Очень узнаваемо: пока это “промпт → тест → промпт”, агент реально как стажёр на поводке. Мне помогает переключиться на pipeline-мышление: (1) формулируем задачу в 1 абзац, (2) фиксируем критерий проверки (тест/скрипт/метрика), (3) фиксируем артефакт (diff/лог/репорт) — и только потом кормим контекстом и инструментами. Тогда цикл короче, потому что спор идёт не с текстом модели, а с результатом проверки. А у тебя сейчас что больше всего тормозит: расползающийся контекст, флаки тестов или размытый DoD?

Люблю такие разборы: меньше “кажется быстрее”, больше цифр. Вопрос по методике: вы фиксировали affinity/pinning потоков и режимы CPU (turbo/energy)? И пробовали notify_one vs notify_all? На некоторых профилях можно случайно замерить цену “лишних пробуждений”, а не самого примитива. Было бы интересно увидеть отдельный прогон на реальном contention (N threads) и с указанием kernel/glibc — чтобы переносить выводы в прод-реальность.

BDUI — это мечта продакта и кошмар SRE в одном корпусе 🙂 Скорость кайфовая, но появляется новый класс рисков: версионирование схемы манифеста, валидаторы/линтеры, kill-switch, staged rollout и аудит “кто/что/когда” выкатил. Какие у вас обязательные гейты перед доставкой сценария (schema validation, snapshot-тесты рендера, device-farm smoke, ограничение blast radius)? И как решаете rollback, когда часть клиентов ещё на старой версии приложения?

Классная компоновка — прям “prompt-банк для реальной работы”, а не для демонки. Самое уязвимое место тут, как обычно, не генерация, а верификация: где модель должна “думать”, а где обязана упираться в проверяемый артефакт (тест/лог/репорт). Я бы к каждому блоку добавил маленький “контур доказательности”: что именно считаем успехом и чем это проверяем. Вопрос: как вы версионируете prompt-банк и измеряете, что он реально улучшает качество (а не просто ускоряет выпуск текста)?

Мне это тоже читается не про LLM напрямую, а про вымывание привычки к честности как к ремеслу. “Честный образ жизни” — это вообще про способность не подменять реальность рассказом о ней: не верить себе на слово, проверять ощущения фактами, держать обратную связь с миром (люди, деньги, здоровье, сроки) и вовремя признавать “я не знаю / мне нужно проверить”, вместо того чтобы “мне кажется, значит так и есть”.

LLM просто делает самообман дешевле и правдоподобнее, поэтому катастрофа становится не моральной, а статистической: накопленный слой “выглядит правильно” однажды схлопнется.

И вот вопрос шире программирования: честность — это свойство людей (поколений) или свойство процессов? Если её можно вшивать в процесс — какие опорные практики/контуры обратной связи должны быть неизбываемыми, чтобы скорость не превращалась в жизнь “по ощущениям”, а оставалась жизнью “по реальности”?

Самый дорогой баг в моей практике почти всегда начинался одинаково: “вроде ок, поехали в прод”.
LLM просто делает этот путь быстрее.

Мой личный гейт простой: пока нет Diff + Check + Evidence — это не “доставка”, это перенос риска в прод.

Расскажите, какой у вас был самый дорогой “вроде ок”? Сколько стоил — и какой минимальный smoke мог бы его поймать?

Смешно, но страшно узнаваемо 🙂 Фраза «важно не понимать, важно доставлять» — это прям рецепт будущих инцидентов. “Доставлять” без понимания и проверки — это не инженерия, это азартная игра с продом.

ИИ — круто, но его надо держать на поводке: маленький шаг → понятный diff → smoke/preflight → evidence → только потом merge. А не “купил всё подряд и пошёл оркестрировать агентами”. Сначала дисциплина и контроль, потом масштабирование. Тогда и скорость растёт, и качество не падает.

Хабравчане, привет.

Я тут новичок (аккаунт свежий, это моя первая статья), поэтому ещё не до конца понимаю местные правила. Если в тексте/коде видите косяк или что-то выглядит как “капитан-очевидность” — пожалуйста, лучше напишите в комментарии, что именно не так и чего не хватило, чем просто минусовать. Мне важнее обратная связь, чем рейтинг: хочу подтянуть качество под уровень Хабра и писать полезнее, если информация и стиль изложения зайдет.

UPD после перечитывания (сам себе нашёл пару технических нюансов):

  1. Проверка портов. В примере у меня было Select-String -SimpleMatch, но при этом паттерн выглядел как regex (\s|...). В таком режиме это работает не так, как задумано — поправлю в тексте/коде, чтобы проверка была честной.

  2. curl и PASS/FAIL. Понял, что curl.exe -sS сам по себе не “роняет” запрос на 404/500, и итог “PASS” мог выглядеть убедительнее, чем есть на самом деле. Добавлю явную проверку HTTP-кодов/--fail там, где это важно.

  3. Windows-специфика. Скрипт у меня реально под Windows (curl.exe/NUL/netstat). Формулировки про “применимо везде” уточню и добавлю короткие замены для Linux/macOS, чтобы не было ощущения “обещал универсально — а оно только под мой стенд”.

Если подскажете, каких кейсов/примеров не хватило (например “вот конкретный баг → вот как поймал smoke/evidence → вот результат”) — я это с удовольствием добавлю. Хочу, чтобы материал был не “про идею”, а “про реально работает и экономит время”

Классная статья, прям “боль токенов” описана честно 😄
Serena в этом смысле — как нормальный индекс/навигация по проекту, чтобы агент не устраивал “прочитаю-ка я 1500 модулей, вдруг найду нужное”.

Но (нюанс какой) экономия токенов — это половина игры.
Вторая половина — не превратить “память проекта” в чёрный ящик, где потом никто не понимает:
а что агент реально читал, на что опирался, почему сделал именно так.

Я бы к вашему AGENTS.md добавил прям одну простую инженерную рельсу:
если меняешь код → покажи diff/что тронул + команду проверки (syntax/test) + коротко “почему так”.
И ещё: память Serena круто бы версионировать (хотя бы “дата + commit hash”), чтобы онбординг был воспроизводимым, а не “сегодня помню, завтра забыл”.

В общем: Serena — огонь как “лопата против токен-ямы”.
Если ещё сверху положить дисциплину “read-set / change-set / checks”, то это уже взрослый production-вайб, а не просто vibe-coding.

интерфейс реально становится вторичным — когда агент живёт “внутри” вашей инфраструктуры, красивые фильтры перестают быть конкурентным рвом.

Но нюанс какой: дальше рынок упирается не в интеллект, а в доверие.
Потому что LLM — талантливый болтун: может выдать текст так уверенно, что юристу потом лечить репутацию.

Я бы “контур доверия” формулировал не как chain-of-thought (он и правда может быть пост-рационализацией), а как протокол выполнения:

  1. Что именно было прочитано (не просто ссылки, а пункты/выдержки + дата/версия)

  2. Что было проверено (включая попытку найти контрпример/исключения)

  3. На каких условиях вывод верен (границы применимости) + риск-лейбл “черновик/можно в работу/нельзя подписывать”

Короче: агент без “протокола” = генератор уверенного текста.
Агент с “протоколом” = инструмент, который можно аудитить и постепенно подпускать к реальным решениям.

Про кайф: хуки + телега — это ровно тот уровень “инженерной лени”, который экономит часы жизни 😄

Суть в чём: уведомления — это только первый слой. Дальше хочется, чтобы хуки собирали не просто “пинг”, а маленький “протокол исполнения”.
Типа:

  • Stop → что сделано, что изменено, что НЕ сделано (и почему)

  • PostToolUseFailure → какая команда упала, короткий хвост ошибки, что агент пробовал

  • PermissionRequest → что именно хочет (файл/сеть/exec), зачем, и риск-лейбл “ок/сомнительно”

И вообще мечта: одним сообщением в телегу прилетает мини ProofPack: “источники/шаги/проверки/артефакты”.
Тогда это уже не “ботик что-то там сделал”, а штука, которой можно доверять и которую можно повторить.

P.S. И да — токены/чат_id в конфиги лучше как секреты (а то телега-то любит сюрпризы).

Согласен на 100%: “контур доверия” — это прям ключ. И я бы тут аккуратно развёл две вещи: chain-of-thought и протокол исполнения. Потому что CoT реально может быть пост-рационализацией (“сначала решил, потом объяснил”). А вот что агент реально сделал — это уже можно проверять.

Если прям по-простому, чтобы юристы начали хоть чуть-чуть верить агенту, ему надо прикладывать три штуки:

  1. Не просто ссылки, а “что именно я прочитал”
    Ссылка — это хорошо, но завтра она поменялась, и привет. Нужен мини-снимок: откуда взял, какой пункт/абзац, желательно с датой/версией. Чтобы можно было ткнуть пальцем и сказать: “вот тут написано”.

  2. Не “одна модель сказала”, а “мы попытались её опровергнуть”
    Консенсус моделей — норм, но ещё важнее — чтобы агент специально искал контрпример: исключения, другую практику, другой регуляторный документ. Типа “я не только подтвердил, я ещё и проверил, что это не бред”.

  3. Не “как я думал”, а “на каких условиях это верно”
    Самое полезное: список допущений и границ применимости. Юристы так и живут: “это верно если А, Б, В; если Г — уже другая история”.

В итоге у агента должен быть маленький “пруф-пакет”: источники → выдержки → проверки → допущения → вывод + риск. Тогда это уже не генератор уверенного текста, а штука, которую можно аудитить и повторять.

(И да, “карта мыслей” лучше чёрного ящика, но “карта действий + источников + проверок” — вообще взрослая тема.)

Сильно, что вы упёрлись в спецификации — это реально лечит “агентный хаос”. Из практики: лучше всего работает раздельный контур spec → patch → checks: спецификация как “истина”, патч как предложение, проверки как доказательство. Даже простое правило “одна гипотеза — один PR/изменение” + автоматический smoke (линтер/юнит/миграции) резко снижает дрейф. Ещё помогает лимит на “массовые правки” без явного разрешения (например, ≤N файлов за проход), иначе агент чинит одно и ломает пять. Какой у вас минимальный acceptance-gate перед тем, как вы доверяете агенту применять изменения?

Тезис “интерфейс становится вторичным” — прям в точку: когда агент живёт внутри инфраструктуры, ценность “красивых фильтров” падает. Но дальше обычно упирается не в интеллект, а в доверие: аудит действий, источники данных, воспроизводимость вывода. Если агент делает ресёрч по праву/финансам, без протокола “какие источники + какие шаги + что проверено” это быстро превращается в генератор уверенного текста. Интересно, как вы видите “контур доверия” для таких агентов: какие минимальные доказательства должны прикладываться к ответу, чтобы юристы реально начали полагаться?

2

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
PostgreSQL
SQL
Python
Docker
Linux
REST
Git
Базы данных
ООП
Управление проектами