Пасля кодгену: навыкі, які ўсё ще маюць значэнне для інжынераў
Калі модэлі ствараюць код, акцэнс перакладаецца на спецыфікацыі, адзінаковасці, архітектуру і прычыны пераканальвання.
Існавайце гэта як перапрацоўку ідэй з артыкула «AI Can Write Your Code. So What Should You Do Now?» для аператараў: чыстыя этапы, аранжаваныя слоты для коду і прыміткі з восстанавлення, якія застаюцца пасля перадачы. Адгледжэнне работае найкраща, калі яго спрыяваць як мерыемую паверхню. Запісаце адна ідеальная транскрыпцыю, адзін прыклад неудачы і прыміткі з вярнення да пачатковага стану прычым расшырэнню масштаба. Спрыяйце гэты этап як кантракт між вхіднымі даннымі і паўнастацэннымі выходамі. Дайце назвы артыкулам, задаце критэрыя успеху і адмовіцеся ад мовчанкавага частковага завершэння.
Код становіцца дышэўскім
Колькість коду зменшаецца, таму перш чым яго змяніць, неабходна ўскладненая інформацыя пра вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перезапуск кроку з вядомай точкі контролю, не прабуючы здогадвацца пра схованы стан. Запісвайце час выконання і вартасць токеноў або запытак па боку функцыйнальных рэзультатаў. Відразлівае паказанне вартасцей запобегае неспадзяваным рахункам, калі процес пераходзіць з дэмовай среды ў спакульнае сераўерное сераўышча. Калі дозволяе бюджет, дадзіце тэст на першыя перакананні, які працюе з критычным шляхам у системе CI за дапамогою фіксатароў, а не з рэальнымі платнымі API.
Add JWT authentication.
Create login and refresh-token APIs.
Add PostgreSQL persistence.
Write integration tests.
Run the test suite.
Fix failures.
Anthropic паказвае нам, куды гэта прыводзіць
Кампанія Anthropic паказвае нам, куды мы праходзим: неабяжна прадзефінаваць вхідныя даны, адпраўніка крока і критэрыя завершэння пры змены коду. Аперацыйныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Конфігурацыю трэба залічыць праза код аплікацыі. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь граф. Калі дозволяе бюджет, трэба дадаць тест на працясную работу, які перабірае критычны шлях у CI з викорыстаннем фіксатываў, а не рэальных платных API.
Is the architecture correct?
Is authentication secure?What happens under 10,000 requests?Can this transaction fail halfway?Will this leak memory?What happens when Redis is unavailable?What happens when the database is slow?Did the AI introduce a race condition?
А потым адбылася ўсё большая рэч
Для тагу
І тады з’явілася ўсё болей значныя проблемы: перш чым зменіць код, неабходна визначыць параметры вводу, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан.
Документавайце як шлях успеху, так і шлях вярнення да нормы. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не дадатковым элементам пасля його стварэння. Дадаць тэст, які пераганяе критычны шлях у процесе CI з викорыстаннем фіксатываў, а не рэальных платных API, калі тое дазволяе бюджет. Для тагуІ тады з’явілася ўсё болей значныя проблемы: перш чым зменіць код, неабходна визначыць параметры вводу, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан.
Спрыяйце таму, каб гэты этап быў розглядваны як контракт між параметрамі вводу і перакананымі рэзультатамі. Даўце назвы артыфактам, визначыце критэрыі успеху і не падтрымайце безсловеснае частковае завершэння задання.Найбольшая памяць, якую можу зрабіць разработчык
Калі працюеце над тэмай «Найбольшая памяць, якую можу зрабіць разработчык», спачатку запісайте умовы викорыстання: неабяцковыя даны, сігнал успеху і тое, што вядзецца пад частковым невяскам. Такі список дапамагае заліцвачыць змяны ў кодзе. Запісуйце час виконання і кост токеноў або запытаў разам з рэзультатамі функцыйнасці. Відразувая візуабельнасць костаў запобегае неспакойным рахункам, калі праця пераходзіць з дэмаверсіі ў спакульнаныя сераўсы. Напісайце кароткі посібнік: як змяняць клучы, як апустошыць чергу, як вярнуць стан да пярэдніх настаўк.
@GetMapping("/users")
public List<User> getUsers() {
return userRepository.findAll();
}
Тады што ж разработчыкам трэба выучыць зараз?
Калі працюеце над кантэкстам «Што ж развівачыя должны выучыць зараз?», спачатку запісайце умовы працы: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць на падзею частковага нявыпання. Такі список дапамагае заліцварыць пазнейшыя змены ў кодзе. Зберагаюце настройкі паза кодам прыемліка. Файлы сяродавішча, храненні секрэтных данных і флагі функцый крануцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры. Напісайце короткі посібнік: як зменяць клучы, як спрачысці очакванню заданняў, як анулюваць пасляпэльны запіс данных.
Write this.
Refactor this.
Explain this.
Test this.
Fix this.
Convert this.
Don't build it this way.
Here's why.
Here's the simpler architecture.
Here's the failure mode you missed.
Here's what we should measure in production.
Штучны інтэлект не падменяе потребу ў раздумваннях
Калі працюеш з AI, гэта не паскароджвае патрабаву думаць — спачатку запісай умовы кантракту: неабяжлівыя данні, сигнал працэйнасці і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Документавай як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є частью продукту, а не пазнейшым дапрацоўкам. Напісай кароткі посібнік: як зменяць кантры, як спрабаваць очысціць чергу, як анулюваць пасляпэўныя дзеянні. Калі працюеш з AI, гэта не паскароджвае патрабаву думаць — спачатку запісай умовы кантракту: неабяжлівыя данні, сигнал працэйнасці і тое, што выходзіць у разе частковага нявыпання. Такі список пераконвае ў тым, што пазнейшыя змены коду будуць чыстымі. Спрыятліва ставісць да гэтага этапу як да кантракту межа даннімі і перакананымі выходамі. Назвай всі элементы, задаў умовы працэйнасці і не падтрымай тыхню частковую адработку.
Prompt → Copy → Commit → Next task
Новы інжынер програмнаў
Новы ўраджальнік програмнаў працуе лепш, калі яго спрыяваюць як мерыемую структуру. Зберагуйце адну ідеальную версію роботы, адзін прыклад неудачы і запіс пра вярнэнне да поперадней версіі, прычаму расшырюеце масштабы задання. Запісвайце час выконання аперацый, а таксу токеноў чы выкарыстоўваных запитоў праза функцыональныя рэзултаты. Відразлівае відображэнне костоў з’являецца рана, таму ухілваецца ад неспакою, калі праця пераходзіць з дэмаверсіі ў спакульнаныя сераўы. Зафіксавайце версіі залежнасцяў і запісвайце хеш-значэнне зображэння, якое выканало дэмаверсію. Возможнасць паўтарнага стварэння результатаў лепшая, чым традыцыйныя знаёмства.
Якбы вы былі разработчыкам сёння
Якшае раштароўванне супрацоўкі разработчыка сьведчыць пра тое, калі ёй ставитсяя як да мерыемагучай паверхні. Зафіксавайце адны ідеальны прыклад роботы, адзін кейс неудачы і прыметкі па адвярненню змян пры расшырэнні масштаба. Зберагайце настройкі праза код аплікацыі. Файлы сяродавішча, хранальнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабяжнага чытання всіх дадзеных. Закрепіце версіі залежнасцей і зафіксавайце хэш адобраза, які выканаў дэманстрацыю. Возможнасць павторнага стварэння результата лепшая за традыцыйныя знаёмства.
Чэк-ліст для аператыўнай роботы
Працюючы за чэк-лістам для аператыўнай роботы, спачатку запісуйце умовы: неабходныя даннэ, сігнал успеху і тое, што выходзіць на падчасовай неудачы. Такі чэк-ліст дапамагае заставіць пасляўсія змян у кодзе чыстымі.
Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказваць на адну конкрэтную адпаведальнасць, а не на заплутаны ланцоўкі дзеянняў.
Напісце короткі інструкцыі: як роўнаравняваць кантроллеры, як спрачысці лянцюг абдзеў, як выкарыстоўваць аперацыю вярнення да пярэднега стану.
Запісце адночасна шлях успеху і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней.
Калі дозволяе бюджет, дадзіце тэст, які перацягвае критычны шлях у процесе інтеграцыйных тэстаў з викорыстанам фіксатывальных элементаў, а не рэальных платных API.
Зберагачыце настройкі парадульна ад коду прыемніка. Файлы с параметрамі сераў, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, куды аператары можаць адбавіць аудыт без неабходнасці чытання всей структуры.
Перад апраноўкай всей структуры заморозьце версіі, зафіксуйце ідеальны транскрыпт для критычнага шляху і паказваце крокі вярнення да пярэднега стану. У спадзеленых сераў неабходны ліміты частоты запытоў, пераказкі належнасці і чыстае вялічынство для роўнаравнявання секрэтных данных. Валіце простую надзяйнасць працы над крэатывнымі, адзінразовымі дамах.
Запіска параграфу 34004c5d2824: не класты ключы прадастоўцаў у репазітарыю, задаць максымальны тэрмін дзейнасці токена на кожную сесыю, а таксама зберагчы транскрыпціі праза фіксатуры адлічэння, каб пазнейшыя замены моделяў заставаліся пораўнанымі.