---
title: "Проблемы AI-кодинга: обратный указатель (симптом → что делать)"
author: garplab
publisher: TypingTube
license: CC BY 4.0
license_url: https://creativecommons.org/licenses/by/4.0/
license_scope: Весь текст этого документа (кроме этого frontmatter)
language: ru
canonical: https://typing-tube.net/articles/ru/lookup
---

# Проблемы AI-кодинга: обратный указатель (симптом → что делать)

Таблица для поиска по симптому, а не по названию. За ссылкой «Подробнее» — раздел статьи, где это решение описано с измерениями.

Эта таблица предполагает использование Claude Code (агента для программирования от Anthropic). hook, CLAUDE.md, subagent и auto memory — названия его функций.

| Что происходит | Что делать | Функции Claude Code | Подробнее |
|---|---|---|---|
| Каждый раз, когда ИИ запускает тесты, в контекст выгружаются десятки тысяч строк вывода | Направьте весь запуск тестов через один обёрточный скрипт, записывайте полный вывод в лог-файл и возвращайте ИИ только сводку по ошибкам. | `context window` / `wrapper script` / `fixed-prefix count line ([observed])` | [読まない技術 第1回：テスト結果を読まない技術](https://typing-tube.net/articles/cd93e0c5cac832#cd93e0c5cac832-4eea2df8) |
| Чем больше заметок со знаниями сохраняет ИИ, тем больше приходится читать в каждой следующей сессии | Используйте PreToolUse hook, который срабатывает непосредственно перед записью в память и заставляет ИИ сначала прочитать чек-лист, а в файле инструкций (CLAUDE.md) оставьте только одну строку: «прочитайте перед тем, как писать». | `MEMORY.md` / `loaded at session start` / `context rot` | [読まない技術 第2回：メモリを読まない技術](https://typing-tube.net/articles/384477896fec22#384477896fec22-4eea2df8) |
| Тесты проходят, но непонятно, действительно ли они что-то защищают | Опишите на одной странице политику mutation testing (метод, при котором код намеренно ломают, чтобы проверить, упадут ли тесты), и давайте её ИИ читать каждый раз, когда просите проверить тесты. | `mutation testing` / `positive control` / `vacuous truth` | [読まない技術 第3回：単体テストを読まない技術](https://typing-tube.net/articles/e4ad91d2fd6c67#e4ad91d2fd6c67-4eea2df8) |
| ИИ иногда использует зарегистрированный skill, а иногда нет | Оставьте команду обычным скриптом, блокируйте неверные вызовы через PreToolUse hook и указывайте ИИ, какую документацию прочитать. | `PreToolUse hook (Bash matcher)` / `hook stderr + exit 2` / `mission` | [読まない技術 第4回：スキルを使わない技術](https://typing-tube.net/articles/8f9ae8791b448d#8f9ae8791b448d-4eea2df8) |
| После того как работа передана sub-agent'у, не видно, что происходит, пока он не закончит | Опишите в YAML, какие задачи можно делегировать sub-agent'у и какие входные файлы должны существовать перед запуском, и проверяйте это hook'ом перед стартом. | `subagent (Agent tool)` / `subagent (no parent context)` / `contract (inputs / outputs / acceptance)` | [読まない技術 第5回：サブエージェントの出力だけは読め](https://typing-tube.net/articles/62f714d7c2b599#62f714d7c2b599-7e6cc5ce) |
| Чем больше правил добавляется в файл инструкций, тем хуже соблюдаются добавленные раньше | Переписывайте каждое правило «не делайте X» по одному в автоматический тест (Minitest), который умеет обнаруживать нарушение. | `CLAUDE.md` / `Claude Code hooks (PreToolUse / PostToolUse / Stop / SubagentStop)` / `hook contract (proof of reading)` | [読まない技術 第6回：ルールを読まない技術](https://typing-tube.net/articles/569d598941c00f#569d598941c00f-4eea2df8) |
| Память, которую делят параллельные сессии, замусоривается, и чтение политики этому не помогает | Перенесите тот же файл политики в PostToolUse hook и показывайте его вместе с diff сразу после сохранения. Содержимое не меняйте — меняйте только момент показа. | `MEMORY.md` / `concurrent test runs` / `hooks / automated tests` | [読まない技術 第7回：共有メモリを整理しない技術](https://typing-tube.net/articles/83c46d1e6b2591#83c46d1e6b2591-4eea2df8) |
| Даже если способ обработки ошибки записан, в следующий раз ИИ повторяет ту же ошибку | Соберите политику повторной попытки в файл на несколько строк и вставляйте её автоматически через hook, который обнаруживает ошибку. | `auto memory (feedback_*)` | [読まない技術 第8回：修正履歴を読まない技術](https://typing-tube.net/articles/f7c9c30f567aee#f7c9c30f567aee-4eea2df8) |
| Даже при чтении заметок передачи и отчёта о завершении не хватает неудобных деталей | Каждый раз размещайте рядом с отчётом о завершении цифры, полученные механически, например через git diff --stat. | `handoff` / `test summary line (full log in a file)` | [読まない技術 第9回：引き継ぎを読まない技術](https://typing-tube.net/articles/a43b57a94d2216#a43b57a94d2216-4eea2df8) |
| Числа, посчитанные машиной, к моменту попадания в отчёт превращаются в другие числа | Добавьте к строке с числом фиксированный префикс и проверяйте hook'ом, что он скопирован дословно. | `machine-counted numbers ([observed] / git diff --stat)` / `test summary line (full log in a file)` / `self-report (bias toward completion)` | [読まない技術 第10回：AIに要約しろと言わない技術](https://typing-tube.net/articles/yomanai-10-no-summary#yomanai-10-no-summary-4eea2df8) |
| Если прервать ИИ посреди работы, всё, что он делает дальше, идёт наперекосяк | Вместо того чтобы человек прерывал работу посередине, пусть вмешиваются PostToolUse hook, который сразу после сохранения возвращает политику, и hook, который обнаруживает ошибку и возвращает работу на доработку. Человек ждёт естественной границы. | `user message during a task` / `recency` / `context window` | [読まない技術 第11回：口を挟まない技術](https://typing-tube.net/articles/6c6d2e4f80a649#6c6d2e4f80a649-e4cb60ea) |
| К концу сессии неясно, что нужно прочитать, а что нет | Не читайте ни результат, ни лог работы — судите об успехе только по exit code тестов или линтера. | `self-report (bias toward completion)` / `machine-counted numbers ([observed] / git diff --stat)` / `exit code (pass / fail)` | [読まない技術 第12回：作業結果を読まない技術](https://typing-tube.net/articles/1769779c2f1b4b#1769779c2f1b4b-4eea2df8) |
| Однажды отклонённое предложение снова всплывает в следующей сессии | Собирайте все отклонённые решения в один документ по фиксированному формату. |  | [AIの意見を聞かない技術 第1回：提案を検討しない技術](https://typing-tube.net/articles/kikanai-01-no-review#kikanai-01-no-review-9e2b31e8) |
| Даже если запрет записан одной строкой, его толкуют то слишком широко, то слишком узко | В едином документе, где собраны отклонённые решения (например non_goals.md), для каждого запрета добавьте заголовок «причина» рядом с выводом. |  | [AIの意見を聞かない技術 第2回：禁止を書かない技術](https://typing-tube.net/articles/kikanai-02-reason#kikanai-02-reason-2973ce11) |
| Запрет записан правильно, но не соблюдается, и каждый раз приходится это обсуждать | В документе отклонённых решений для каждого запрета добавьте заголовок «область применения» и построчно перечислите пограничные случаи, вызывающие сомнения. | `gap between goal pressure and spec` / `rule-to-test mapping` | [AIの意見を聞かない技術 第3回：禁止ルールを作らない技術](https://typing-tube.net/articles/kikanai-03-scope#kikanai-03-scope-1db3e01a) |
| Одна и та же инструкция, розданная нескольким sub-agent'ам, возвращается каждый раз в разной форме | В списке задач, которые можно делегировать sub-agent'у, прямо укажите входные файлы, которые нужно подготовить перед запуском. | `subagent mission catalog + launch hook` / `contract (inputs / outputs / acceptance)` / `required input files` | [AIの意見を聞かない技術 第4回：サブエージェントの入力だけは、確かめろ](https://typing-tube.net/articles/kikanai-04-subagent-input#kikanai-04-subagent-input-0b96e6a8) |
| Запреты без автоматического теста накапливаются, оставаясь просто текстом | В документе отклонённых решений добавьте в список заголовок «машинная проверка» и отмечайте для каждого пункта, существует ли соответствующий автоматический тест (Minitest). | `probabilistic compliance (p^n)` | [AIの意見を聞かない技術 第5回：自動テストを書かない技術](https://typing-tube.net/articles/kikanai-05-machine-check#kikanai-05-machine-check-0f82d02b) |
| Каждая работа ИИ заканчивается словами «откройте экран и проверьте» | Подготовьте один smoke-тест на Playwright и определяйте успех не по виду экрана, а по записи, оставшейся в БД. | `automatic error report from users` | [AIの意見を聞かない技術 第6回：AIの確認依頼を断る技術](https://typing-tube.net/articles/kikanai-06-production#kikanai-06-production-6c41de4e) |
| Каждый раз, когда ИИ говорит что-то чуть не то, приходится самому объяснять и исправлять | Вместо того чтобы человек объяснял и исправлял каждое отклонение, запишите замечание в stderr hook'а (exit 2) и в сообщения об ошибках автоматических тестов, чтобы именно по этому пути оно доходило до ИИ. | `SendMessage (retry)` | [AIの意見を聞かない技術 第7回：AIの話を聞かない技術](https://typing-tube.net/articles/kikanai-07-no-listening#kikanai-07-no-listening-f900b392) |
| Список отклонённых решений продолжает расти, и похоже, что однажды его перестанут читать | Добавьте в конец документа отклонённых решений раздел «непринятые варианты» и записывайте туда отклонённые предложения. | `MEMORY.md` / `context rot` | [AIの意見を聞かない技術 第8回：ルールを整理しない技術](https://typing-tube.net/articles/kikanai-08-no-inventory#kikanai-08-no-inventory-d72023ae) |
| Строки «обязательно выполните это» в файле инструкций никак не сокращаются | Проверяйте автоматическим тестом, действительно ли каждая команда, помеченная в файле инструкций как «обязательно выполнить», присутствует и в pre-commit hook. | `CLAUDE.md` / `Minitest` / `hooks / automated tests` | [言わない技術 第1回：検証を指示しない技術](https://typing-tube.net/articles/iwanai-01-no-verification#iwanai-01-no-verification-f9f3539e) |
| Даже если передать точный порядок действий, исправление приходит не в том виде | Вместо того чтобы диктовать порядок действий, определите для каждого случая использования входные файлы, которые должны существовать перед запуском sub-agent'а. | `per-mission guide document` / `presupposition` / `launch without a contract` | [言わない技術 第2回：具体的な指示を出さない技術](https://typing-tube.net/articles/iwanai-02-no-procedure#iwanai-02-no-procedure-e45dd403) |
| Чтобы сообщить о баге, каждый раз приходится самому описывать шаги и симптомы | Разместите форму сообщения об ошибке, где человек вводит только одно предложение с описанием симптома, а URL, историю действий и информацию о браузере собирает автоматически JavaScript. | `bug report form (JS collects URL / actions / browser)` | [言わない技術 第3回：不具合詳細を書かない技術](https://typing-tube.net/articles/iwanai-03-no-bug-details#iwanai-03-no-bug-details-e45dd403) |
| Каждый раз приходится тратить усилия на то, чтобы написать «сначала дай план» | Новая реализация не нужна. Достаточно разместить один проектный документ — ИИ прочитает существующие документы и будет следовать тому же формату. |  | [言わない技術 第4回：計画を書けと言わない技術](https://typing-tube.net/articles/iwanai-04-no-plan-request#iwanai-04-no-plan-request-be44c158) |
| Строки, которые больше всего хочется, чтобы соблюдались, написаны наиболее настойчиво, но неясно, помогает ли это | Откажитесь от измерения эффекта — вместо этого считайте в файле инструкций строки с выделениями и добавьте автоматический тест (ratchet), который падает, когда их число превышает порог. | `emphasis count in CLAUDE.md` / `sycophancy` / `Dir.glob scan` | [言わない技術 第5回：念を押さない技術](https://typing-tube.net/articles/iwanai-05-no-emphasis#iwanai-05-no-emphasis-abb803f1) |
| Результат работы sub-agent'а возвращается в форме, отличной от ожидаемой | Для каждого случая использования sub-agent'а опишите в одном документе критерии приёмки результата: имя файла, формат, обязательные поля. | `subagent (Agent tool)` / `contract (inputs / outputs / acceptance)` / `self-report (bias toward completion)` | [言わない技術 第6回：サブエージェントの出力だけは、細かく指示しろ](https://typing-tube.net/articles/iwanai-06-subagent-output#iwanai-06-subagent-output-633e9bd9) |
| Найдя ошибку, хочется спросить с упрёком: «вы вообще это читали?» | Вместо упрёка зафиксируйте второе предложение каждого запроса как шаблон вопроса «разве не так, что …?». | `sycophancy` | [言わない技術 第7回：AI を問い詰めない技術](https://typing-tube.net/articles/iwanai-07-no-interrogation#iwanai-07-no-interrogation-293fc181) |
| Ответ «нет, не так» на полученный результат не делает его лучше | Вместо того чтобы указывать на это самому, показывайте запреты без альтернативы через PostToolUse hook вместе с diff сразу после сохранения. | `SendMessage (retry)` / `guarded_by + marker` / `over-triggering` | [言わない技術 第8回：AI にダメ出ししない技術](https://typing-tube.net/articles/iwanai-08-no-criticism#iwanai-08-no-criticism-e4cb60ea) |
| ИИ рассказывает о содержимом файла так, будто открывал его, хотя не открывал | Заставьте ИИ оставлять соответствующие друг другу marker'ы и в документе, на который он ссылается, и в коде, и проверяйте автоматическим тестом, что marker'ы действительно существуют. | `hallucination` / `escape hatch (SKIP_*= / --no-verify)` / `marker` | [言わない技術 第9回：AI に考えさせない技術](https://typing-tube.net/articles/iwanai-09-no-guessing#iwanai-09-no-guessing-61ef1df2) |
| ИИ снова и снова спрашивает «А или Б?», и работа стоит, пока вы решаете | Перестаньте отвечать сразу — сделайте так, чтобы выбор определялся автоматическим тестом или hook'ом. |  | [言わない技術 第10回：質問に答えない技術](https://typing-tube.net/articles/iwanai-10-no-answering#iwanai-10-no-answering-0efdc39b) |
| ИИ проводит ревью, но неясно, что остаётся вне поля зрения | Используйте внешний автоматический тест, который считает количество, чтобы выявлять автоматические тесты, сканирующие файлы, но не имеющие нижней границы (assert_operator ... :>=). | `Minitest` / `vacuous truth` / `Dir.glob scan` | [言わない技術 第11回：AI にレビューをさせない技術](https://typing-tube.net/articles/iwanai-11-no-review#iwanai-11-no-review-659e23ad) |
| Скриншоты продолжают накапливаться, но непонятно, какой из них что именно подтверждает | Перед проверкой экрана требуйте ответ на два вопроса — «что проверяется» и «почему не хватит более дешёвого способа», — и держите памятку на одну страницу о том, что сначала пробуют самый дешёвый вариант в порядке: unit-тест → интеграционный тест → E2E. | `Playwright screenshot` / `verification ladder (unit → integration → E2E)` / `verification declaration file + PreToolUse hook` | [確かめない技術 第1回：スクリーンショットを撮らない技術](https://typing-tube.net/articles/tashikamenai-01-no-screenshots#tashikamenai-01-no-screenshots-d3d345e4) |
| Шаг с обязательной записью введён, но невозможно посчитать, сколько запусков его пропустило | Перед скриншотом или E2E пусть будет записан файл-декларация о том, что именно проверяется (например tmp/visual_verification.md); сделайте его наличие условием запуска PreToolUse hook, чтобы без него скриншот или E2E не запускались. | `verification declaration file + PreToolUse hook` / `Claude Code hooks (PreToolUse / PostToolUse / Stop / SubagentStop)` / `PreToolUse hook (Bash matcher)` | [確かめない技術 第2回：宣言を信じない技術](https://typing-tube.net/articles/tashikamenai-02-declaration-guard#tashikamenai-02-declaration-guard-4eea2df8) |
| Один и тот же тест запускается снова, хотя код не менялся, и приходится ждать заново | Добавьте в обёрточный скрипт тестов опцию --last, которая показывает предыдущий лог, чтобы повторный запуск не требовался. | `--last (replay the previous result)` / `mtime check` / `expensive entry point (screenshot / E2E / production)` | [確かめない技術 第3回：テストを再実行しない技術](https://typing-tube.net/articles/tashikamenai-03-no-rerun#tashikamenai-03-no-rerun-ffaed55c) |
| Ничего не сломано, а вылезает целый ряд незнакомых ошибок | Пусть обёрточный скрипт тестов берёт эксклюзивную блокировку (используя атомарность mkdir) и не запускается, если не смог её получить. | `flaky failure` / `mkdir lock` / `concurrent test runs` | [確かめない技術 第4回：偽の失敗を読まない技術](https://typing-tube.net/articles/tashikamenai-04-false-failures#tashikamenai-04-false-failures-a29d752a) |
| В отчёте «тесты проходят» не сказано, какая часть вообще не запускалась | Помечайте тяжёлые E2E-тесты тегами по областям, пропускайте их по умолчанию и каждый раз выводите список областей, которые не запускались. | `E2E area (E2E=<area>)` / `skipped-area count line` / `pass / fail by DB record` | [確かめない技術 第5回：全部走らせない技術](https://typing-tube.net/articles/tashikamenai-05-selective-e2e#tashikamenai-05-selective-e2e-bb037847) |
| Нельзя потом понять, была ли на самом деле соблюдена инструкция, задающая порядок действий | Если нужно, чтобы порядок действий соблюдался, не усиливайте формулировку инструкции — вместо этого сделайте так, чтобы следование порядку оставляло след в результате (например, выводите по одной строке на каждый открытый файл). | `sycophancy` / `file existence check` / `tool_use count` | [動かさない技術 第1回：手順を守らせない技術](https://typing-tube.net/articles/ugokasanai-01-no-procedure-enforcement#ugokasanai-01-no-procedure-enforcement-129e096a) |
| Установленный обёрточный скрипт со временем снова заменяют на голую команду | Если нужно, чтобы использовался обёрточный скрипт, не усиливайте инструкцию — проверьте, не осталась ли причина возвращаться к голой команде, то есть не хватает ли обёртке какой-то возможности. | `wrapper script` / `the raw command the model defaults to` / `workaround after exit 2` | [動かさない技術 第2回：ラッパーを使わせない技術](https://typing-tube.net/articles/ugokasanai-02-no-wrapper-enforcement#ugokasanai-02-no-wrapper-enforcement-129e096a) |
| На один и тот же вопрос каждый раз приходит разный ответ, а при сведении в одно что-то теряется | Перед тем как объединять несколько ответов в один, выводите, сколько раз встретился каждый тип замечания — сколько из скольких его упомянули. | `one subagent run` / `answer key` | [動かさない技術 第3回：集めない技術](https://typing-tube.net/articles/ugokasanai-03-no-aggregation#ugokasanai-03-no-aggregation-f7af24f4) |
| Непонятно, сработала ли строка вида «сделайте X, если нужно» | Не пишите условные инструкции вида «сделайте X, если нужно» — вместо этого принудительно требуйте этот шаг через hook, который не даёт продолжить без него. | `rule-to-test mapping` / `Claude Code hooks (PreToolUse / PostToolUse / Stop / SubagentStop)` / `file existence check` | [動かさない技術 第4回：役に立たない技術](https://typing-tube.net/articles/ugokasanai-04-no-conditional-instruction#ugokasanai-04-no-conditional-instruction-e45dd403) |
| Просьба «подумайте ещё раз» меняет ответ, но неясно, действительно ли ИИ убедился | Вместо того чтобы возвращать со словами «подумайте ещё раз», конкретно укажите, какая посылка неверна. | `sycophancy` / `SendMessage (retry)` / `guarded_by + marker` | [動かさない技術 第5回：選び直させない技術](https://typing-tube.net/articles/ugokasanai-05-no-reselection#ugokasanai-05-no-reselection-88f30148) |
| После фразы «не гадайте» ИИ стал возвращаться, вообще ничего не создав | Не передавайте только запрет — добавьте к нему запасной вариант вывода, например: «если ничего не подходит, выведите “не применимо”». | `escape hatch (SKIP_*= / --no-verify)` / `hooks + automated tests + ratchet` / `hallucination` | [動かさない技術 第6回：逃げ道を塞がない技術](https://typing-tube.net/articles/ugokasanai-06-no-blocking-exits#ugokasanai-06-no-blocking-exits-420ce5bc) |
| Чем дольше продолжается удачно идущий диалог, тем больше усилий уходит на проверку | Завершайте сессию на границе задачи и начинайте следующую задачу в новой сессии. | `context window` / `input / output / cache read tokens` / `sycophancy` | [動かさない技術 第7回：セッションを続けない技術](https://typing-tube.net/articles/ugokasanai-07-no-long-sessions#ugokasanai-07-no-long-sessions-a59368ec) |
| Все результаты работы верны, но накапливаются потери, которые в них не отражены | Когда результаты готовы, один раз прогоните скрипт, который подводит итог по самому логу работы (transcript). | `file existence check` / `machine-counted numbers ([observed] / git diff --stat)` / `Dir.glob scan` | [動かさない技術 第8回：成果物で判断しない技術](https://typing-tube.net/articles/ugokasanai-08-no-artifact-judgment#ugokasanai-08-no-artifact-judgment-588e1e37) |
| Заметки со знаниями, оставленные для следующего, расходятся с реальностью и устаревают | Не оставляйте знание в документе — встраивайте его в сообщение об ошибке автоматического теста или в сообщение об остановке hook'а, чтобы оно появлялось именно в нужный момент. | `handoff` / `MEMORY.md` / `mtime check` | [動かさない技術 第9回：知見を残さない技術](https://typing-tube.net/articles/ugokasanai-09-no-knowledge-notes#ugokasanai-09-no-knowledge-notes-cb7946f3) |
| Копание в причине продолжается, и чтение идёт даже после того, как ответ уже найден | Посчитайте по логу работы серии чтений подряд, которые ничего не изменили, и запишите одной строкой условие остановки перед началом копания. | `machine-counted numbers ([observed] / git diff --stat)` / `input / output / cache read tokens` / `Dir.glob scan` | [追わない技術 第1回：深追いしない技術](https://typing-tube.net/articles/owanai-01-no-deep-dive#owanai-01-no-deep-dive-36119a54) |
| Самая дешёвая по цене модель делается моделью по умолчанию без проверки, подходит ли она задаче | Передайте одну и ту же задачу и дешёвой, и дорогой модели и решайте только после того, как отдельно посчитаете число шагов до завершения и объём заново прочитанного, переиспользованного (cache read) и написанного. | `rule-to-test mapping` / `Minitest` / `machine-counted numbers ([observed] / git diff --stat)` | [追わない技術 第2回：一番安いモデルを使わない技術](https://typing-tube.net/articles/owanai-02-no-cheapest-model#owanai-02-no-cheapest-model-15eb5702) |
| Если что-то не работает, вместо механизма чинят, повышая модель | Передайте одну и ту же задачу и более дорогой, и более дешёвой модели, и превратите места, где падает только дешёвая, в постоянную проверку. | `rule-to-test mapping` / `Minitest` / `machine-counted numbers ([observed] / git diff --stat)` | [追わない技術 第3回：最新モデルを使わない技術](https://typing-tube.net/articles/owanai-03-no-latest-model#owanai-03-no-latest-model-eec0ed05) |
| Исследование, которое основная сессия могла бы завершить сама, на всякий случай передают sub-agent'у | Перед передачей проверьте, есть ли этот контекст уже у родительского агента. Если есть — продолжайте в родительском агенте; передавайте sub-agent'у только большой объём чтения, которого у него ещё нет. | `subagent (Agent tool)` / `context window` / `input / output / cache read tokens` | [追わない技術 第4回：サブエージェントを使わない技術](https://typing-tube.net/articles/owanai-04-no-subagent#owanai-04-no-subagent-efc681e6) |
| По умолчанию работу делят на четыре части и запускают всё одновременно, просто на всякий случай | Давайте одному sub-agent'у не больше, чем он может вернуть за один ответ. Цену определяет не число sub-agent'ов, а сколько раз каждый выделенный sub-agent ходит туда-обратно к родительскому агенту. | `subagent (Agent tool)` / `input / output / cache read tokens` / `machine-counted numbers ([observed] / git diff --stat)` | [追わない技術 第5回：エージェントチームを使わない技術](https://typing-tube.net/articles/owanai-05-no-agent-team#owanai-05-no-agent-team-037074af) |
| «Посмотрите ещё и на это» вставляют извне посреди работы | Дождитесь естественной границы работы, а затем вносите дополнительный запрос с суженной областью. Спрашивая у самого ИИ о пробелах, всегда добавляйте: «если всё достаточно, прямо так и напишите». Это даёт ему выход (escape hatch), чтобы не выдумывать пробел. | `subagent (Agent tool)` / `instruction priority (position / recency / system vs user)` / `over-triggering` | [追わない技術 第6回：途中でレビューさせない技術](https://typing-tube.net/articles/owanai-06-no-midway-review#owanai-06-no-midway-review-542ab968) |
| Выбор модели пытаются сделать через прямое сравнение | Перед тем как начать сравнивать модели, посчитайте, скольким hook'ам или автоматическим тестам равны затраты на это сравнение. Если механизмов, которые можно описать явно, больше, чем это число, сначала внедрите их. | `input / output / cache read tokens` / `rule-to-test mapping` | [追わない技術 第7回：モデルを選ばない技術](https://typing-tube.net/articles/owanai-07-no-model-choice#owanai-07-no-model-choice-41136ab2) |
| Фразой «разницы не было» пытаются свернуть проверку | Перед тем как сворачивать со словами «разницы не было», посчитайте две вещи: если какие-то результаты исключили из подсчёта (например, упавших sub-agent'ов) — верните их и пересчитайте; если у более чем половины пунктов ноль при всех условиях — переформулируйте задачу и измерьте заново. | `machine-counted numbers ([observed] / git diff --stat)` / `vacuous truth` | [追わない技術 第8回：諦めさせない技術](https://typing-tube.net/articles/owanai-08-no-giving-up#owanai-08-no-giving-up-82156f07) |

---

Источник: «Проблемы AI-кодинга: обратный указатель (симптом → что делать)» garplab (TypingTube) https://typing-tube.net/articles/ru/lookup / CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
Эту таблицу можно копировать, перепечатывать, переводить и использовать в коммерческих целях при указании источника. Актуальная версия и полные тексты статей — по указанному выше URL.
