● X WEEKLY DIGEST · BACKEND / AGENTS

Приёмы недели из X

Практические приёмы и сдвиги для 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

Блокировать чтение больших файлов хуком, а не просьбой в инструкции

кто: @undefinedKi + подхватили: @deararchitects
Было

Правило «не открывай файл целиком» лежало текстом в CLAUDE.md, и модель обходила его, когда ей было удобно.

Стало

Хук check-file-size срабатывает на каждый вызов Read и блокирует файл длиннее порога, отправляя чтение дешёвой модели.

Почему лучше: текст в инструкции — совет, хук — запрет. Дорогая модель при этом не теряет главного: правку файлов и рассуждение Spotify делегировать не стал. В их же тесте дешёвый работник пропустил ошибку многопоточности, которую дорогая модель нашла за секунды.

⚡ Попробовать за вечер
  • Поставить плагины: claude plugin install portal@portal и claude plugin install shunt@portal
  • Выставить свой порог строк: 350 — значение по умолчанию у Spotify, а не универсальная граница
  • Оставить точечное чтение с offset и limit проходить мимо хука, иначе агенту нечем будет править код
  • Измерить: расход токенов на одной и той же задаче до и после. Spotify замерил среднюю экономию около 90% на массовом чтении, а не на всём счёте.
Схема маршрутизации чтения файлов в Claude Code: хуки PreToolUse, порог 350 строк, режимы bulk-reader и code-writer из твита @undefinedKi
На картинке: три слоя маршрутизации и то, что остаётся в контексте после каждого пути. Только слой хуков имеет право отказать; скрипты собирают запрос, скиллы лишь подсказывают. Ниже — таблица того, что делегировать не стали: правку файла, рассуждение и любую мелочь, где сетевой круг в 10–30 секунд дороже сэкономленных токенов.
02

Убрать время и счётчики из начала системного промпта

кто: @i_mika_el
Было

В начало системного промпта клали текущее время и номер запроса — «чтобы модель понимала контекст».

Стало

Всё изменяемое уехало ниже точки cache_control, а неизменная часть осталась стабильным префиксом.

Почему лучше: попадание в кеш требует стопроцентно одинакового префикса до блока с cache_control включительно. Один timestamp наверху меняет хеш, и каждый вызов агента снова оплачивается по полной ставке ввода.

⚡ Попробовать за вечер
  • Выписать всё, что меняется от вызова к вызову: время, id запроса, счётчики, случайный seed
  • Перенести это ниже последней точки cache_control — в сообщения, а не в системный блок
  • Помнить порядок: toolssystemmessages; изменение на любом уровне сбрасывает кеш этого уровня и всех следующих
  • Измерить: cache_read_input_tokens в ответе до и после. У промптов короче 512 токенов (Fable 5.1) или 1024 (Sonnet 5) кеша не будет вовсе.
БЫЛО cache_control время, id инструкции префикс каждый раз новый — кеш мимо СТАЛО cache_control инструкции время, id префикс тот же — кеш попал
схема дайджеста: пока изменяемое стоит до точки cache_control, кеш не срабатывает ни разу
03

Поставить прокси на Go вместо ручной расстановки cache_control

кто: @DanKornas
Было

Чтобы включить кеширование, приходилось лезть в клиент и расставлять 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% ничем независимым не подтверждено.

04

Начинать с низкого усилия рассуждения, а не с максимума

кто: @RLanceMartin
Было

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

Стало

Сначала пробуют 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 — это его слова, документацией эти команды не подтверждены.
График CursorBench: оценка в процентах против цены за задачу для Grok 4.6, GPT-5.6 Sol, Claude Fable 5, Opus 5 и Fable 5.1 на разных уровнях усилия из твита @RLanceMartin
На картинке: кривая Fable 5.1 идёт выше и левее кривой Fable 5 целиком. Точка Low у Fable 5.1 лежит левее и выше точки Low у Fable 5: дешевле за задачу и выше по оценке. Низкое усилие здесь не размен качества на цену.
05

Провести ревизию AGENTS.md и SKILL.md под новую модель

кто: @bradleybernard + подхватили: @victornunez
Было

Файлы инструкций писались под прошлую модель и копились месяцами; на новой агент вдруг переспрашивает и бросает работу недоделанной, хотя текст не менялся.

Стало

Инструкции проходят ревизию: приоритет указаний пользователя записан явно, а агент обязан назвать файл скилла, из-за которого остановился.

Почему лучше: новая модель чувствительнее к тому, что лежит в скиллах и AGENTS.md. Обходные формулировки, которые прошлая модель просто игнорировала, теперь начинают исполняться буквально — и агент останавливается там, где раньше шёл дальше.

⚡ Попробовать за вечер
  • Дать Codex ссылку на гайд по модели и попросить пройтись по AGENTS.md и всем SKILL.md в репозитории
  • Записать правило приоритета: указания пользователя выше указаний скилла при конфликте
  • Добавить требование прозрачности: если скилл заставил агента остановиться или спросить разрешение — пусть назовёт и процитирует конкретный SKILL.md
  • Заменить reasoning effort none или minimal на low: none новая модель не поддерживает
  • Измерить: прогнать одну и ту же задачу до и после ревизии. Обещание «станет быстрее» принадлежит автору поста, замера за ним нет.
06

Заметки вместо сжатия всей сессии в одно резюме

кто: @fitchmultz + подхватили: @gabrielchua @daniel_mac8
Было

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

Стало

Агент смотрит остаток окна, берёт свежее и переносит туда собственные заметки, а по прежним окнам ищет — вместе с выводом инструментов.

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

⚡ Попробовать за вечер
  • Поставить расширение: pi install npm:pi-posthorse
  • Дать агенту длинную задачу и посмотреть, что он записал через notes() перед сменой окна
  • Проверить history(): находит ли он старый вывод инструмента, которого нет в заметках
  • Измерить: сколько раз за длинную сессию агент переспрашивает то, что уже выяснил.

Дыра: расширение живёт только внутри агента Pi. У Codex похожий режим появился вместе с Astra, но он экспериментальный и включается отдельно — переносить рецепт один в один на Claude Code не выйдет.

07

Дать агенту песочницу с шеллом вместо MCP-сервера

кто: @alexalbert__ + подхватили: @simonw
Было

Чтобы агент управлял внешней программой, под неё искали или писали MCP-сервер и описывали набор инструментов.

Стало

Агенту дают изолированную машину с шеллом: он сам ставит программу и пишет скрипт против её встроенного API.

Почему лучше: у зрелой программы уже есть свой скриптовый API, и шелл открывает его целиком, а MCP-сервер отдаёт ровно то, что в него заложили. В примере автора агент поставил Blender и написал скрипт на его bpy — ни сервера, ни интерфейса не потребовалось.

⚡ Попробовать за вечер
  • Взять инструмент со своим CLI или Python API, к которому вы уже прикрутили MCP
  • Дать агенту контейнер с шеллом и правом ставить пакеты, без описания инструментов
  • Попросить агента решить ту же задачу, начав с разбора того, какой скриптовый API у программы есть
  • Измерить: сколько шагов и сколько правок руками ушло по каждому пути. Сравнения в самом посте нет — это довод, а не замер.
08

Держать память агента в репозитории, а не в векторной базе

кто: @di_zhang_fdu
Было

Память агента жила во внешней векторной базе: отдельный сервис, отдельный бэкап, и заглянуть внутрь можно было только через её 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% меньше лишних токенов» — бенчмарк самого проекта, а не независимая проверка.
09

Разобрать CVE одним вызовом вместо пятнадцати вкладок

кто: @7h3h4ckv157
Было

Свежая 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 требует платных ключей.
10

Показывать пул-реквест в той форме, которая подходит изменению

кто: @dexhorthy + подхватили: @mattpocockuk
Было

Описание пул-реквеста — список изменённых файлов и абзац текста; ревьюер сам восстанавливает в голове, что откуда вызывается.

Стало

Агент подбирает форму под материал: псевдокод, дерево вызовов, дерево файлов, mermaid или диф — и ставит её рядом с поясняемой фразой.

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

⚡ Попробовать за вечер
  • Взять скилл show-me из репозитория humanlayer/skills
  • Попросить агента разобрать им свежий пул-реквест — не переписывать описание, а показать изменение
  • Измерить: за сколько коллега понимает изменение, не открывая код. Команды установки в SKILL.md нет, а «описания стало легко читать» — впечатление автора поста.
💬

На что обратить внимание

Четыре кандидата не дошли до карточек: где-то нет самого шага, где-то функциональность ещё не выпущена. Держать в голове, но вечером делать нечего.

🪝 Function Hooks в Claude Code показали, но не выпустили

Anthropic выложил видео нового способа расширять Claude Code и просит обратную связь в GitHub issue. Попробовать пока нечего: в посте прямо сказано, что функциональность не выпущена.

Твит ↗

💸 Делегировать субагенту — не значит сэкономить

В пересчёте по прейскуранту одиночный прогон обошёлся автору в 11,9 кредита, тот же прогон с субагентом — в 32,2, и около 99% расхода осталось на родительском агенте: объяснить, дождаться и свести результат оказалось дороже самой работы. Автор сам оговаривает границы: задача решалась за две минуты, а субагент навязывался принудительно.

Твит ↗

🏷 Ревью по зонам риска, метку ставит скрипт

Команда заранее договорилась, что человеческого ревью требуют изменения в публичном API и MCP, авторизации, дизайн-системе, неаддитивных миграциях и файлах скиллов, — и метку на пул-реквест ставит скрипт в CI, а не модель. Ни скрипта, ни правила блокировки мерджа в посте нет — повторить по описанию не выйдет.

Твит ↗

⚙️ Харнесс на Go с детерминированным маршрутом

Gentle AI прошивает spec-driven и receipt-driven маршруты конечными автоматами с типизированными фазами и раскладывает один контракт в Codex, Claude Code, OpenCode и Pi. Из README видно только установщик: как запустить сам проход, источник не показывает, а квитанция ревью ничего не разрешает — политику мерджа она не заменяет.

Твит ↗
🎯

Мой план на эту неделю

Три пункта, все про счёт за токены — потому что именно об этом неделя. Лучше внедрить два, чем прочитать про десять.

Вынести: время, счётчики и id запроса из начала системного промпта одного своего агента, затем сверить cache_read_input_tokens до и после
до среды
Прогнать: AGENTS.md и все SKILL.md через гайд новой модели, заменить none и minimal на low, повторить одну и ту же задачу до и после
до пятницы
Поднять: Autocache перед своим клиентом на один рабочий день и посмотреть X-Autocache-Cache-Ratio на реальной нагрузке
до выходных
#

Метаданные

сгенерировано 2026-09-07T15:32:58Z
окно 2026-08-31 — 2026-09-07 (7 дней)
отсканировано / в дайджест 1057 постов от 555 авторов / 14 (10 приёмов + 4 на заметку)
воронка 614 постов по теме после ранжирования, 38 вычитано, 10 пережили опровержение
источник Nitter RSS (nitter.perennialte.ch); метрики и медиа постов — api.fxtwitter.com
пропущенные handles нет; окно не закрыто у 12 тематических запросов и у ленты victortaelin — добор подтвердил, что лента отдала всё, что у неё есть
×
Открыть твит