Јединица 12 / 12

Алати за АИ кодирање и интеграција тока посла

Добици:

  • Могућност мапирања довршетка уређивача, помоћника за ћаскање, ЦЛИ агента и категорија аутоматизације ЦИ у задатке
  • Способност прилагођавања нивоа аутономије према ризику и примене дисциплине „прво планирај“ на ЦЛИ агенте
  • Способност трансформације употребе АИ у тимски систем заснован на валидираном алату, капији за верификацију, транспарентности и одговорности

До сада смо научили да користимо АИ у појединачним задацима (кодирање, преглед, тестирање, отклањање грешака). У овој последњој јединици, саставили смо делове: упознавање различитих алата за АИ кодирање, усклађивање правог алата са правим послом и њихово безбедно уграђивање у ваш свакодневни развојни ток — од уредника до контроле верзија, од ЦИ/ЦД цевовода до управљања тимом. Циљ је да се неуредна навика „питајте вештачку интелигенцију с времена на време“ претвори у доследан радни систем који се може ревидирати.

Типове возила покривамо неутралним категоријама (називи одређених производа се брзо мењају; важно је шта категорија ради). Свака категорија има „слатку тачку“ и профил ризика; Мајсторство је знати колико аутономије дати којем задатку.

Категорије алата за АИ кодирање

1. Завршетак у уређивачу. Додаци који предлажу линије/блокове док куцате у свом ИДЕ-у (развојном окружењу у којем пишете код). Слатка тачка: брзина у стриму, шаблонски код. Ризик: узак контекст, прихватање предлога без размишљања.

2. Помоћник за ћаскање/бочни панел. Интерфејс за ћаскање уграђен у ИДЕ са видљивошћу дела ваше базе кода. Слатка тачка: опис, рефактор, тестирање, анализа грешака. Ризик: ограничен на контекст који дајете, захтева проверу.

3. ЦЛИ агенти (агентски алати). Алати који се покрећу из командне линије, могу да читају и мењају више датотека, покрећу команде и самостално извршавају задатке у више корака. Слатка тачка: промене у више датотека, задаци који се понављају, послови типа „додај ово својство“. Ризик: висока аутономија = велики утицај; Ако се не означи, производи широке и тешко проверљиве промене.

4. Интеграција линије/аутоматизације. ЦИ (Цонтинуоус Интегратион) ботови који остављају коментаре за аутоматске прегледе ПР-а, предлажу тестове или праве дневнике промена. Слатка тачка: прва цедиљка без умора, конзистенције. Ризик: бука, лажно самопоуздање.

Савет: Како се аутономија повећава, контрола би такође требало да се повећава. Пошто је завршетак уређивача мали и тренутан, лагано се надгледа; Модификацију више датотека ЦЛИ агента треба испитати исто као, ако не и пажљивије, него људски ПР.

Корак по корак: Уградња вештачке интелигенције у радни ток

  1. Мапирајте задатак са алатом. Мали додатак у току → завршетак; разумети/рефакторирати/тестирати → ћаскање; рад са више датотека, понављајући → ЦЛИ агент; континуирани први филтер → ЦИ интеграција.
  2. Изаберите ниво аутономије. Колико слободе има агент? Предлог само за читање или измена датотеке + извршење команде? Прилагодите ризику.
  3. Негујте контекст. Трајно увести правила пројекта (стил, архитектура, „не треба“) у алатку; Користите датотеку са упутствима за пројекат уместо да је објашњавате изнова и изнова.
  4. Одржавајте капије за верификацију. Промена вештачке интелигенције је као људска промена: она пролази кроз компилацију, тестирање, преглед и (ако је критично) одобрење стручњака. АИ отварања ПР не заобилази одобрење.
  5. Измерите и прилагодите. Гледајте шта заиста убрзава, где се повећава оптерећење корекције; Исеците употребе које не раде.

Три мини кућишта

Случај 1 — ЦЛИ агент је управљао преименовањем више датотека. Један тим би преименовао концепт који се шири у 60 фајлова. Задатак су дали ЦЛИ агенту, прво су тражили план, одобрили план, затим извршили промену и покренули цео пакет тестова. Агент 3 је пропустио ивични случај у досијеу; Тестови су то ухватили, поправили. Посао, који је ручно трајао око 3 сата, завршен је за 50 минута уз надзор.

Случај 2 — Неконтролисана аутономија се повратила. Други програмер је рекао агенту да "побољша овај модул" и пустио га; Агент је изменио 18 датотека и додао две зависности. Промена је била толико широка да се није могла преиспитати и морала је да буде повучена. Лекција: дајте агентима уски обим, јасне критеријуме прихватања и дисциплину прво планирајте-касније урадите.

Случај 3 — ЦИ преглед бот је постао први филтер. Један тим је направио бот који оставља аутоматизоване коментаре АИ прегледа на ПР. Једном када је бот ухватио пропусте нулте провере и проблеме са стилом, људски рецензенти су могли да посвете своје време пословној логици. Међутим, тим је јасно ставио до знања да бот није дао „одобрење“: још увек је потребно најмање једно људско одобрење. Да би смањили буку, подесили су чамац да оставља само буку високог/средњег интензитета.

Четири шаблона за копирање

Дисциплина „Прво планирај“ за ЦЛИ агента:

Задатак: {{јасан, уски задатак}}Критеријуми прихватања: {{мерљиви резултат}}Ограничење: рад само на {{следећем директоријуму/датотекама}}; додавање нове зависности. Прво представите план БЕЗ ПРОМЕНЕ: које датотеке, шта ће се променити, које тестове треба покренути. Сачекајте да ОДОБРИМ план. Затим га примените корак по корак, покрећући тестове у сваком кораку.

Датотека инструкција пројекта (трајни контекст за алате):

Трајна правила за АИ алате у овом пројекту:- Језик/верзија: {{...}}. Стил: {{...}}.- Архитектонско ограничење: {{нпр. смер између слојева}}.- НИКАДА: уграђивање тајни, коришћење производних података, {{забрањене библиотеке}}.- Свака промена мора да се може тестирати; Промена јавног АПИ потписа БЕЗ питања. - Када сте у недоумици, застаните и питајте.

Одлука о мапирању задатка:

Дефинишем следећи задатак: {{задатак}}. Коју класу алата треба да урадим са: (а) довршавањем уређивача, (б) помоћником за ћаскање, (ц) ЦЛИ агентом, (д) ​​ЦИ аутоматизацијом? Напишите своје образложење, ризик и препоручени ниво аутономије (пуки предлог / промена датотеке / наредба за покретање).

ЦИ кодекс понашања бота за преглед:

Оставите само налазе ВИСОКЕ и СРЕДЊЕ озбиљности као коментаре у ПР прегледу. Сваки налаз: категорија, тежина, предложена корекција. Прикупите белешке на нивоу жељеног стила у посебан, један сажетак коментара. НЕ ПРИСТАЈЕТЕ; потребно људско одобрење.

Слаби промпт / Јаки промпт

Слабо: (ЦЛИ агенту) „Побољшајте модул плаћања.“
Јака: (За ЦЛИ агента) „Покрени само под срц/паиментс/. Задатак: Издвоји логику рекурзивне валидације из функције рефунд() у један помоћник; понашање и потписи се не мењају. Прво представи план и сачекајте моје одобрење; затим извршите и покрените тестове/паиментс/пакет. Додајте нову зависност.“

Јака верзија сужава обим, поставља критеријуме прихватања и ограничења и намеће дисциплину „прво план“. Нејасни захтеви „уради боље“ су основни узрок огромних и неконтролисаних промена.

класа возила

У чему је најбољи

аутономија

инспекцијска тежина

Завршетак уредника

Мали додатак у стриму

ниско

Светло (тренутно читање)

помоћник за ћаскање

Разумети, тестирати, рефакторисати

средње

Средњи (верификација излаза)

ЦЛИ агент

Више датотека, рекурзивно

висока

Тешка (план + потпуна рецензија)

ЦИ аутоматизација

Континуирани први филтер

средње

Средње (правило + људско одобрење)

Управљање тимом: од индивидуалне вештине до заједничког система

Добро коришћење вештачке интелигенције на индивидуалној основи је почетак; стварна зрелост је конзистентан систем на нивоу тима. Овај систем се заснива на неколико стубова: списак одобрених алата (који алати се могу користити са којим подацима — од јединице 10), капије за верификацију (промена АИ пролази кроз исте капије за израду/тестирање/ревизију — од јединице 11), транспарентност (навођење да је промена покретана вештачком интелигенцијом обезбеђује следљивост где је потребно) и јасноћа одговорности (особа која се одјављује и одговорна је). Овај оквир ограничава ризик уз одржавање брзине и осигурава да нови чланови тима раде са истом дисциплином.

Опрез: Што је већа аутономија неког алата — посебно ЦЛИ агената који могу да мењају датотеке, покрећу команде — то га строже ограничавају у приступу производном окружењу, поверљивим подацима и операцијама које је тешко вратити. Повежите деструктивне команде (трајно брисање, распоређивање) са људским одобрењем.

Уобичајене грешке

  • Задатак-значи некомпатибилност. Покушавате да урадите посао са више датотека са довршењем уређивача или малим прилогом са тешким агентом.
  • Ослобађање агента. Агентски задаци дати са уским обимом и без „прво плана“ производе неиспитане промене.
  • Отпуштање капија за верификацију за АИ. „АИ је то урадио, идемо брзо даље“ је најопаснији изузетак; Врата су иста за све.
  • Ручно давање контекста сваки пут. Неуписивање пројектних правила у трајну датотеку инструкција доводи до недоследности и дуплицирања.
  • Погрешити одобрење ЦИ бота за људско одобрење. Бот је филтер; Одговорно људско одобрење је обавезно.

Укратко

Алати за АИ кодирање спадају у четири главне категорије: довршавање уређивача, помоћник за ћаскање, ЦЛИ агенти и ЦИ аутоматизација. Мајсторство је усклађивање задатка са правим алатом и правим нивоом аутономије; Како се аутономија повећава, повећава се и контрола. Дајте алатима упоран контекст пројекта, наметните дисциплину „прво планирајте“ агентима са више датотека и прођите АИ промене кроз исте капије за верификацију као и људска промена. Индивидуална вештина; Трансформишите га у тимски систем изграђен на основу одобрене листе алата, капија за верификацију, транспарентности и јасноће одговорности. АИ је множилац брзине од краја до краја; Особа која потписује и даје рачун је увек компетентна особа.

Задатак апликације

Наведите три стварна задатка које ћете урадити следеће недеље. Користите шаблон „одлука о подударању задатака и возила“ за сваки да бисте оправдали коју класу возила и који ниво аутономије ћете изабрати. Затим покрените уски задатак за ЦЛИ агента (или помоћника за ћаскање) са дисциплином „прво планирајте“: одобрите план, примените га, покрените тестове и прегледајте промену као људски ПР. Коначно, направите нацрт „правила коришћења АИ“ од 5 тачака за свој тим (одобрени алати, правило података, капија за верификацију, ограничење аутономије, одговорност).

контролна листа

  • [ ] Могу да разликујем категорије алата за АИ кодирање и слатку тачку сваке од њих.
  • [ ] Пресликавам задатак на одговарајућу класу возила и одговарајући ниво аутономије.
  • [ ] Алатима дајем трајни контекст пројекта (фајл са упутствима).
  • [ ] Примењујем уски обим и дисциплину „прво планирај“ на ЦЛИ агенте.
  • [ ] Пролазим АИ промене кроз исте капије за верификацију као и људске промене.
  • [ ] Залажем се за валидирани алат, правило података, оквир за транспарентност и одговорност на нивоу тима.

Модул Екам

1. Шта основни велики језички модел помоћника за кодирање заправо ради када производи код?

  • А) Паттернуално предвиђа највероватнији наставак на основу датог контекста ✔
  • Б) Гарантује тачан резултат стварним компајлирањем и покретањем кода
  • Ц) Скенира код по целом интернету уживо и копира најтачнији.
  • Д) Разуме логику кода као људски инжењер и разуме намеру

Појашњење: ЛЛМ не 'разуме' код као човек; Генерише највероватнији наставак у датом контексту, на основу образаца које учи из веома великог скупа текста и кода. Стога, квалитет резултата директно зависи од квалитета контекста и инструкција које дајете, и сваки резултат мора бити валидиран.

2. Како то називате када АИ убедљиво смисли непостојећу функцију или библиотеку, и који је једини прави противотров?

  • А) Ово се зове грешка компилације; Протуотров је јача опрема
  • Б) Ово се зове халуцинација; Протуотров је да се провери код и сваки АПИ који се користи ✔
  • Ц) Ово се зове регресија; Протуотров је поновно покретање модела
  • Д) Ово се зове преливање контекста; Протуотров је скратити промпту

Опис: Ово се зове халуцинација и изазива једну од најскупљих грешака у софтверу. Једини прави противотров је верификација: потврда да свака функција, АПИ и пакет који се користе заиста постоје и да код функционише. Самоуверени тон модела није доказ тачности.

3. Који приступ највише побољшава квалитет и конзистентност излаза при генерисању кода помоћу вештачке интелигенције?

  • А) Ослобађање модела тако што ћете рећи „напишите ми ово“ без давања контекста
  • Б) Писање најдужег и отменог могућег упутства
  • Ц) Наведите и дајте примере улазно/излазног уговора, рубних случајева, верзије и стила ✔
  • Д) Комбиновање генерисаног кода директно без читања

Објашњење: Одређивање улазних/излазних типова функције (уговор), рубних случајева, језика/верзије и стилског ограничења и давање примера моделу омогућава прелазак са предвиђања на прецизност. Безконтекстуални захтеви „напиши ми ово“ производе код који је сваки пут другачији и често заобилази рубне случајеве.

4. Када истражујете страну кодну базу помоћу АИ, име функције може бити „валидатеАндСаве“, али АИ сажетак може бити нетачан. Шта је прави приступ?

  • А) Потпуно поверење у резиме вештачке интелигенције пошто је име само по себи разумљиво
  • Б) Промена функције директно без читања
  • Ц) Одлучивање само гледајући назив функције
  • Д) Третирајте опис АИ као хипотезу и проверите критичне тврдње ред по ред у коду ✔

Објашњење: АИ може погледати име у коду и рећи вам 'како изгледа да ради', али у стварности логика може бити другачија (или чак обрнута). Дакле, објашњење АИ је хипотеза; Критичне тврдње, посебно оне које се односе на безбедност, ауторитет или проток новца, треба визуелно проверити на релевантним линијама.

5. Која је највећа опасност када кажете „АИ је погледао, јасно је“ у прегледу кода уз помоћ вештачке интелигенције?

  • А) АИ може произвести лажне негативне резултате; Праве пропуштене грешке стварају лажно самопоуздање ✔
  • Б) АИ преглед је преспоро па губи време
  • Ц) Тим не разуме јер АИ само коментарише на енглеском
  • Д) ПР се не приближава јер АИ увек превише тумачи

Објашњење: АИ производи и лажне позитивне (обележавање проблема тамо где не постоји) и лажне негативне (недостаје права грешка). Лажни негативи ћуте; Најопасније грешке су оне које се уопште не помињу у рецензији. Дакле, АИ је први филтер, а не одобрење; Одлука о спајању припада одговорном лицу.

6. Која је најподмукла замка која се јавља када само дате АИ код и одштампате тестове?

  • А) АИ увек напише превише тестова и надима базу кода
  • Б) АИ тестира тренутно (можда погрешно) понашање кода као 'тачно' и поправља грешку ✔
  • Ц) АИ аутоматски брише код приликом писања тестова
  • Д) АИ пише тестове не само за срећну путању, већ увек за крајњи случај

Објашњење: АИ тежи да гледа у код и пише тврдње које тестирају тренутно понашање. Ако је код погрешан од самог почетка, АИ поправља ово погрешно понашање као „тачно“. Према томе, очекивања од теста треба да буду написана према траженом правилу (спецификацији), а не према тренутном излазу кода.

7. Шта највише одређује тачност хипотеза приликом отклањања грешака са АИ?

  • А) Како је љубазно написан упит.
  • Б) Колико пута је поново постављено питање
  • Ц) Квалитет доказа који се пружа моделу: пуна порука о грешци, праћење стека, унос и очекивано понашање ✔
  • Д) Којом темом боја је написан код?

Објашњење: АИ не види грешку као ви; Он зна само доказе које сте му дали. Узимајући у обзир пуну поруку о грешци, праћење стека, инпут за покретање и очекивано понашање, модел набраја стварне могућности; Ако нема доказа, то чини нагађање (халуцинација) и води вас на погрешан пут.

8. Који је најкритичнији корак пре давања евиденције производње АИ на анализу?

  • А) Залепите дневник какав јесте, покривајући цео дан
  • Б) Прво претворите дневник у велика слова
  • В) Распоређивање редова дневника по абецедном реду
  • Д) Прикривање личних података и тајни и давање само релевантног прозора ✔

Опис: Необрађени дневники производње садрже ИП, е-пошту, ИД сесије, токен и понекад отворену тајну. Стављање у АИ алат без маскирања је озбиљно кршење приватности. Додатно, дневник треба филтрирати до уског временског прозора; Али прва потреба је чишћење осетљивих података.

9. Шта треба урадити ако АИ каже да су се два догађаја десила 'истовремено' у анализи дневника и прогласи један као основни узрок?

  • А) Занемаривање корелације као узрочности и верификација тврдње помоћу метрике и кода ✔
  • Б) Прихватање узрока као дефинитивног јер АИ успоставља временски однос
  • Ц) Одмах поново покренути првооптужену компоненту
  • Д) Потпуно брисање дневника и њихово поновно прикупљање

Објашњење: Најчешћа замка у анализи дневника је збуњујућа корелација са узрочности. Временски однос који је успоставила АИ је траг, а не доказ. Права узрочност захтева тајминг, механизам и, ако је могуће, поновљивост; Захтев мора бити потврђен метриком и кодом.

10. Које је златно правило о којем се не може преговарати при рефакторисању помоћу вештачке интелигенције и шта га обезбеђује?

  • А) Шифра треба да буде краћа; Број линија то гарантује
  • Б) Нема промене у понашању; тестови који бележе тренутно понашање обезбеђују ово ✔
  • Ц) Код садржи више коментара; АИ то гарантује
  • Д) Преписивање целе датотеке одједном; агент то гарантује

Објашњење: Рефакторинг је побољшање унутрашње структуре кода без промене његовог спољашњег понашања; Златно правило је да понашање остаје константно. Оно што обезбеђује ово је тестирање: тестна мрежа која бележи тренутно понашање пре промене се поставља и покреће након сваког корака. Рефакторисање без тестнета је коцкање.

11. Који је слој у производњи документације који АИ не може да зна и који је опасан да га надокнади?

  • А) Како покренути кораке инсталације
  • Б) Листа параметара функције
  • Ц) Образложење „зашто“ је одлука о дизајну донета на тај начин ✔
  • Г) На ком језику је написан код?

Опис: АИ може да издвоји слој 'шта/како' (шта ради функција, како се подешава) из кода; али не може да зна слој 'зашто' (образложење дизајна за одлуку, разлог за граничну вредност). Измишљен 'разлог' је опаснији од никаквог оправдања; Власник кода мора додати овај слој.

12. Шта програмер треба да уради ако жели да налепи конфигурациону датотеку која садржи активни АПИ кључ у неодобрени АИ алат док решава хитну грешку?

  • А) За брзину, налепите датотеку каква јесте, а затим избришите ћаскање
  • Б) Додајте 'поверљиво' напомену на крају датотеке и пошаљите је
  • Ц) Оставите кључ и промените само име датотеке
  • Д) Уклоните/маскирајте тајне и дајте само неопходан неосетљиви контекст ✔

Откривање: Тајне, лични подаци и поверљива имовина никада не би требало да се уносе на неодобрена средства; Хитност не обуставља ову црвену линију. Исправан приступ је прво извући/маскирати тајне и дати само неопходан, неосетљив контекст. Ако тајна и даље цури, прво што треба да урадите је да одмах окренете кључ.

13. Код генерисан вештачком интелигенцијом пролази тестирање и покреће се у производњи. Да ли ово доказује да је код безбедан?

  • А) Не; 'радни' не значи безбедно, безбедност захтева посебан слој аутентификације ✔
  • Б) Да; Код који прође тест је безбедан по дефиницији
  • Ц) Да; Покретање у производњи елиминише све рањивости
  • Д) Не; али безбедност је важна само ако је код спор

Појашњење: 'Радити' није исто што и 'безбедно'. Чак и ако код садржи рањивост као што је СКЛ ињекција, може проћи тестирање и радити глатко; Рањивост се открива тек када је нападач пронађе. Због тога, поред тачности, безбедносно оријентисани преглед и скенирање као што је САСТ треба да се обављају као посебан слој.

14. Која је најбезбеднија дисциплина када се ЦЛИ агенту даје задатак са више датотека (аутономни алат који може да мења датотеке и покреће команде)?

  • А) Рећи агенту 'побољшај овај модул' и дати пуну слободу
  • Б) Дати уски обим и критеријуме прихватања, прво тражити план, одобрити га, имплементирати корак по корак и покренути тестове ✔
  • Ц) Директно спојите све измене агента без њиховог прегледа
  • Д) Омогућавање агенту неограниченог приступа производном окружењу и поверљивим подацима

Објашњење: Како се аутономија повећава, контрола би такође требало да се повећава. Давање агенту уског обима и јасних критеријума прихватања, прво тражење плана без промена, одобравање плана, затим спровођење корак по корак и покретање тестова у сваком кораку; Спречава промене које су широке, непрегледне и које треба да се пониште.

15. Ко има одговорност која произилази из кода генерисаног вештачком интелигенцијом у софтверу који је критичан за безбедност (нпр. плаћање или аутентификација)?

  • А) Пошто код долази од АИ, налази се у добављачу возила
  • Б) Ако је вештачка интелигенција довољно развијена, нико није; нема потребе да се проверава
  • Ц) Тим/инжењер који испитује, саставља и дистрибуира код; АИ не замењује сагласност ✔
  • Д) Само особа која пише упит, а не они који га прегледају

Опис: АИ је множилац брзине и генератор нацрта; не може преузети одговорност. Одговорност за све грешке, рањивости или кршења која произилазе из кода у продукцији лежи на тиму који прегледа, саставља и дистрибуира тај код. У областима које су критичне за безбедност, АИ излаз ни под којим околностима није замена за преглед и одобрење од стране квалификованог инжењера.