Koduoti su DI

Programavimas su AI agentu

Dirbtinis intelektas (AI) iš esmės pakeitė mūsų programavimo būdą. AI agentai gali generuoti kodą, jį optimizuoti ir net padėti derinant. Vis dėlto yra keletas apribojimų, kuriuos programuotojai turi turėti omenyje dirbdami su AI.

Problemos su tvarka ir dubliavimu

AI agentams sunku išlaikyti teisingą kodo seką. Pavyzdžiui, jie gali patalpinti inicializacijas failo pabaigoje, kas sukelia vykdymo klaidas. Be to, AI be dvejonių gali apibrėžti kelias tos pačios klasės ar funkcijos versijas projekto viduje, kas sukelia konfliktus ir painiavą.

Kodo platforma su atmintimi ir projekto struktūra padeda

Sprendimas – naudoti AI kodo platformus, kurie gali valdyti atmintį ir projekto struktūras. Tai padeda išlaikyti nuoseklumą sudėtinguose projektuose. Deja, šios funkcijos ne visada taikomos nuosekliai. Dėl to AI gali prarasti projekto vientisumą ir programavimo metu įvesti nepageidaujamas dublikacijas ar neteisingas priklausomybes.

Dauguma AI kodavimo platformų veikia su vadinamais įrankiais, kurie gali iškviesti didelį kalbos modelį. Šie įrankiai remiasi atviro standarto protokolu (MCP). Todėl galima susieti AI kodavimo agentą su IDE, pavyzdžiui, Visual Code. Jei reikia, galite vietoje sukurti LLM naudojant llama arba Ollama ir pasirinkti MCP serverį integracijai. NetCare sukūrė MCP serveris sukurtą, kad padėtų derinime ir valdyti pagrindinę (Linux) sistemą. Patogu, kai norite tiesiogiai paleisti kodą gyvai.
Modelius galima rasti huggingface.

IDE plėtiniai yra nepakeičiami

Norint geriau valdyti AI generuotą kodą, kūrėjai gali naudoti IDE plėtinius, kurie prižiūri kodo teisingumą. Įrankiai, tokie kaip linteriai, tipų tikrintojai ir pažangios kodo analizės priemonės, padeda anksti aptikti ir ištaisyti klaidas. Jie yra esminis AI generuoto kodo papildymas, siekiant užtikrinti kokybę ir stabilumą.

Pasikartojančių klaidų priežastis: kontekstas ir vaidmuo API

Viena iš pagrindinių priežasčių, kodėl AI agentai kartoja klaidas, yra tai, kaip AI API interpretuoja. AI modeliai reikia konteksto ir aiškios vaidmens apibrėžties, kad galėtų generuoti efektyvų kodą. Tai reiškia, kad užklausos (prompts) turi būti išsamios: jos turi ne tik apimti funkcinės reikalavimus, bet ir aiškiai nurodyti laukiamą rezultatą bei apribojimus. Norint tai palengvinti, galite saugoti užklausas standartiniame formate (MDC) ir jas nuolat siųsti AI. Tai ypač naudinga bendriems programavimo taisyklėms, kurių laikotės, bei funkcinėms ir techninėms reikalavimams ir projekto struktūrai.

Įrankiai, tokie kaip FAISS ir LangChain, padeda

Produktai, tokie kaip FAISS ir LangChain siūlo sprendimus, leidžiančius AI geriau tvarkyti kontekstą. Pavyzdžiui, FAISS padeda efektyviai ieškoti ir gauti susijusius kodo fragmentus, o LangChain padeda struktūruoti AI generuotą kodą ir išlaikyti kontekstą didesniame projekte. Tačiau ir čia galite tai patys vietoje sukurti naudodami RAC duomenų bazes.

Išvada: naudinga, bet dar ne savarankiška

AI yra galinga priemonė programuotojams ir gali padėti pagreitinti kūrimo procesus. Vis dėlto ji dar nėra tikrai pajėgi savarankiškai sukurti ir pastatyti sudėtingesnę kodo bazę be žmogaus kontrolės. Programuotojai turėtų AI laikyti asistentu, kuris gali automatizuoti užduotis ir generuoti idėjas, tačiau vis dar reikia vadovavimo ir korekcijos, kad pasiektų gerą rezultatą.

Susisiekite kontaktas kad padėtų sukurti kūrimo aplinką, kad komandos galėtų išgauti maksimalų naudą iš kūrimo aplinkos ir daugiau susitelktų į reikalavimų inžineriją ir projektavimą, nei į derinimą ir kodo rašymą.

 

Gerard

Gerard dirba kaip AI konsultantas ir vadovas. Turėdamas daug patirties didelėse organizacijose, jis gali ypač greitai išnarplioti problemą ir siekti sprendimo. Derindamas tai su ekonominiu išsilavinimu, jis priima verslo požiūriu atsakingus sprendimus.