AI Without the Hype.
Глава 3 от 21
Част Едно · Нов поглед · Глава 03

Два кръга на
ревю на кода

В края на тази глава ще можеш да пуснеш ритуала за проверка, който наричаме Roast Me, върху собствения си план или код, преди да го публикуваш, и ще разбереш защо вторият, свеж поглед хваща това, което умореният автор е пропуснал.
AVATAR OPENER · ~90s
Виж разликата: една и съща работа, прегледана от уморения автор, срещу напълно свеж поглед
HeyGen avatar · generated, consistent presenter

Главата llm-council те научи да не се доверяваш само на един отговор. Тази глава е същият урок, но обърнат към собствената ти работа: не се доверявай само на едно ревю, и преди всичко не вярвай на проверката, която правиш сам веднага след като приключиш. Ти си най-неподходящият човек да хванеш собствените си грешки точно в момента, в който се чувстваш най-горд от резултата.

Има съвсем реална причина за това и вече се сблъска с нея в курса за начинаещи. Една дълга задача, независимо дали ти пишеш или моделът създава нещо, изгаря работната памет. Накрая цялото внимание е отишло просто за да се свърши работата, и остава много малко ресурс да направиш крачка назад и да се запиташ дали всъщност е правилно. В курса за начинаещи нарекохме това умната зона и тъпата зона: свежият контекст мисли ясно, а изтощеният се разсейва и пропуска детайли. Авторът на финалната права е дълбоко в тъпата зона и никакво препрочитане на собствената му работа няма да оправи нещата, защото той я препрочита със същите уморени очи, които изобщо са допуснали тези грешки.

VS
Никога не позволявай на същия уморен ум, който е свършил работата, да бъде този, който я одобрява. Това е цялата идея и точно затова двата кръга бият единия. Създателят е компрометиран от самия факт, че е създавал. Проверяващият не е.

Тази идея за двата кръга идва от Matt Pocock, който я преподава за писане на код с AI: един кръг създава, а напълно отделен и свеж кръг проверява. Взимаме я назаем и кръщаваме нашата версия на ритуала, защото ще го използваш постоянно и заслужава име, което наистина ще искаш да изговаряш.

ROAST ME

Наричаме го Roast Me. Преди да се ангажираш с някакъв план или да пуснеш готова работа, я предаваш на свеж поглед и го молиш с прости думи да я разкъса на парчета. Не да я хвали, не да я лъска. Да намери какво ѝ куца, докато промените още са евтини. Името е умишлено: ти не питаш "това добро ли е?", защото моделът, също като учтив колега, най-вероятно ще каже "да". Ти го караш да опече нещото на бавен огън, което му дава пълното разрешение да бъде онзи брутално откровен проверяващ, от когото всъщност имаш нужда.

Номерът тук е свежестта. Не караш същия чат, който току-що ти е помогнал да създадеш нещо, сега да го ревюира, защото този чат е умореният автор, който си пази изборите. Отваряш чисто нов разговор, поставяш плана или работата без никаква предистория колко се гордееш с нея, и оставяш проверяващ без личен интерес да погледне с ясни очи.

Бъди честен със себе си какво точно ти дава тази свежест. Чистият чат изчиства паметта на модела от собствените му решения, така че той спира да ги защитава, и само това хваща изненадващо много грешки. Това, което обаче не прави, е да ти даде различен ум: същият модел в нов чат носи същите слепи петна, които са създали първоначалната работа. Така че чистият чат хваща небрежността. За пропуските, които са дълбоко закодирани в инстинктите на самия модел, изпрати своето Roast Me към различно семейство модели, както в предната глава.

Roast Me
Направи Roast Me на това, преди да го пусна. Ти си остър и скептичен проверяващ, който няма личен интерес в проекта и няма причина да бъде мил. Ето го [моя план / работата]: [постави текста тук, само с достатъчно контекст за оценка, и нищо за това колко усилия ти е отнело или колко ти харесва] Кажи ми брутално откровено: - Трите най-слаби точки, като започнеш от най-лошата. - Всичко, което ще се счупи, ще бъде разбрано погрешно или ще остарее зле. - Какво приемам за даденост, което може би не е вярно. - Единственото нещо, което би оправил, преди това да види бял свят. Не ме успокоявай. Не изброявай кое е добро. Ако всичко е наред, кажи защо с едно изречение и продължавай напред. Искам само проблемите.
Try it in Claude

Това, което ще се върне, е неудобно по онзи наистина полезен начин. Тъй като си поискал Roast Me, а не успокоение, и тъй като проверяващият е свеж, той ще каже нещата, които един учтив прочит би преглътнал. Повечето от тях сега можеш да оправиш за минута, а всяко едно щеше да ти струва много повече усилия, ако вече го беше пуснал в действие.

Какво изплува от едно добро Roast Me
Най-слаба точка: планът ти предполага, че хората ще прочетат инструкциите. Няма да го направят. Целият процес се чупи, ако стъпка две бъде пропусната, а нищо не ги спира да я пропуснат. Ще остарее зле: заковал си цените от този месец на три места. При следващата промяна ще пропуснеш едното. Неизказано предположение: че файлът винаги пристига чист. Единственият път, когато това не стане, всичко ще гръмне тихо, което е възможно най-лошият сценарий.
ВТОРИЯТ КРЪГ, НАПРАВЕН КАКТО ТРЯБВА

Roast Me е ежедневната версия, която можеш да пуснеш във всеки чат, за каквото и да било, още сега. По-тежката версия, тази, която си заслужава заглавието на главата, е за моментите, когато създаваш истински софтуер: специализиран проверяващ, който работи като свой собствен отделен процес със свеж контекст, проверява през по-силен модел от този, който е създал кода, и отговаря на стандарт, който ти си определил предварително.

Свой собствен свеж контекст
Проверяващият работи отделно от създателя, така че наистина започва на чисто. Той никога не е бил в тъпата зона, защото никога не е стигал до финалната права.
По-силен модел прави ревюто
Създавай с модела, който е бърз и достатъчно добър. Проверявай с по-способния. По-скъпият мозък си избива парите, като хваща това, което по-евтиният създател е пропуснал.
Стандарти, зададени предварително
Ти определяш летвата веднъж и я предаваш на проверяващия. Създателят бута работата напред, а проверяващият държи стандарта, който си задал, всеки път, а не само когато се сетиш.
Само за четене
Проверяващ, който може и да редактира, тихомълком ще оправи нещата и ще скрие проблема. Остави го само да гледа и да докладва, не и да променя. Целта тук е да видиш пропуска.

Две от тези неща си струва да бъдат подчертани. Първо, използвай по-силен модел за ревю, отколкото за създаване. Това е същата логика като стълбата от миналата глава, но обърната: можеш да си позволиш по-евтин модел за строежа, защото по-способен модел ще го провери, а именно проверката е мястото, където плащаш за качество. Второ, задай стандартите директно на проверяващия. Вместо да се надяваш, че ще помниш собствените си правила всеки път, ти ги записваш веднъж, даваш ги на проверяващия като негово задание и го оставяш той да бъде този, който никога не забравя. Създателят дърпа работата напред, а проверяващият държи летвата високо.

Практическата версия на това, проверяващ само за четене, който настройваш веднъж и добавяш в проекта си, така че да работи по един и същ начин всеки път, изисква терминал и истинско хранилище. В този курс още не си стигнал дотам и това е напълно нормално. Тя те чака в придружаващото хранилище в папката roast-me/, а главата за терминала и главата за архитектурата ще ти дадат всичко нужно, за да я навържеш. Засега ежедневното Roast Me е навикът, който трябва да изградиш, и той не изисква нищо повече от един свеж чат.

NOW YOU TRY · ОЦЕНИ
Направи Roast Me на нещо, преди да го приемеш за готово

Вземи един реален план или част от работата си, която се каниш да пуснеш тази седмица, план за стартиране, страница, която си написал, или решение, което си взел наполовина. Отвори свеж чат, а не този, в който си го създал. Постави го без никаква предистория колко много ти харесва. Пусни промпта за Roast Me. Прочети проблемите, без да се защитаваш. След това оправи онова едно нещо, което ревюто ти каза да оправиш първо.

Right if свежото Roast Me извади на повърхността поне един реален проблем, през който твоето собствено ревю просто се е плъзнало, и ти промени работата си заради него.
Show the worked solution
Упражнението сработва в момента, в който Roast Me каже нещо, което не си искал да чуеш, а дълбоко в себе си знаеш, че е вярно. Да речем, че работата е целева страница за малка услуга, която се каниш да публикуваш. Ти си я написал, харесва ти и като си я четеш сам, всичко изглежда ясно. Отваряш чист чат, пускаш му Roast Me и той се връща с неща, през които очите ти просто са се плъзнали: заглавието описва какво правиш ти, а не какво получава читателят, така че един непознат просто ще го подмине; единственият призив за действие е под границата, където повечето хора спират да скролват; и ти тихомълком си предположил, че читателят вече знае каква е услугата ти, докато човек, който я вижда за първи път, си няма и представа. Нищо от това не е фатално и точно затова умореният ти авторски поглед го е пропуснал, не е счупено, просто е по-слабо, отколкото трябва да бъде, а по-слабото е невидимо за човека, който го е писал. Ценното тук е, че намери и трите проблема преди да публикуваш, когато всеки от тях се оправя за две минути, вместо след това, когато щеше да се чудиш цял месец защо страницата не конвертира. Причината това да проработи не е, че моделът е по-умен от теб. Причината е, че той беше свеж, а ти не, и ти му даде разрешение да бъде брутално откровен.
WATCH FOR
Правиш ревю в същия чат, който е създал работата. Този чат е умореният автор, здраво привързан към изборите си. Отвори напълно нов разговор, за да може проверяващият да започне в умната зона.
Поставяш работата с гордо въведение. Като му казваш колко много ти харесва, ти го настройваш да се съгласи с теб. Дай му работата съвсем гола и го накарай да намери проблемите.
Спориш с критиката. Желанието да се защитаваш е сигналът, че е ударило на точното място. Отбележи си възражението, оправи това, което има смисъл, и продължи напред. Ти си поискал проблеми, така че не се стряскай от тях сега.
Правиш ревю с по-слаб или равен модел. Проверяващият трябва да бъде поне толкова способен, колкото и създателят, а в идеалния случай и по-силен. По-слабият проверяващ просто ще одобри същите пропуски.
WHAT YOU LEARNED
The takeaways
  • Авторът на финалната права е в тъпата зона: без капка внимание и привързан към решенията си. Неговото собствено ревю е най-малко надеждната проверка, която съществува.
  • Два кръга бият един: отделен и свеж проверяващ, който никога не е взимал решенията, чете работата с ясни очи и хваща това, което създателят не е могъл.
  • Roast Me е ежедневният ритуал: свеж чат, работата поставена без обяснения, и изрична молба да намери проблемите, вместо да те успокоява.
  • По-тежката версия за истински софтуер: проверяващ само за четене със собствен свеж контекст, по-силен модел от създателя, и твоите стандарти, записани и предадени директно на него.
  • Задай стандартите на проверяващия и остави създателя да дърпа напред. Запиши летвата веднъж, така че проверяващият да я държи всеки път, а не само когато ти се сетиш.
Your project · ритуалът за ревю

Пусни Roast Me на едно истинско нещо, преди да го приемеш тази седмица, в свеж чат, и си запази промпта някъде под ръка, откъдето бързо да го намираш. Това е навикът, който прави всичко, което създаваш оттук нататък, по-безопасно за пускане. С това затваряме първата част: вече отказваш да се доверяваш само на един отговор и отказваш да се доверяваш на едно ревю. След това преминаваме към създаването на твои собствени инструменти, като започнем с малкия набор от официални Skills, които си струва да инсталираш първи.

Моментът на най-голяма гордост, веднага след като приключиш, е най-лошият момент да съдиш собствената си работа. Предай я на свежи очи и ги накарай да не бъдат мили. Да те опекат сега е евтино. Пропускът, който пускаш, защото никой не му е направил Roast Me, не е.