Практические приёмы и сдвиги для Go-backend инженера с фокусом на агентов: было так — стало так — попробуй так.
🗓 окно 31 августа — 7 сентября 2026⚡ приёмов: 10👀 на заметку: 4📡 постов отсканировано: 1057
🔥 О чём говорят на этой неделе
Неделя началась с двух запусков — GPT-6 Astra у OpenAI и Claude Fable 5.1 с Mythos 5.1 у Anthropic, — и лента утонула в демках: кто-то собрал сцену в Blender, кто-то запустил Age of Empires на маке. Инженерный разговор шёл в стороне от демок: все сели считать токены. Spotify выложил свою схему маршрутизации, где чтение больших файлов уходит дешёвой модели не по просьбе в инструкции, а по хуку; Anthropic уронил цену чтения из кеша вчетверо; OpenAI написал, что чинить в AGENTS.md под новую модель. Второй сюжет недели — контекст: вместо сжатия всей сессии в одно резюме агенту дают заметки, которые переживают смену окна.
⚡
Главные приёмы недели
Десять приёмов из 1057 постов недели. Каждый прошёл вычитку источника по ссылке и попытку опровержения: где улики не хватило, приём уехал в «На что обратить внимание».
01
Блокировать чтение больших файлов хуком, а не просьбой в инструкции
Правило «не открывай файл целиком» лежало текстом в CLAUDE.md, и модель обходила его, когда ей было удобно.
→
Стало
Хук check-file-size срабатывает на каждый вызов Read и блокирует файл длиннее порога, отправляя чтение дешёвой модели.
Почему лучше: текст в инструкции — совет, хук — запрет. Дорогая модель при этом не теряет главного: правку файлов и рассуждение Spotify делегировать не стал. В их же тесте дешёвый работник пропустил ошибку многопоточности, которую дорогая модель нашла за секунды.
⚡ Попробовать за вечер
Поставить плагины: claude plugin install portal@portal и claude plugin install shunt@portal
Выставить свой порог строк: 350 — значение по умолчанию у Spotify, а не универсальная граница
Оставить точечное чтение с offset и limit проходить мимо хука, иначе агенту нечем будет править код
Измерить: расход токенов на одной и той же задаче до и после. Spotify замерил среднюю экономию около 90% на массовом чтении, а не на всём счёте.
из твита @undefinedKi
На картинке: три слоя маршрутизации и то, что остаётся в контексте после каждого пути. Только слой хуков имеет право отказать; скрипты собирают запрос, скиллы лишь подсказывают. Ниже — таблица того, что делегировать не стали: правку файла, рассуждение и любую мелочь, где сетевой круг в 10–30 секунд дороже сэкономленных токенов.
В начало системного промпта клали текущее время и номер запроса — «чтобы модель понимала контекст».
→
Стало
Всё изменяемое уехало ниже точки cache_control, а неизменная часть осталась стабильным префиксом.
Почему лучше: попадание в кеш требует стопроцентно одинакового префикса до блока с cache_control включительно. Один timestamp наверху меняет хеш, и каждый вызов агента снова оплачивается по полной ставке ввода.
⚡ Попробовать за вечер
Выписать всё, что меняется от вызова к вызову: время, id запроса, счётчики, случайный seed
Перенести это ниже последней точки cache_control — в сообщения, а не в системный блок
Помнить порядок: tools → system → messages; изменение на любом уровне сбрасывает кеш этого уровня и всех следующих
Измерить: cache_read_input_tokens в ответе до и после. У промптов короче 512 токенов (Fable 5.1) или 1024 (Sonnet 5) кеша не будет вовсе.
схема дайджеста: пока изменяемое стоит до точки cache_control, кеш не срабатывает ни разу
Чтобы включить кеширование, приходилось лезть в клиент и расставлять cache_control по всем местам с повторяемым контекстом.
→
Стало
Между приложением и Anthropic API встал self-hosted прокси на Go: он разбирает запрос и вставляет cache-control сам.
Почему лучше: клиент менять не нужно, меняется только базовый URL — а значит, приём работает и с чужой библиотекой, в которую не хочется лезть. Долю закешированных токенов прокси отдаёт заголовком ответа, так что эффект виден сразу, а не в счёте в конце месяца.
⚡ Попробовать за вечер
Поднять контейнер: docker run -d -p 8080:8080 -e ANTHROPIC_API_KEY=… ghcr.io/montevive/autocache:latest
Направить базовый URL клиента на http://localhost:8080
Перебрать стратегии: conservative — 2 точки разрыва, moderate — 3, aggressive — все 4
Измерить: X-Autocache-Cache-Ratio и X-Autocache-ROI-Percent на своей нагрузке — это оценка самого прокси, поэтому стоит сверить её со счётом.
Дыра: ссылки в самом посте нет, стоит «Link in the reply». Репозиторий montevive/autocache опознан по скриншоту README, вложенному в тот же пост: на нём видны бейджи MIT и Go 1.23+. Обещание проекта сократить расходы до 90%, а задержку до 85% ничем независимым не подтверждено.
Под задачу сразу брали максимальное усилие рассуждения, а смена усилия посреди диалога сбрасывала кеш промпта.
→
Стало
Сначала пробуют low effort; на моделях с per-message effort усилие меняют сообщением с ролью system, и префикс остаётся в кеше.
Почему лучше: чтение из кеша у Fable 5.1 стоит $0,25 за миллион токенов против $1 у Fable 5 — вчетверо дешевле. Чем длиннее стабильный префикс агента, тем заметнее разница, и тем обиднее сбрасывать кеш ради одного переключателя.
⚡ Попробовать за вечер
Прогнать типовую задачу на low effort и на привычном уровне, сравнить цену и результат
Вычистить из промпта ритуалы проверки, усилители тона и устаревшие few-shot примеры
Переносить смену усилия в сообщение с ролью system вместо output_config.effort
Измерить: цену за задачу и долю попаданий в кеш. Автор советует ещё /claude-api cost-optimize и /claude-api prompt-audit в Claude Code — это его слова, документацией эти команды не подтверждены.
из твита @RLanceMartin
На картинке: кривая Fable 5.1 идёт выше и левее кривой Fable 5 целиком. Точка Low у Fable 5.1 лежит левее и выше точки Low у Fable 5: дешевле за задачу и выше по оценке. Низкое усилие здесь не размен качества на цену.
Файлы инструкций писались под прошлую модель и копились месяцами; на новой агент вдруг переспрашивает и бросает работу недоделанной, хотя текст не менялся.
→
Стало
Инструкции проходят ревизию: приоритет указаний пользователя записан явно, а агент обязан назвать файл скилла, из-за которого остановился.
Почему лучше: новая модель чувствительнее к тому, что лежит в скиллах и AGENTS.md. Обходные формулировки, которые прошлая модель просто игнорировала, теперь начинают исполняться буквально — и агент останавливается там, где раньше шёл дальше.
⚡ Попробовать за вечер
Дать Codex ссылку на гайд по модели и попросить пройтись по AGENTS.md и всем SKILL.md в репозитории
Записать правило приоритета: указания пользователя выше указаний скилла при конфликте
Добавить требование прозрачности: если скилл заставил агента остановиться или спросить разрешение — пусть назовёт и процитирует конкретный SKILL.md
Заменить reasoning effort none или minimal на low: none новая модель не поддерживает
Измерить: прогнать одну и ту же задачу до и после ревизии. Обещание «станет быстрее» принадлежит автору поста, замера за ним нет.
Окно заполнялось, агент сжимал сессию в одно резюме, и из резюме выпадало, почему прошлая попытка провалилась.
→
Стало
Агент смотрит остаток окна, берёт свежее и переносит туда собственные заметки, а по прежним окнам ищет — вместе с выводом инструментов.
Почему лучше: сжатие решает раз и навсегда, что было важным, и вместе с шумом выбрасывает детали проваленной попытки. Поиск по прежним окнам позволяет вернуться за деталью тогда, когда она понадобилась, а не тогда, когда её отбирали.
⚡ Попробовать за вечер
Поставить расширение: pi install npm:pi-posthorse
Дать агенту длинную задачу и посмотреть, что он записал через notes() перед сменой окна
Проверить history(): находит ли он старый вывод инструмента, которого нет в заметках
Измерить: сколько раз за длинную сессию агент переспрашивает то, что уже выяснил.
Дыра: расширение живёт только внутри агента Pi. У Codex похожий режим появился вместе с Astra, но он экспериментальный и включается отдельно — переносить рецепт один в один на Claude Code не выйдет.
Чтобы агент управлял внешней программой, под неё искали или писали MCP-сервер и описывали набор инструментов.
→
Стало
Агенту дают изолированную машину с шеллом: он сам ставит программу и пишет скрипт против её встроенного API.
Почему лучше: у зрелой программы уже есть свой скриптовый API, и шелл открывает его целиком, а MCP-сервер отдаёт ровно то, что в него заложили. В примере автора агент поставил Blender и написал скрипт на его bpy — ни сервера, ни интерфейса не потребовалось.
⚡ Попробовать за вечер
Взять инструмент со своим CLI или Python API, к которому вы уже прикрутили MCP
Дать агенту контейнер с шеллом и правом ставить пакеты, без описания инструментов
Попросить агента решить ту же задачу, начав с разбора того, какой скриптовый API у программы есть
Измерить: сколько шагов и сколько правок руками ушло по каждому пути. Сравнения в самом посте нет — это довод, а не замер.
Память агента жила во внешней векторной базе: отдельный сервис, отдельный бэкап, и заглянуть внутрь можно было только через её API.
→
Стало
Память лежит в каталоге knowledge/ обычными markdown-файлами с YAML-заголовком, поиск идёт по BM25 в памяти процесса.
Почему лучше: всё, что агент запомнил, видно в git diff и откатывается git revert — ревью памяти становится обычным ревью. На пути поиска нет сетевого вызова, а сам сервис — один бинарник на Go без внешних зависимостей.
⚡ Попробовать за вечер
Собрать бинарник: make build — получится bin/okf
Подключить встроенный MCP-сервер ./bin/okf mcp knowledge к Claude Code или Cursor
Положить пару записей в knowledge/ и посмотреть, что из них реально попадает в контекст
Измерить: размер контекста на типовом вопросе до и после. «Меньше 300 микросекунд» и «на 80% меньше лишних токенов» — бенчмарк самого проекта, а не независимая проверка.
Свежая CVE в зависимостях — это NVD, EPSS и каталог CISA KEV по отдельности, а сводка складывалась в голове.
→
Стало
MCP-сервер подключён к агенту, и вызов triage_cve опрашивает эти источники параллельно и считает сводную оценку риска.
Почему лучше: приоритет уязвимости складывается не из одного CVSS, а из вероятности эксплуатации и факта, что её уже эксплуатируют. Три сайта на каждую CVE в отчёте сканера — это ровно та работа, которую агент делает без потери качества.
⚡ Попробовать за вечер
Подключить сервер: claude mcp add cve-mcp -- python -m cve_mcp.server
Спросить агента про конкретную CVE из своего go.mod и посмотреть на ссылки в ответе
При нехватке лимита добавить -e NVD_API_KEY=… — ключ поднимает пропускную способность на порядок
Измерить: сколько времени уходит на разбор одной CVE. Без ключей работают восемь инструментов; корреляция с Shodan, VirusTotal и GreyNoise требует платных ключей.
Описание пул-реквеста — список изменённых файлов и абзац текста; ревьюер сам восстанавливает в голове, что откуда вызывается.
→
Стало
Агент подбирает форму под материал: псевдокод, дерево вызовов, дерево файлов, mermaid или диф — и ставит её рядом с поясняемой фразой.
Почему лучше: набор форм задан заранее, поэтому агент не рисует диаграмму там, где хватит трёх строк псевдокода. Правило «каждая иллюстрация рядом с той фразой, которую она поясняет» держит описание коротким.
⚡ Попробовать за вечер
Взять скилл show-me из репозитория humanlayer/skills
Попросить агента разобрать им свежий пул-реквест — не переписывать описание, а показать изменение
Измерить: за сколько коллега понимает изменение, не открывая код. Команды установки в SKILL.md нет, а «описания стало легко читать» — впечатление автора поста.
Anthropic выложил видео нового способа расширять Claude Code и просит обратную связь в GitHub issue. Попробовать пока нечего: в посте прямо сказано, что функциональность не выпущена.
В пересчёте по прейскуранту одиночный прогон обошёлся автору в 11,9 кредита, тот же прогон с субагентом — в 32,2, и около 99% расхода осталось на родительском агенте: объяснить, дождаться и свести результат оказалось дороже самой работы. Автор сам оговаривает границы: задача решалась за две минуты, а субагент навязывался принудительно.
Команда заранее договорилась, что человеческого ревью требуют изменения в публичном API и MCP, авторизации, дизайн-системе, неаддитивных миграциях и файлах скиллов, — и метку на пул-реквест ставит скрипт в CI, а не модель. Ни скрипта, ни правила блокировки мерджа в посте нет — повторить по описанию не выйдет.
Gentle AI прошивает spec-driven и receipt-driven маршруты конечными автоматами с типизированными фазами и раскладывает один контракт в Codex, Claude Code, OpenCode и Pi. Из README видно только установщик: как запустить сам проход, источник не показывает, а квитанция ревью ничего не разрешает — политику мерджа она не заменяет.