При мен в началото беше същото — седмичните/допълнителните лимити на Codex можех да ги стопя за 1–2 дни. После обаче промених изцяло начина, по който му подавам работа.
Направих си нещо като малка AI инженерна структура с различни роли. Имам нормален ChatGPT чат, в който се ражда идеята и я обсъждам свободно. След това имам AI Workshop, където идеята се разработва технически, проверяват се варианти, архитектура, тестове и т.н. След него имам Control Room/координатор, който вече не праща целия този роман на Codex, а го компилира до много кратка и строго ограничена задача.
Направихме си собствен строг протокол за подаване на задачите. Codex получава нещо от типа:
TARGET → TASK → REUSE → PROTECT → NO_CHANGE → ACTION → TEST → OUTPUT → STOP
Тоест му казвам точно къде да работи, какво да направи, какво вече съществува и трябва да използва, какво няма право да пипа, как да го тества, какво точно да ми върне и след това STOP. Няма „разгледай проекта и измисли решение“, няма безцелно обикаляне из repository-то и няма архитектурни размишления от Codex.
Най-важното правило, че дългото мислене и дискусията не се подават на implementation агента. До него стига само финалният execution contract.
Ефектът при мен се оказа огромен. За да дам някаква представа за мащаба — последният batch беше около 8 отделни задачи, не някакви дребни промени по 5 реда. Грубо говорим за задачи от порядъка на десетки до няколкостотин реда код всяка, плюс тестове, помощни функции и интеграция. Общо вероятно над 1000 реда нов/променен код, като по-важното е, че всяка задача първо мина отделно през shadow имплементация и тест, после всичките заедно през общ тест, а накрая през интеграция в основния pipeline и повторна верификация. Целият този цикъл ми изяде под 15% от Codex лимита. Преди няколко неудачно формулирани/discovery-heavy задачи можеха да изгорят огромна част от него.
Не твърдя, че съм открил топлата вода — има хора, които професионално се занимават с agent orchestration и prompt optimization. Просто при реална разработка стигнах до работещ за мен вариант: не карам най-скъпия implementation агент едновременно да разбира проблема, да проектира решението и да го изпълнява. Другите агенти подготвят работата, а Codex получава малка, еднозначна и проверима задача.
Така в момента седмичният лимит ми стига несравнимо повече. Даже започнах да събирам статистика, защото искам да оптимизирам системата още — не по усещане, а според реално изразходвани tokens/quota спрямо свършена и проверена работа.
Ето пример:
Mode: Token conservation. No long reasoning. No extra architecture discussion. Do the task and report only facts.
MODE=STRICT
TARGET=src/session_monitor.py
TASK=Add stale-session detection.
REUSE=existing SessionState + timestamp helper.
PROTECT=current API/schema/lifecycle.
NO_CHANGE=no dependencies, refactor, cleanup, or unrelated files.
ACTION=
- store last valid update time
- STALE after >5s
- ACTIVE on next valid update
- expose via existing snapshot
TEST=ACTIVE → STALE → ACTIVE; existing tests PASS.
OUTPUT=RESULT; FILES_CHANGED; TESTS; FACTS; BLOCKER.
STOP
Това вече е почти целият prompt. Преди него други агенти са свършили анализа и са решили какво трябва да се направи. Codex не получава историята на проблема и не го карам тепърва да проектира решение. Получава малък execution contract и го изпълнява.
При по-сложна задача добавям само необходимите INPUT, CHECK, конкретни acceptance criteria и евентуално точните зависимости. Не раздувам prompt-а превантивно с информация, която Codex може изобщо да не използва.
Реално стигнах до принципа: не оптимизирам колко малко думи пиша, а колко малко неопределеност оставям на агента.