Перейти к содержимому

Размер контекста

Руководство по выбранному контексту и провайдерам описывает пакеты исходников, точное восстановление вывода, явные профили моделей и необязательные кандидаты worker. Эти команды входят в опубликованный CLI; проверьте установленную версию и справку команды.

Перед задачей оцените известный текст из явно выбранных файлов или stdin командой bee token estimate. Руководство по проверке токенов показывает сравнение выборок контекста, повтор одного входа через --calls, выделение бюджета вывода и сохранение итогов при --limit 0. Требуется Bee 1.0.0-beta.16 или новее.

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

Окно терминала
bee budget "catalog validation" --path src/Catalog/Product.cs --by-item --json

Посмотрите контекст, который Bee сформирует для примера запроса. --by-item показывает вклад каждого правила, записи памяти и другого элемента в символах UTF-16. Заголовки разделов и обрамляющие маркеры учитываются отдельно. Содержимое повторно не выводится. Команда требует инициализации Bee и настроенной MongoDB.

Оценка токенов: ceil(символы UTF-16 / 4). Это не данные использования модели или оплаты. Из-за отдельного округления сумма оценок элементов может отличаться от общей оценки. Предпросмотр бюджета не создаёт запись о доставке.

Окно терминала
bee context audit --from AGENTS.md --against docs --root . --json

Сравните явно выбранный Markdown-источник с файлом или каталогом. Аудит показывает хеши, размеры, позиции разделов источника и кандидатов в нормализованные дубликаты. Он работает офлайн до чтения конфигурации и доступа к MongoDB, не изменяя исходные файлы.

Список источника содержит до 200 разделов, начиная с самого большого тела, даже без дубликатов. Размер тела измеряется по нормализованному тексту; заголовки и граничные символы учитываются отдельно от исходного размера файла.

Кандидаты — одинаковые блоки длиной не менее 64 нормализованных символов. BOM и окончания строк нормализуются; границы абзацев и заголовки ATX не участвуют в сравнении. Остальные пробелы, код, регистр и пунктуация сохраняются. Совпадение не доказывает, что требование можно безопасно удалить.

Чтение и вывод ограничены. Пути должны оставаться внутри выбранного корня; символические ссылки и нерегулярные файлы отклоняются. Нечитаемый, изменившийся или превышающий лимит ввод даёт неполный отчёт. На macOS используйте физический путь, например /private/tmp, вместо ссылки /tmp.

Коды выхода: 0 полный отчёт без кандидатов; 1 полный отчёт с кандидатами; 4 неверные аргументы; 5 неполный анализ. Проверьте число пропущенных результатов, прежде чем считать отчёт исчерпывающим.

Окно терминала
bee test summarize TestResults/results.trx --json

Читайте готовый TRX-отчёт, не передавая весь XML в контекст агента. Bee выводит счётчики, отдельные неудачные тесты, ограниченные диагностические сведения и хеш файла. Команда не запускает тесты, не читает вложения и не обращается к сервисам; инициализация и MongoDB не нужны. Первая версия читает TRX в UTF-8 с плоским списком результатов; вложенные InnerResults явно отмечаются как неподдерживаемые и дают неполный отчёт.

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

По умолчанию выводятся подробности только непройденных тестов. Для успешных выполнений добавьте --include-passed. --limit ограничивает число записей, --budget — символы вывода; пропуски из-за лимита и намеренно исключённые успешные результаты учитываются отдельно.

Одноимённые результаты сохраняют отдельные идентификаторы выполнения. Сокращённые длинные сообщения и пропущенные результаты явно обозначаются. По этим признакам решайте, нужно ли читать оригинал; сводка не воспроизводит весь XML или захваченный стандартный вывод. Ограничения и коды завершения: bee test summarize --help.

Используйте эти инструменты, когда агенту нужны сведения без чтения всех исходников, журналов и отчётов. Автономные примеры ниже используют синтетические данные. budget --by-item требует настроенного хранилища; это прогноз, а не измеренный расход провайдера.

Вывод Предел и единица Что проверить
graph outline --compact --budget N По умолчанию 12 000; 2048–65 536 единиц UTF-16 без завершающего перевода строки Строки столбцов сохраняют поля объявлений; counts, omittedMetadata, актуальность и полноту
Связи графа: --output-budget-chars N От 256 единиц UTF-16 с завершающим переводом строки; нужен --json output.omittedItems, omittedByPath, legacyComplete и усечение запроса
test summarize --budget N По умолчанию 16 000; 2048–65 536 единиц UTF-16 без завершающего перевода строки Возвращённые/опущенные записи, исключённые успехи и сокращённую диагностику
code runs list/show --budget N По умолчанию 16 000; 2048–65 536 единиц UTF-16 с завершающим переводом строки Целостность, исходный результат анализа и опущенные записи

Единицы UTF-16 — не байты UTF-8 и не токены провайдера: A занимает одну единицу, многие эмодзи — две. Старый --budget запросов графа считает по три символа на условный токен и ограничивает результат запроса, а не весь JSON. Не путайте его с символьным бюджетом outline. Если обязательные метаданные не помещаются в бюджет всего вывода, возвращается код 4; увеличьте бюджет.

Компактный outline использует общие result.columns и result.idPrefix; полный ID = префикс + суффикс строки. Так убирается повторная структура с сохранением полей объявлений. --compact запросов связей удаляет описательные поля списков. Ни один режим не гарантирует меньший счёт или ускорение. Выбор строк по outline показан в примере работы с кодом.

Повторное использование без предположения об актуальности

Заголовок раздела «Повторное использование без предположения об актуальности»

Граф сохраняется локально; запросы связей могут создать/обновить его, если нет --no-refresh. Outline никогда не обновляет граф. Сохранение анализа компилятором включается явно:

Окно терминала
bee code analyze --engine roslyn --save-run --json
bee code runs list --json --limit 10 --budget 4096
bee code runs show <run-id> --json --limit 20 --budget 8192

Используйте возвращённый runId. Код 0 у show означает успешное чтение файла, даже если analysisExitCode равен 1 или 5. integrity: verified проверяет сохранённые байты, а не соответствие сегодняшнего кода, инструментов и настроек. После значимых изменений повторите анализ; см. историю анализа. Чтение отчёта позволяет не запускать анализ заново, но не подтверждает кэширование промпта у провайдера.

Используйте при наличии поддерживаемого локального журнала Codex и точного UUID native thread. Инициализация и сервис не нужны. Синтетический rollout.jsonl из двух строк показывает формат счётчиков:

{"timestamp":"2026-09-22T12:00:00Z","type":"session_meta","payload":{"id":"11111111-1111-4111-8111-111111111111","cli_version":"0.155.0","originator":"codex_exec"}}
{"timestamp":"2026-09-22T12:00:01Z","type":"event_msg","payload":{"type":"token_count","info":{"total_token_usage":{"input_tokens":100,"cached_input_tokens":60,"output_tokens":20,"reasoning_output_tokens":5,"total_tokens":120},"last_token_usage":{"input_tokens":100,"cached_input_tokens":60,"output_tokens":20,"reasoning_output_tokens":5,"total_tokens":120},"model_context_window":258400}}}
Окно терминала
bee budget --measured --harness codex --session 11111111-1111-4111-8111-111111111111 --log rollout.jsonl --json

Пример возвращает код 0 и схему 2: history.latest.cumulative содержит input 100, cached input 60, uncached input 40, output 20 и total 120. Reasoning 5 входит в output; cached input уже входит в input. Поток response пуст. cost, requestCount, usage и lastRequestUsage равны null. Эти числа не измеряют экономию.

Держите response и history отдельно; не складывайте потоки, снимки или сегменты. context_estimate, context_window_synthesis и history_with_estimated_baseline явно отмечают оценочные основания истории. Согласованность чисел не подтверждает биллинг, полноту запросов, внимание модели или экономию благодаря Bee. complete описывает данный снимок; завершённость сеанса неизвестна, дочерние потоки автоматически не включаются.

Все три параметра обязательны. Принимаются только поддерживаемые форматы Codex; другие среды дают код 5. Неверный thread, изменяющийся/повреждённый ввод и неподдерживаемые записи означают неполноту (5), неверные флаги — ошибку использования (4). Нужен физический путь обычного файла: симлинки, в том числе в родительских каталогах, отвергаются. Пределы: 32 MiB на файл, 4 MiB на строку, 100 000 строк и 10 000 наблюдений. Оборванный хвост может сохранить ранние наблюдения, но всё равно даёт 5.

Сохраните синтетический UTF-8 отчёт как failure.trx. Он описывает провал и не получен запуском тестового набора:

<TestRun id="33333333-3333-4333-8333-333333333333" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Results><UnitTestResult testId="11111111-1111-4111-8111-111111111111" executionId="22222222-2222-4222-8222-222222222222" testName="PriceTests.Total" outcome="Failed"><Output><ErrorInfo><Message>Expected 42; got 41.</Message></ErrorInfo></Output></UnitTestResult></Results>
<ResultSummary outcome="Failed"><Counters total="1" executed="1" passed="0" failed="1" error="0" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0"/></ResultSummary>
</TestRun>
Окно терминала
bee test summarize failure.trx --limit 5 --budget 8000 --json

Результат содержит parserStatus: complete, testVerdict: failed, одну запись и код 1. Диагностика: “Expected 42; got 41.” producerExitCode остаётся null. Если удалить ID запуска, формат становится неподдерживаемым: incomplete/5. Хеш сводки идентифицирует входные байты, а не их происхождение или актуальность.

Пример context audit выше возвращает 1 при полном анализе с кандидатами на дублирование; проверьте totalFindings, returnedFindings, omittedFindings. Перед удалением решите, нужна ли инструкция в обоих местах. Чтобы сократить ненужную передачу правил, перейдите к управлению поведением.

Используйте этот путь, когда тесты уже создали файл покрытия и нужно выбрать следующие строки исходников для изучения. Нужны Bee 1.0.0-beta.14 или новее и один существующий отчёт Cobertura, OpenCover или LCOV. Команда работает офлайн без инициализации, базы данных и провайдера модели. Для небольшого примера сохраните этот синтетический отчёт как coverage.lcov; src/Calculator.cs — имя внутри отчёта, наличие самого файла для разбора не требуется.

SF:src/Calculator.cs
DA:10,3
DA:11,0
LF:2
LH:1
BRDA:10,0,0,3
BRDA:10,0,1,0
BRF:2
BRH:1
end_of_record
Окно терминала
bee code coverage import coverage.lcov --format lcov --json

Результат содержит status: complete, exitCode: 0 и пустой список issues. В files метрики lines и branches файла src/Calculator.cs имеют значения state: known, total: 2, covered: 1 и percent: 50. Это отдельные измерения: lineData показывает три выполнения строки 10 и ноль строки 11; branchData — одну выполненную и одну невыполненную ветвь на строке 10. Для этого разбора не открывались исходники и не запускались тесты.

Перед использованием наблюдений читайте status и issues. Отсутствующее измерение — unknown с процентом null; явно нулевой знаменатель — not-applicable, также с процентом null. Ни одно из состояний не означает 100%. Код 0 подтверждает разбор поддерживаемого подмножества, а не прохождение порога покрытия или доверенную приёмку QA. Код 4 означает некорректное использование; код 5 — неполный, небезопасный, неподдерживаемый, противоречивый или превышающий ограничения ввод. Некорректный или небезопасный ввод может вернуть только объект ошибки. Сохранённые наблюдения неполного отчёта нельзя считать полным покрытием.

Ввод должен быть обычным файлом UTF-8 размером не более 8 MiB без символических ссылок на всём пути. Выберите подходящий --format, а при ошибке разбора прочитайте error или issues. Используйте отчёт, экспортированный в поддерживаемом подмножестве; не удаляйте противоречивые записи только ради кода 0. Например, XML с DTD не поддерживается. Bee выводит результат в stdout; import не сохраняет историю, не объединяет запуски, не читает исходники и не запускает тесты. Действуют ограничения чтения, разбора и вывода.

Сохраняйте rawSha256 вместе с исходным отчётом для идентификации его байтов. Параметры вроде --source-revision и --source-snapshot — непроверенные декларации: sourceBinding остаётся not-established, checkedSource — not-read, а qaAcceptance — not-assessed. Это не подтверждает актуальность исходников или покрытие нового кода.

Для следующего шага агента сначала установите ревизию исходников, из которой получен отчёт. Затем изучите строку 11 указанного файла как невыполненную строку, а строку 10 — для понимания ветвления. Используйте работу с кодом для выбора нужных объявлений и вызывающих функций; покрытие не означает достаточность проверок или охват всех файлов репозитория. Храните результаты тестов и исходный код завершения раннера отдельно со сводками тестов. Заметки beta.14 содержат команды для трёх форматов и все параметры деклараций.