- Зачем: - прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны. - Что: - пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client. - машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге. - свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория. - Проверка: - bash tests/test_proxy_client_full.sh. - bash tests/test_install.sh. - ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.
10 KiB
Токен-леджер проекта proxy-client
Затраты по этапам конвейера, для калибровки эффорта и планирования лимитов (5-часовые / недельные окна подписок). Прямое сравнение корректно внутри провайдера; между Claude и Codex метрики разные (у Claude-субагентов харнесс даёт один суммарный счётчик, у Codex — раздельные input/cached/ output/reasoning), кросс-сравнение — ориентировочное.
Задача 06 — упрощение (baseline: реализация на HIGH)
| Этап | Агент / модель | Effort | Токены | Прочее |
|---|---|---|---|---|
| KISS-обход спеки и кода | Claude Opus (субагент) | default | 100 025 суммарно | 14 tool uses, 4.5 мин |
| Ревью постановки | Codex gpt-5.6-sol | high | in 1 263 557 (кэш 1 174 784 → свежих ~89k), out 16 862 (reasoning 12 817) | 82 команды |
| Реализация | Codex gpt-5.6-sol | high | in 6 680 053 (кэш 6 492 928 → свежих ~187k), out 29 064 (reasoning 8 280) | 84 команды, −331 строка |
| Саморевью | Codex (resume) | medium | инкремент: свежих in ~155k, out ~4.5k | 8 команд, found 2 fixed 2 |
| Слепое ревью «по задаче» | Claude Opus (субагент) | default | 75 216 суммарно | 26 tool uses, 4.3 мин; 1 NIT |
| Слепое ревью «по коду» | Codex gpt-5.6-sol (свежий тред) | high | in 2 336 162 (кэш 2 106 112 → свежих ~230k), out 12 434 (reasoning 7 033) | 48 команд; 1 MAJOR |
| Триаж/починка | Codex (resume) | medium | инкремент: свежих in ~26k, out ~7.3k | 18 команд; FIXED 1, REJECTED 1 |
| Перепроверка CODE-1 | Codex-ревьюер (resume) | medium | инкремент: свежих in ~137k (вкл. оборванный первый заход), out ~1.8k | FIXES_CONFIRMED |
Итог 06 (high-baseline): свежий input ~735k + output ~97k на весь конвейер (обход, ревью постановки, реализация, саморевью, 2 слепых ревью, триаж, перепроверка); Claude-доля — 175k суммарно (обход 100k + ревью 75k).
Задача 03 / 04 (эксперимент: реализация на MEDIUM)
Заполняется по ходу; сравнивать построчно с 06.
| Этап | Агент / модель | Effort | Токены | Прочее |
|---|---|---|---|---|
| 03: ревью постановки | Codex gpt-5.6-sol | high | in 1 126 384 (кэш 1 044 480 → свежих ~82k), out 15 830 (reasoning 9 567) | NEEDS_REWORK: 7 MAJOR + 3 MINOR |
| 03: реализация | Codex gpt-5.6-sol | medium | in 5 925 714 (кэш 5 678 080 → свежих ~248k), out 29 512 (reasoning 11 251)* | 88+6 команд; +657/−89; 44 OK + 8 PASS; процесс убит рестартом сессии перед отчётом, дописан через resume |
| 03: саморевью | Codex (resume) | medium | инкремент: свежих in ~53k, out ~11.6k (reasoning ~7k) | 38 команд; found 3 fixed 3; 45 OK + 8 PASS | | 03: слепое ревью «по задаче» | Claude Opus (субагент) | default | 73 131 суммарно | 21 tool uses, 6.3 мин; 1 MINOR + 2 NIT | | 03: слепое ревью «по коду» | Codex gpt-5.6-sol (свежий тред) | high | in 1 103 725 (кэш 1 019 136 → свежих ~85k), out 12 797 (reasoning 8 908) | 28 команд; 4 MAJOR + 1 MINOR | | 03: триаж/починка | Codex (resume) | medium | инкремент: свежих in ~55.5k, out ~16.9k (reasoning ~7.8k) | 46 команд; FIXED 8, REJECTED 0; 49 OK + 8 PASS | | 03: перепроверка TASK-1..3 | Claude Opus (резюм субагента) | default | инкремент ~7.4k (суммарно 80 560) | 8 tool uses, 1.7 мин; FIXES_CONFIRMED | | 03: перепроверка CODE-1..5 | Codex-ревьюер (resume) | medium | инкремент: свежих in ~112k, out ~3.2k | 20 команд; FIXES_CONFIRMED |
| 04: ревью постановки | Codex gpt-5.6-sol | high | in 2 469 937 (кэш 2 352 896 → свежих ~117k), out 17 051 (reasoning 10 128) | 54 команды; NEEDS_REWORK: 5 MAJOR + 3 MINOR + 1 NIT | | 04: реализация | Codex gpt-5.6-sol | medium | in 2 941 682 (кэш 2 828 288 → свежих ~113k), out 18 521 (reasoning 5 278) | 50 команд; +~600 строк; 63 OK (+14) + 8 PASS | | 04: саморевью | Codex (resume) | medium | инкремент: свежих in ~50k, out ~17.2k (reasoning ~9.2k) | 38 команд; found 6 fixed 6; 72 OK + 8 PASS | | 04: слепое ревью «по задаче» | Claude Opus (субагент) | default | 53 463 суммарно | 18 tool uses, 5.7 мин; 3 NIT | | 04: слепое ревью «по коду» | Codex gpt-5.6-sol (свежий тред) | high | in 1 774 005 (кэш 1 676 288 → свежих ~98k), out 10 402 (reasoning 5 481) | 46 команд; 2 MAJOR + 2 MINOR (CODE-1 — дефект постановки: реальный формат .dgst) | | 04: триаж/починка | Codex (resume) | medium | инкремент: свежих in ~237k, out ~58.9k (reasoning ~24k) | FIXED 7, REJECTED 0; 79 OK (+30 к baseline) + 8 PASS | | 04: перепроверка TASK-1..3 | Claude Opus (резюм субагента) | default | инкремент ~7.7k (суммарно 61 135) | 6 tool uses, 1.7 мин; FIXES_CONFIRMED | | 04: перепроверка CODE-1..4 | Codex-ревьюер (resume) | medium | инкремент: свежих in ~207k, out ~12.5k (reasoning ~6.3k) | FIXES_CONFIRMED |
Итог 03 (реализация на MEDIUM): Codex — свежий input ~636k + output ~77k (ревью постановки 82k/16k, реализация ~248k/29.5k, саморевью 53k/11.6k, CODE-ревью 85k/12.8k, триаж 55.5k/16.9k, перепроверка 112k/3.2k); Claude-доля — 80.5k суммарно (TASK-ревью + перепроверка). Против 06 (high-baseline: ~735k + 97k Codex, 175k Claude) — дешевле, но качество ниже: слепые ревью нашли 4 MAJOR (у 06 — 1), все — гонки конкурентности/восстановления; конвейер их выловил и починил.
* usage первого (убитого) хода не был зафиксирован (нет turn.completed); цифры — из resume-хода, по масштабу покрывают весь тред.
Итог 04 (реализация на MEDIUM): Codex — свежий input ~822k + output ~135k
(ревью постановки 117k/17k, реализация 113k/18.5k, саморевью 50k/17.2k,
CODE-ревью 98k/10.4k, триаж 237k/58.9k, перепроверка 207k/12.5k);
Claude-доля — 61k суммарно (TASK-ревью + перепроверка). Слепые ревью
нашли 2 MAJOR + 2 MINOR + 3 NIT, причём CODE-1 (MAJOR) — дефект
постановки (spec-review на high выдумал однострочный SHA256=), т.е.
на счету реализации-medium фактически 1 MAJOR (границы размеров).
Примечательно: 04-medium вышла ДОРОЖЕ 06-high по свежим токенам
(~822k+135k против ~735k+97k) — экономию реализации съели дорогой триаж
(7 находок, включая переделку под исправленный протокол) и перепроверки.
Сводка эксперимента (свежий input + output Codex; MAJOR от слепых ревью):
| Задача | Effort реализации | Codex токены | Claude | MAJOR |
|---|---|---|---|---|
| 06 | high (baseline) | ~735k + 97k | 175k | 1 |
| 03 | medium | ~636k + 77k | 80.5k | 4 (гонки) |
| 04 | medium | ~822k + 135k | 61k | 2 (1 — вина постановки) |
Задача 05 — доставка пакета и приёмка
| Этап | Агент / модель | Effort | Токены | Прочее |
|---|---|---|---|---|
| 05: ревью постановки, попытки 1–2 (убиты) | Codex gpt-5.6-sol | high | расход токенов потерян (нет turn.completed) |
обе умерли на Quota exceeded (os error 122): набор test_install.sh заполнял /tmp тестовыми деревьями по ~1,8 ГБ; потеряно ~2 и ~10 мин работы, сеансы невосстановимы из-за сбоя журнала |
Наблюдения
- Кэш у Codex покрывает ~93% входа ревью-этапа: длинные треды с большим контекстом дешевле по лимитам, чем кажется по сырому input.
- Сравнивать этапы честнее по «свежий input + output (включая reasoning)», а не по валовому input.
- Итог эксперимента (решение пользователя 2026-07-21, детали — в
claude-subagent-playbook): реализация по отревьюированному тикету →
medium допустима, но экономию считать по конвейеру целиком (04-medium
дороже 06-high из-за триажа); Claude-субагентам effort задавать явно —
xhigh постановки/планы, high слепое ревью (ниже не опускать), medium
перепроверки; высокий effort не страхует от выдумки внешних фактов
(казус формата
.dgst); смена effort у Codex при resume кэш не сбрасывает (~93% кэша при high→medium).