Claude Code и Codex: как правим софтуер с AI агенти и защо правилата са по-важни от промптовете
В интернет има хиляди „най-добри промптове за Claude Code“. Ние почти не ги ползваме. Системата, която управлява склада, куриерите, документите и рекламите на нашите магазини, е написана от AI агентите Claude Code и Codex по поръчка на човек, който не е програмист. Изправена я държи един писан стандарт, който агентът чете преди всяка задача. По-долу описваме какво има в него и защо.
Какво са Claude Code и Codex
Claude Code на Anthropic и Codex на OpenAI са агенти за програмиране. Обикновеният чат ви дава парче код, което копирате. Агентът чете целия проект, редактира файлове, пуска команди и проверява резултата. И двата работят в терминала, в редактора, в настолно приложение и в облака.
Най-често хората търсят сравнение „Codex срещу Claude Code“. Ние ползваме и двата и според нас разликата между тях е по-малка от разликата между работа с правила и работа без правила. Агент без правила е бърз стажант без надзор. Агент с правила работи предвидимо.
Защо промптовете не стигат
Промптът е еднократна молба, а правилото е постоянно изискване. Ако всяка задача започва с ново обяснение как да се работи, всяка задача е лотария. Понякога агентът ще провери резултата, понякога не. Понякога ще поправи причината, понякога ще скрие симптома.
И двата инструмента имат място за постоянни правила. Claude Code чете файла CLAUDE.md в началото на всяка сесия. Codex чете AGENTS.md, при това и от общата папка, и от папката на проекта. AGENTS.md е отворен формат, който много агенти поддържат, и Claude Code също може да го чете. В тези файлове живее стандартът.
Документацията на Claude Code съветва файлът да е кратък, лесен за четене от човек и да съдържа само неща, които агентът не може да познае сам. Пише и нещо, което научихме по трудния начин: ако файлът е прекалено дълъг, агентът започва да пренебрегва половината от него.
Правило първо: диагноза преди лечение
Най-скъпите грешки идват от лекуване на симптом. Затова преди всяка поправка агентът пише на един ред каква е причината. Ако не може, значи още не е разбрал дефекта и всичко след това е гадаене.
Пример от склада. Сървърът отказваше бутона за избор на куриер при някои поръчки. Най-бързата „поправка“ е да скриеш бутона и грешката изчезва. Само че сървърът грешеше: приписваше куриер на поръчка, която се взима от гише. Със скрит бутон дефектът щеше да остане скрит завинаги.
Официалните насоки на Claude Code казват същото с други думи: при грешка в компилацията поискайте да се поправи причината, вместо грешката да се потисне.
Правило второ: най-малката промяна и никакво ново състояние
AI агентите обичат да правят повече от поисканото. Молите за поправка на бутон и получавате пренаписан модул, „докато съм тук“. Затова стандартът изисква най-малката промяна, която решава дефекта, написана в стила на съседния код. Преструктурирането на кода е отделна задача с отделно разрешение.
Още по-важно е второто изискване: агентът не добавя междинни състояния и автоматики, които никой не е поискал. „Стока в транзит“, фонови поправки и умни опашки един ден засядат, без никой да разбере. Когато избираме между две решения, питаме колко нови състояния добавя всяко. Колко е умно, няма значение.
Третото изискване е всяко нещо да се смята на едно място. Ако в системата вече има функция, която смята свободната наличност или цената на доставката, агентът трябва да ползва нея и да не пише втора. AI много обича да напише своя версия, защото му е по-лесно, отколкото да намери съществуващата. Две места, които смятат едно и също, рано или късно дават две различни числа и никой не знае кое е вярното. Затова задачата започва с търсене дали някой вече не прави същото.
Правило трето: проверка на истинския резултат
Това е най-важният ред в целия стандарт: това, че нищо не гърми, не означава, че работи. Агентът спира, когато работата изглежда готова. Документацията на Claude Code го казва направо: ако агентът няма проверка, която може да пусне, единственият му сигнал е, че работата „изглежда готова“. Съветът е да му дадете тест, компилация или екранна снимка за сравнение и да искате доказателство вместо уверение.
При нас доказателството е истинският резултат. Пример: външното API на един куриер мълчаливо приемаше непознати полета и грешни типове и връщаше „успех“. Агентът докладваше, че настройката е приложена. Единствената проверка, която струваше нещо, беше истинска товарителница и текстът в получения PDF. Там се видя, че нищо не е приложено.
Затова при нас „готово“ означава, че истинският път е изпълнен, записът в базата е видян, обратният случай е проверен (повторно натискане, липсващи данни, отказ отвън) и съседните места не са счупени. Ако нещо не е проверено, отчетът казва „не е проверено, защото…“.
Тези правила не са патерици за непрограмисти. В проучването на Stack Overflow за 2025 г. 66% от разработчиците посочват като най-голямо разочарование от AI решенията, които са „почти верни, но не съвсем“.
Почти вярното се лекува само с проверка на истинския резултат. Програмист, който пише бързо, но не проверява, е опасен със или без AI. С AI просто прави повече поразии за по-малко време.
- Изпълни истинския път. Това, че кодът изглежда правилно, не е проверка.
- Провери резултата (запис, файл, екран), а не HTTP отговора.
- Провери обратния случай: повторно натискане, празни данни, отказ.
- Намери кой друг вика това, което си променил.
- Кажи изрично какво не си проверил.
Как изглежда една задача от начало до край
Целият цикъл има осем стъпки и агентът минава през всички всеки път, независимо дали задачата е голяма, или е едно поле на един екран. Първата стъпка е най-подценената: всички въпроси се задават в началото, наведнъж. Ако агентът спре по средата, за да попита нещо, което е било видно от самото начало, значи е подготвил задачата лошо.
- Разбери: преразкажи с едно изречение какво ще види човекът накрая.
- Намери: кода, всички места, които го викат, и истинските данни.
- Диагностицирай: един ред с причината.
- Реши най-простото: най-малката промяна, без ново състояние.
- Приложи: в стила на файла, на едно място.
- Провери: истинския път, истинския резултат, обратния случай, съседните места.
- Отчети: какво, защо, как е проверено, какво остава отворено.
- Запиши решението: причината, а не какво прави кодът.
Как да започнете със собствен стандарт
Не копирайте нашия. Започнете с три правила срещу грешките, които вече сте видели, и ги запишете в CLAUDE.md или AGENTS.md. Всеки път, когато агентът сгреши по нов начин, добавете един ред с причината. Ред от вида „бъди по-внимателен“ не помага. Махайте всеки ред, без който агентът и без това не греши.
За нещата, които трябва да стават всеки път без изключение, документацията на Claude Code препоръчва hooks, тоест скриптове, които се пускат автоматично. Инструкциите в CLAUDE.md са съвет и не дават гаранция.
Целия цикъл, от заявката до проверката в работещата система, сме описали в „Как работим“. Конкретните неща, които агентите поддържат при нас, са в „AI агенти и автоматизации“.
Често задавани въпроси
Кой е по-добър, Claude Code или Codex?
Ние ползваме и двата. И двата са агенти, които четат проекта, пишат промени и пускат команди. За резултата има по-голямо значение дали работите с писани правила и проверявате истинския резултат, отколкото кой инструмент сте избрали.
Какво са CLAUDE.md и AGENTS.md?
Файлове с постоянни инструкции, които агентът чете в началото на всяка сесия. Claude Code чете CLAUDE.md, Codex чете AGENTS.md, а Claude Code може да чете и AGENTS.md.
Може ли непрограмист да ползва Claude Code?
Да, ако научи основите на терминала и git и работи по правила: ясна заявка, малки промени, проверка на истинския резултат.
Имате процес, който засяда?
Опишете го накратко. Ще ви кажем как бихме го решили.
Изпратете запитване