Claude Certified Architect · Модуль 5 · Урок 5.4
Управление контекстом при исследовании больших баз кода
Суть
Файлы-черновики (scratchpad) выносят находки наружу, чтобы пережить давление окна контекста: ссылайтесь на файл, а не на память в контексте. Делегирование субагентам: многословная разведка остаётся в их контексте, главный агент получает структурированные сводки.
Деградация контекста и восстановление по манифесту
При заполнении контекста (80%+) качество припоминания падает — модель ссылается на «типичные паттерны» вместо конкретных классов из фазы 1. При возобновлении после сбоя загружайте манифест состояния: что завершено, что устарело; повторяйте лишь прерванное/изменившееся.
# Состояние исследования
## Ключевые находки
- OrderService (src/orders/service.ts): транзакции через UnitOfWork.
- PaymentGateway (src/payments/gw.ts): идемпотентность по idempotency_key.
## Нерешённые вопросы
- Где валидируется лимит возврата?
## Проанализированные файлы
- src/orders/service.ts
- src/payments/gw.ts
## Фаза сессии: 2 / 4Anti-patterns
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Полагаться на память в контексте за 3-часовую сессию | Контекст молча деградирует — модель ссылается на «типичные паттерны» вместо конкретных классов | Вести scratchpad-файлы; явно ссылаться на них в дальнейших вопросах |
| Вести многословную разведку в контексте главного агента | Многословный вывод забивает окно, не оставляя места координации | Делегировать разведку субагентам; главный получает сводки |
| Возобновлять сбойную многоагентную сессию без проверки изменений | Устаревшие результаты, если файлы менялись | Загрузить манифест; повторить лишь изменившееся |
Exam traps
| Ловушка | Почему не работает | Верный паттерн |
|---|---|---|
| Перезапуск сессии теряет ранние находки | Находки не сохранены | Scratchpad сохраняет их |
| Многословная разведка в контексте координации | Тратит критичное место | Делегировать субагентам |
| Возобновление без манифеста | Риск рассуждать по устаревшим данным | Загрузить манифест состояния |
Практическое задание (T4)
- Создать структуру scratchpad: ключевые находки, нерешённые вопросы, проанализированные файлы, фаза сессии.
- Писать находки в scratchpad после каждого открытия; после 10 спросить про находку №3 — агент ссылается на scratchpad.
- Забить контекст многословным выводом; применить
/compact; проверить, что находки из scratchpad сохранились. - Реализовать разведку 3 субагентами с отдельными scratchpad; координатор читает все три при синтезе.
- Смоделировать сбой посреди разведки; реализовать восстановление по манифесту; координатор возобновляет лишь прерванных агентов.
Проверка знаний
Деградация при 4-часовом исследовании базы
После 3 часов Claude даёт несогласованные ответы, ссылаясь на «типичный паттерн сервисного слоя» вместо конкретного класса OrderService, разобранного в первый час. Что сделать?
Верный ответ: B
B верно. Признак (общие «типичные паттерны» вместо конкретных найденных классов) — подпись деградации контекста. Scratchpad выносит находки наружу; агент ссылается на файл, а не на память. A ошибочно винит модель. C откладывает (даже 200k забьётся в долгой сессии). D стирает полезные находки.
Насыщение контекста при поиске паттерна
Окно контекста заполнено на 80%+. Разработчик спрашивает: «Проверь, встречается ли этот паттерн ещё где-то в базе?» Ответ Claude становится бессвязным, пропускает два очевидных совпадения. Вероятная причина?
Верный ответ: B
B верно. При 80%+ заполнения припоминание ранее загруженного контента падает; Claude может не вытащить паттерны, которые точно обработал раньше. A — temperature про случайность, не припоминание. C маловероятно при ясном вопросе. D неверно — Claude умеет искать по содержимому файлов.
Полный аудит монорепо (2000 TypeScript-файлов)
Нужно проверить 2000 TypeScript-файлов на устаревший паттерн API. Одна сессия исчерпает контекст. Самая надёжная архитектура?
Верный ответ: C
C верно. Два шага: Grep даёт детерминированный исчерпывающий список кандидатов; Claude добавляет семантическое суждение по каждой пачке (полный контекст на пачку). A всё равно упрётся в лимит и дорого. B не исчерпывающе. D вносит пробелы покрытия по эвристикам имён, а не по содержимому.