<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Late Stage Agentic (ru)</title>
<link>https://latestageagentic.com/ru</link>
<description>How not to make a mess of agentic coding.</description>
<language>ru</language>
<atom:link href="https://latestageagentic.com/blog/ru/feed.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Mon, 26 Oct 2026 00:00:00 GMT</lastBuildDate>
<item><title>Пять процентов</title><link>https://latestageagentic.com/blog/the-five-percent/ru</link><guid isPermaLink="true">https://latestageagentic.com/blog/the-five-percent/ru</guid><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><description>Агент принимает за данность всё, что ему дали: как мы семь недель считали его ошибки на ревью.</description><content:encoded><![CDATA[<p>Почти во всём, что делает агент, он разбирается лучше меня. Последние семь
недель мы с Клодом считали, что включают в себя остающиеся на долю человека
пять процентов, и получили достаточно однозначный ответ.</p>
<h2 id="что-я-считал">Что я считал</h2>
<p>В репозитории этого сайта с 7 сентября лежал файл с мало что говорящим названием «пять процентов» (так исторически сложилось).
Правило было простое: после каждого раза, когда я ревьюил код агента, тот
дописывал туда запись: в чём ошибся, сколько раз уже так ошибался за всё время, и короткое описание наиболее показательных примеров.</p>
<p>Цель была примерно: накопить достаточно случаев, чтобы сделать выводы, а потом, собственно, написать про это статью.</p>
<p>К 27 октября <a href="https://github.com/vzakharov/vovazakharov.com/blob/362e3560f2e560660abf1357e7cea6e634cee6da/writing/notes/the-five-percent.md">накопилось</a> 219 случаев и четырнадцать видов ошибок — так, как их распределяли сами агенты.</p>
<h2 id="главная-ошибка">Главная ошибка</h2>
<p>Самый толстый раздел — 93 случая, 42% всех, получил заголовок «What it was handed, it treats as fixed»: что дали, то и данность. Причём он был настолько назойливым, что я написал про него в
<a href="https://agentic.bible/precedent-fallacy">«Агентской библии»</a>, не дожидаясь завершения эксперимента.</p>
<p>Вот несколько характерных примеров:</p>
<ul>
<li>Агент выбирал префикс для коммита из списка: <code>feat</code>, <code>fix</code>, <code>docs</code> и так далее. Изменение не подходило ни под один, и он выбрал наименее неподходящий. Моё волевое решение: завести префикс <code>content:</code>.</li>
<li>Девять мест в коде открывали ссылку в новой вкладке, и агент предложил завести для этого отдельный параметр. Моё решение: во всех остальных местах «та же вкладка» сложилась исторически и была ни к чему, так что параметр не нужен — всё просто должно всегда открываться в новой вкладке.</li>
<li>Роль <code>artist</code> в учёте часов он прочитал как «художник» и записал на неё эмблемы для сайта. Artist — это про музыканта.</li>
<li>Правило «опубликованный адрес страницы не меняется» он применил к переименованной песне и оставил ей старый адрес. Хотя поменять его вместе с названием было бы ничего страшного.</li>
</ul>
<p>Ирония в том, что в каждом случае рассуждение внутри рамки корректно. Второй
агент, которого попросят проверить первого, его одобрит. Поймать это можно,
только сдвинув саму рамку.</p>
<h2 id="и-остальные-тоже">И остальные тоже</h2>
<p>Тринадцать других разделов агент завёл как отдельные ошибки, и названия у них
разные. Но если спросить про каждый, что именно агент принял за данность,
ответ находится почти всегда:</p>
<ul>
<li><strong>Объяснение того, как работает код, подменяет запуск кода</strong> (28) —
данностью стало его собственное объяснение. Он трижды написал, что GitHub
отмечает сборку готовой «через несколько минут»; один запрос к API показал
три секунды.</li>
<li><strong>Правит копию перед глазами, а не факт за ней</strong> (19) — данность: копия
одна, та, что открыта.</li>
<li><strong>Просишь источник — получаешь его версию источника</strong> (16) — данность: как
он помнит текст, так текст и выглядит.</li>
<li><strong>Дали форму — заполнит форму</strong> (14) — данность: раз формат позволяет,
значит, так и надо. Агенту разрешили пометить, кто поёт какой куплет, — он
построил реестр исполнителей и четыре проверки при сборке. Мне нужно было
«просто for reference».</li>
<li><strong>Текст отвечает на его вопрос, а не на вопрос читателя</strong> (10) — данность:
как понял он, так поймёт и читатель.</li>
<li>Ещё три поменьше (8, 6 и 2) — его собственное прошлое решение, его замысел
вместо отрисованной страницы, его прочтение вместо текста автора.</li>
</ul>
<p>Вместе с главной это 196 случаев из 219, 89%; остальные подробно расписывать не буду — можно посмотреть <a href="https://github.com/vzakharov/vovazakharov.com/blob/362e3560f2e560660abf1357e7cea6e634cee6da/writing/notes/the-five-percent.md">в самом файле</a>.</p>
<p>К слову, тут ирония выходит и на мета-уровень: например, список буллитов выше написал агент. Ему, думаю, понятно, что он написал.
При этом я читаю это снова и снова, и у меня как белое пятно — будто мы в каких-то вещах вообще на разных языках говорим.
Я чувствую здесь какой-то урок, который нам ещё предстоит вынести.</p>
<h2 id="оговорки">Оговорки</h2>
<p>Эксперимент далёк от чистого: один агент, на одном фреймворке (Claude Code), один
проект, причём довольно странный — личный сайт, на котором живут ещё четыре
сайта, <a href="https://vovazakharov.com/mushrooms">игра про грибы</a>, <a href="https://vovazakharov.com/music">песни</a> и ИИ-персона, которая <a href="https://mayawonders.com">ходит и удивляется</a>. Ну и подсчёт тоже, думаю, хромал, потому что считающий уже видел категории, а богатые, как известно, всегда богатеют.</p>
<p>Так что на это стоит смотреть как на интересный сигнал, а не какое-то строгое заключение. Тем не менее.</p>
<h2 id="что-из-этого-вышло">Что из этого вышло</h2>
<p>Файл я закрыл... И открыл новый.</p>
<p>Во-первых, теперь «сделай шаг назад и посмотри, а не являются ли сами рамки
задачи кривыми» — это <a href="https://github.com/vzakharov/vovazakharov.com/blob/main/.claude/skills/five-percent/procedure.md">отдельный скилл</a>, который так и называется, «пять процентов».</p>
<p>Первый же его прогон, правда, показал, что, возможно, мы имеем дело с системной
проблемой, а не проблемой постановки задачи. Агент нашёл, что
один и тот же текст перефразируется в разных местах на сайте, и задался вопросом,
не стоит ли их унифицировать.</p>
<p>То, что он это нашёл, — хорошо (нехорошо, что этого не нашёл отдельный скилл <a href="https://github.com/vzakharov/vovazakharov.com/blob/main/.claude/skills/dry/SKILL.md">/dry</a>),
но вот одно из тех мест, где это повторялось, оказалось вообще устаревшим, и ему
нет места на сайте:</p>
<p><img src="https://latestageagentic.com/blog/assets/writing-page.png" alt="Страница /writing на vovazakharov.com: три статьи из Glitchporn и карточка этой статьи" loading="lazy" decoding="async" width="1280" height="1070"></p>
<p>Весь «writing», который там был, — это атавизм, оставшийся от поза-поза-прошлой версии сайта,
когда я временно возомнил себя <a href="https://glitchporn.substack.com/">крутым блогером</a>. На сайте Fractional CTO ему не место,
по крайней мере не в таком виде точно.</p>
<p>Так что скилл, найдя узкое место, не увидел, в чём оно действительно узкое.</p>
<p>При этом агент тут не виноват: он не знает, что у вас в голове, — хотите ли вы, например, впихнуть изменение в существующие префиксы коммитов или придумать новый. Решить за вас то, что является <em>вашим</em>, он не может.</p>
<p>Пойдёт ли это дальше так же — не знаю, но теперь мы ведём новый учёт:
сколько оставленных Клодом комментариев в рамках нового скилла оказались по делу 🙈</p>
<p>Сработает или нет — не буду предсказывать, хотя интуиция подсказывает ответ. Но в курсе держать буду.</p>]]></content:encoded></item>
</channel>
</rss>
