AI Фактор

Що Claude Code відправляє в API на кожен хід

Досвід 04.11.2026

Автор на note.com пустив Claude Code v2.1.310 через локальний релей (ANTHROPIC_BASE_URL) у мінімальній конфігурації: --safe-mode, Haiku 5.5. На прохання «підсумуй memo.txt одним рядком» пішло два запити по ~78 тис. символів (~17 тис. токенів). 40% із них — опис інструментів, 35% — поле для перевірки дозволів в auto mode. Сам запит і вміст файлу — менше 100 символів.

Кеш здешевлює повтор, але не зменшує обсяг: усе надсилається заново на кожному ході. У запиті є файл дослівно, email акаунта, шлях до робочої папки, ID терміналу, акаунта й сесії.

Що це означає для бізнесу: якщо ви на Pro чи Max — відкрийте Privacy у налаштуваннях claude.ai і перевірте дозвіл на навчання. Якщо він увімкнений, дані зберігаються 5 років, якщо вимкнений — 30 днів. На Team, Enterprise і API навчання за замовчуванням вимкнене. Файли, яких агент не має бачити, закрийте deny-правилом у settings.json.

З чого складається кожен хід

Кожен виклик моделі Claude Code пакує в чотири частини. system містить інструкції агенту. tools містить визначення Bash, Read, Edit та інших інструментів з описами й форматами аргументів. messages містить історію розмови разом із викликами інструментів і їхніми результатами, і сюди ж Claude Code вставляє CLAUDE.md і список скілів. Четверта частина — налаштування: metadata з ID терміналу, параметри thinking і кешування, експериментальні функції та поле для автоматичної перевірки дозволів.

Інструменти виконуються локально, а не на боці моделі. Модель повертає «виклич Read з такими аргументами», Claude Code читає файл і кладе результат у messages наступного запиту. Тож усе, що агент прочитав або що вивела команда, потрапляє на сервер наступним ходом. Далі воно їде в кожному запиті, доки ви не очистите історію або старі частини не буде впорядковано. Рядок, який Bash показав мимохідь під час пошуку, обробляється так само.

Що можна зрізати, а що ні

Розбивка другого запиту з тесту: 40% — інструменти, 35% — поле дозволів, 14% — історія, 10% — system. Якщо відкинути поле дозволів повністю, лишається близько 50 тис. символів. Це в мінімальній конфігурації без CLAUDE.md і додаткових інструментів, у звичайній роботі обсяг більший.

  • Невикористані вбудовані інструменти можна прибрати, вказавши їхні назви, але без Read чи Bash агент не працює.
  • Поле дозволів зникне, якщо не використовувати auto mode або налаштувати, щоб точка підключення не виносила рішення. Але тоді Claude Code запитуватиме рішення окремим запитом, тож загальний обсяг не обов'язково зменшиться.
  • Коли переходите до непов'язаної задачі, виконуйте /clear — сама команда нічого не коштує. Що займає контекст, показує /context.
  • Кожен MCP-сервер додає назви й описи своїх інструментів, непотрібні вимикайте через /mcp. CLAUDE.md за офіційною рекомендацією — до 200 рядків.

Deny-правила: що закривають і де пропускають

Офіційні приклади для permissions.deny у settings.json: Read(./.env), Read(./.env.*), Read(./secrets/**). Правило діє і в режимах без підтвердження, включно з auto mode. Воно спрацьовує і тоді, коли той самий файл відкривають у Bash через cat чи head.

Межа: правило не ловить команди, що читають без явної назви файлу, і файли, які скрипт відкриває всередині себе. Тому автор тримає клієнтські дані, чужі листи й файли з ключами поза робочою папкою. Поверх deny-правил він поставив хук PreToolUse, який зупиняє Claude Code при спробі прочитати файли з такими назвами.

Інший провайдер і самоперевірка

Автор повторив той самий запит через Bedrock з обробкою в Японії, через DeepSeek-сумісний API, а також через Kimi і Claude в OpenRouter. Вміст запиту визначає Claude Code, тож він майже не змінюється — відрізняється лише сторона, що приймає. Якщо працюєте через шлюз і не вказали провайдера явно, його обирає шлюз. Окремо: коли WebFetch відкриває URL, хостнейм іде на api.anthropic.com навіть при іншому провайдері. Вимикається це через skipWebFetchPreflight.

Перед роботою перевірте, під яким акаунтом відкрито Claude Code. Email іде на початку кожної розмови, а від договору залежать навчання і строк зберігання. Щоб побачити трафік самому, вкажіть у ANTHROPIC_BASE_URL локальний релей — у автора це близько 100 рядків на стандартній бібліотеці Python. За документацією, через релей надсилається трохи інакше, ніж напряму, а назви налаштувань і цифри актуальні на листопад 2026.

Раніше в теміПорядок читання в CLAUDE.md замість загальних відповідейПізніше в теміMessage threads: агенти Claude надсилають лише нові повідомлення
Читати в ТелеграміПрактика ШІ в бізнесі — щодня, без хайпу