Pull to refresh
-4
-0.9
Евгений Яцков@FoxProFlow

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

Send message

Очень узнаваемо: “агент пишет код” - это не фича, это смена роли инженера на организатора процесса. Самая сильная мысль тут - про тесты как критерий приемки. Я бы её усилил ещё одной штукой: контур доказательства (артефакт - проверки - короткий отчёт “что сделано и чем подтверждено”). Вопрос: вы пробовали жёстко ограничивать “инициативу” агента (например, 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

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

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