Добивки:
- Способност за мапирање на база на странски код слој по слој со вештачка интелигенција и следење на карактеристика од крај до крај
- Способност да се објаснуваат сложените функции чекор по чекор и да се следи протокот на податоци
- Способност да се гледа описот на вештачката интелигенција како хипотеза и да се проверат критичните тврдења во кодот
Програмерите читаат код наместо да пишуваат код. Кога започнувате нова работа, преземате услуга оставена од некој друг или придонесувате за библиотека со отворен код, вашата прва задача е „што се случува овде? е да се најде одговор на прашањето. Вештачката интелигенција може да ја намали оваа задача за откривање на часови, а не на недели - но само кога се користи со вистинските прашања и рефлекс за верификација.
Во оваа единица, учиме да користиме вештачка интелигенција како „водич за кодови“: мапирање на база на странски кодови, преведување на сложена функција на обичен јазик, следење на проток на податоци и откривање како да се користи библиотека. Златното правило овде е дека објаснувањето на ВИ е хипотеза; го потврдуваш со самиот код.
Зошто прибелешката на кодот е моќна, но ризична?
LLM е многу добар во читањето на дел од кодот и неговото преведување на човечки јазик, како на пример „оваа функција го освежува токенот на сесијата на корисникот“; бидејќи научил шеми од милиони слични примери. Ова е огромна заштеда на време, особено со долги и вгнездени функции.
Тука е ризикот: моделот понекогаш кажува што прави кодот, а не што всушност прави. Ако името на променливата е isAdmin, но логиката внатре е обратна, моделот може да го погледне името и да извлече погрешно резиме. Затоа, пред да ја направите изјавата основа за вашите критични одлуки, треба визуелно да го проверите наводното однесување на соодветните линии. Описот ве води на вистинското место; Кодот го има последниот збор.
Внимание: Не сметајте го резимето на вештачката интелигенција „оваа шифра прави X“ само како доказ во одлуката што вклучува безбедност или проток на пари. Резимето е мапа што покажува каде да се погледне; Потврдата ја даваш во шифрата.
Чекори за мапирање на база на странски кодови
- Започнете на највисоко ниво. Прво, запознајте се со структурата на папката и влезните точки (главна, стартување апликација, домашен рутер). Прашајте ја вештачката интелигенција „кои се слоевите на апликацијата засновани на структурата на директориумот? прашај.
- Следете функција од крај до крај. „Кои датотеки се активираат и по кој редослед кога корисникот се најавува? — гледањето на еден тек е попоучно од читањето на целата архитектура.
- Локализирајте ги термините. Прашајте ја вештачката интелигенција за концепти специфични за проектот („закупец“, „леџер“, „работник на работа“) и пронајдете ги нивните еквиваленти во кодот.
- Ја поедноставивте сложената функција. Нека ви е објаснета долга функција чекор по чекор, а потоа означете ги тие чекори во кодот.
- Потврди. Направете мала промена и извршете тестови за да го тестирате вашето разбирање; Тестот веднаш ви кажува дали вашето разбирање е погрешно.
Три мини футроли
Случај 1 — Наследената услуга е намалена од 2 дена на 3 часа. Програмер презеде услуга за усогласување плаќања од 4.000 линии од колега што заминува. Дали вештачката интелигенција ги сумираше модулите и следеше тек на плаќање од крај до крај; Тој лично потврди две критични функции во кодот. Откритието, за кое се проценуваше дека ќе трае 2 дена со класично „слепо читање“, беше завршено за приближно 3 часа со проверениот метод на вештачка интелигенција.
Случај 2 - Замка за погрешно име. Една функција беше наречена validateAndSave, но резимето на вештачката интелигенција вели „прво потврдува, а потоа зачувува“. Кога програмерот влезе во кодот, виде дека зачувувањето е направено пред верификацијата, а потврдата само напиша во дневникот. Ова беше вистинската причина за грешка во производството. Ако немаше валидација во кодот, лажното резиме ќе ја сокрие грешката.
Случај 3 — Забрзано е учењето во нова библиотека. Тимот требаше да интегрира библиотека со редици за пораки што не им беше позната. Ја прашав вештачката интелигенција "како да поставите потрошувач во оваа библиотека, како да се обидете повторно во случај на грешка?" Тие прашаа и имаа направено примерок; Потоа го споредија примерот со официјалниот документ и ја поправија разликата (стара верзија API). Времето за учење се намалува на половина.
Четири шаблони за копирање
Мапирање на база на кодови:
Подолу е списокот директориум/датотеки на проект. 1) Извлечете ги слоевите на апликацијата (влез, деловна логика, пристап до податоци итн.). 2) Наведете го можното патување на датотеката на барањето „{{пример својство}}“. 3) Означете ги областите за кои не сте сигурни како „мора да се проверат“. {{список_директориум}}
Опис на функцијата (чекор по чекор):
Поделете ја оваа функција во групи на редови и објаснете на обичен турски што прави секоја група. Конечно: листа на влез, излез, несакани ефекти (база на податоци/датотека/мрежа) и можни рабови. Соберете ги однесувањата за кои не сте сигурни во ПОСЕБЕН наслов „мора да се потврди“.{{function}}
Следење на протокот на податоци:
Од каде вредноста „{{променлива/податоци}}“, низ какви трансформации поминува, каде е напишана? Креирајте синџир на проток користејќи ги имињата на функциите во кодот. Поврзан код: {{code_segments}}
Научете како да ја користите библиотеката:
Сакам да направам {{ цел }} со {{библиотека}}. Наведете минимален, работен пример. Осигурајте се дека секоја функција што ја користите всушност припаѓа на оваа библиотека; ако не сте сигурни, штиклирајте „потврди од официјалната документација“. Верзија: {{верзија}}.
Слаб промпт / Силен промпт
Слаб: „Објаснете го овој код“. (Што се прашувате? На кое ниво? Што ќе направите?)
Strong: "Ја преземам оваа функција и ќе ја сменам логиката за повторно обид во неа. Објаснете ја функцијата чекор по чекор, особено во случај на грешка, јасно наведете колку пати и во кој интервал повторно се обидувате; означете ги деловите за кои не сте сигурни како "мора да се проверат". [шифра]"
Силната верзија ја дава вашата намера (ќе ја сменам логиката за повторно обид) и фокусирање; така што објаснувањето не е општо резиме туку корисен водич.
Потрага
ВИ е добро
Бидете сигурни да проверите
Резиме на општо архитектура
Отстранете ги слоевите
Вистинска низа на повици
комплексна функција
Чекор по чекор објаснување
Обратна логика, несакани ефекти
поток на податоци
Изработка на синџирот
Условни гранки, прескокнати патеки
Употреба на библиотека
Генерирање примероци
Автентичност и верзија на API
Нема замена за човечкото разбирање
Описот на вештачката интелигенција не е замена за учење; го забрзува. Вистински да „поседувате“ база на кодови значи да изградите нејзин ментален модел, а тој модел одговара само додека го читате кодот, правите мали промени и го гледате резултатот. Користете вештачка интелигенција како ментор кој би ви рекол „погледни овде, ова е важно“ - но прочитајте каде ја гледате со свои очи.
Совет: Кога мислите дека ја разбирате функцијата, замолете ја вештачката интелигенција да „ја сумира во една реченица“; Потоа споредете ја со вашата реченица. Ако две реченици се контрадикторни една со друга, или вие или моделот пропуштивте нешто - и ќе го разработите во кодот.
Вообичаени грешки
- Сметајте го резимето како доказ. Донесувањето одлука за кодот без да се потврди описот значи паѓање во замката на погрешните имиња.
- Лепење премногу големи парчиња. Сумирањето на 2.000 линии одеднаш дава површни и склони кон грешки резултати; подели на парчиња.
- Не наведувајќи ја целта. Ако не кажете „што ќе направите“, описот останува општ и не се фокусира на вашиот бизнис.
- Не се потврдува библиотечниот пример. Моделот може да повика застарено или непостоечко API; Споредете со официјалниот документ.
- Давање на целото учење. Работењето само со апстракти без воопшто да ја прочитате основата на кодот ве остава беспомошни при првата вистинска грешка.
Сумирано
Вештачката интелигенција е моќен водич за истражување на база на странски кодови: мапира архитектура, ги поедноставува сложените функции, го следи протокот на податоци, го учи користењето на библиотеката. Но, секое објаснување е хипотеза. Направете ја вашата поента јасна, разградете ја и проверете го во код и тестирање на секое критичко тврдење дека моделот вели (и не) „мора да се потврди“. Водичот е ВИ; Ти си тој што ја чита картата и ја носи одговорноста.
Задача за апликација
Изберете модул со кој не сте запознаени или штотуку сте го наследиле. Прво, извлечете ги слоевите и патувањето на датотеката на функцијата со шаблонот „мапирање на база на код“. Потоа најкритичната функција на таа карактеристика нека биде објаснета чекор по чекор со шаблонот „објаснување на функцијата“. Конечно, лично проверете во кодот најмалку две тврдења дека моделот ги означил како „мора да се потврди“ и забележете дали се вистинити или неточни.
листа за проверка
- [ ] Изјавата за вештачка интелигенција ја третирам како хипотеза и ја потврдувам во код.
- [ ] Додека го објаснувам кодот, ја додавам мојата цел и се фокусирам на промптот.
- [ ] Ја сумирам големата база на кодови со тоа што ја делам на делови.
- [ ] Ги проверувам критичните тврдења на линија за погрешни замки за име/обратна логика.
- [ ] Ги споредувам примерите на библиотеката со официјалниот документ и верзија.
- [ ] Ја користам вештачката интелигенција како водич за забрзување на учењето, а не како замена за учењето.