Minulý rok spoločnosť GitHub vydala Copilot, ukážku ich „programátora párov AI“, nástroja na dokončenie kódu, ktorý poskytuje odporúčania riadkov alebo funkcií vo vašom IDE.
Nepochybne to spôsobilo vlnu v programovacom priemysle aj mimo neho a s najväčšou pravdepodobnosťou ste o ňom niečo počuli.
Copilot „rozumie“ desiatkam jazykov a je teraz dostupný pre Visual Studio Code a systémy podporované backendom VS Code, ako je napríklad GitHub Codespaces.
Technický náhľad je charakterizovaný ako „obzvlášť dobrý pre Python, JavaScript, TypeScript, Ruby a Go“.
Prijmite nápady na predvolený kód, cyklicky prechádzajte ďalšími návrhmi, upravte kód, ktorý prijmete, alebo úplne odmietnite návrhy Copilota na konkrétnom mieste vo vašom kóde.
Copilot je momentálne dostupný iba prostredníctvom autorizovanej žiadosti. Ale nebojte sa; existujú možnosti rôznych špecifikácií.
V tomto diele sa podrobne pozrieme na GitHub Copilot a na najlepšie alternatívy, ktoré môžete ihneď použiť.
Takže, čo je GitHub Copilot?
GitHub Copilot je nástroj na dokončenie kódu vyvinutý spoločnosťami OpenAI a GitHub. Na generovanie kódu na základe obsahu aktuálneho súboru a umiestnenia kurzora využíva OpenAI's Codex, transformátor vyškolený na miliardách riadkov kódu na GitHub.
Copilot podporuje Python, JavaScript, TypeScript, Ruby a Go a spolupracuje s populárnymi editormi kódu, ako sú Visual Studio Code, Visual Studio, Neovim a JetBrains IDE.
Copilot môže vytvárať celé riadky kódu, funkcie, testy a dokumentáciu podľa GitHubu a spätnej väzby od používateľov. Vyžaduje si to kontext a úsilie vývojárov, ktorí odoslali svoj kód na GitHub, bez ohľadu na ich softvérovú licenciu.
Po ukončení testu Copilot GitHub sprístupnil ceny jednotlivým používateľom. Členstvo ponúkalo 60-dňovú bezplatnú skúšobnú verziu, po ktorej by to stálo 10 dolárov mesačne alebo 100 dolárov ročne na používateľa.
Najlepšie alternatívy GitHub Copilot
1. Visual Studio IntelliCode
IntelliCode, nástroj spoločnosti Microsoft, ktorý je exkluzívne prístupný cez Visual Studio, je experimentálna pomoc pri kódovaní AI vyškolená na vzorke projektov GitHub. Váš zoznam dokončenia má prioritu IntelliCode, takže položky, ktoré s najväčšou pravdepodobnosťou použijete, sú v popredí.
Tisíce projektov s otvoreným zdrojovým kódom na GitHub, z ktorých každý má viac ako 100 hviezdičiek, slúžia ako základ pre návrhy IntelliCode. Zoznam dokončenia je vytvorený s cieľom podporiť štandardné postupy v spojení s kontextom vašej práce.
Dokončenie tímov patrí medzi lákavejšie schopnosti IntelliCode. Pre firmy, ktorých architektúra je postavená na Microsofte a pre inžinierov zvyknutých na Visual Studio v ére práce na diaľku, môže byť tímové dokončenie výhodné.
IntelliCode poskytuje pomoc s vyplňovaním vyhlásení a podpismi, ako aj s návrhmi na najlepšie argumenty. Vo Visual Studio 2022 je IntelliCode predinštalovaný s akoukoľvek úlohou, ktorá podporuje C#, C++, TypeScript/JavaScript alebo XAML.
2. tabnine
Tabnine bol jedným z prvých programov na dokončenie kódu, ktorý sa dostal na trh (kedysi známy ako Codota). Vo vašich preferovaných IDE podporuje doplnok Tabnine na dokončenie kódu všetky najpopulárnejšie jazyky, knižnice a rámce.
Modely AI Tabnine sú trénované iba na licencovanom kóde s otvoreným zdrojovým kódom, ktorý zaisťuje, že vaša práca zostane vaša.
Členstvo Tabnine Pro zahŕňa možnosť trénovať svoj vlastný súkromný model AI na základe vášho kódu a získať prispôsobené dokončenie kódu, ktoré vyhovuje vášmu štýlu a vzorom.
Nebudete sa musieť spoliehať na kód vytvorený nikým iným ako vy vo vašom úložisku.
Schopnosť hostiť a trénovať svoje vlastné modely AI umožňuje tímom a organizáciám spoločné automatické dopĺňanie naprieč IDE. Zlepšuje tiež bezpečnosť kódu, pretože na svojich zabezpečených podnikových serveroch môžete udržiavať kódovú základňu a model AI.
Okrem toho Tabnine vyžaduje oveľa menej kontextu ako Copilot na vytvorenie kódu pre vás. V skutočnosti Tabnine poskytuje nápady na strednú čiaru pri písaní, a nie návrhy na ďalší riadok kódu po dokončení predchádzajúceho.
3. AiXcoder
AiXcoder je silný nástroj na dokončovanie kódu a vyhľadávací nástroj, ktorý využíva špičkovú technológiu hlbokého učenia.
Má schopnosť navrhnúť celý rad kódu, čo vám umožní rýchlejšie sa rozvíjať. AiXcoder má tiež nástroj na vyhľadávanie kódu, ktorý vám môže pomôcť nájsť prípady použitia API na GitHub.
AiXcoder funguje lokálne a hladko s využitím špičkových algoritmov kompresie modelov s hlbokým učením. Na trénovanie modelov sa používa značné množstvo open-source kódu.
Vyhľadávacie okno sa ľahko integruje s IDE a umožňuje vám vyhľadávať open-source kód na GitHub.
Hlboké učenie sa používa vo výsledkoch vyhľadávania na odfiltrovanie vysokokvalitného kódu. Vyhľadajte vzorky API a použite ich. Vyhľadajte porovnateľný kód, aby ste zabránili duplikácii kódu.
4. Blackbox
Blackbox vám umožňuje vybrať kód z akéhokoľvek videa a potom ho skopírovať do textového editora. Funguje to ako mágia.
Umožňuje vám extrahovať kód z akéhokoľvek videa, či už sledujete kurzy kódovania na YouTube, Coursera alebo Udemy alebo pracujete so svojím tímom na Zoom, Google Meet alebo Teams.
Je kompatibilný so všetkými programovacie jazyky a zachováva presné odsadenie kódu. Nie je potrebné opustiť svoje kódovacie prostredie s cieľom hľadať riešenie na rozvinutie určitej funkcie.
Blackbox uľahčuje identifikáciu správneho útržku kódu bez toho, aby ste museli opustiť svoje okolie, otvárať množstvo kariet alebo listovať stránkami dokumentácie.
Okrem toho dokáže vytvoriť požadovaný úryvok kódu v akomkoľvek programovacom jazyku. Stačí zadať svoju otázku.
5. Amazon CodeWishperer
Amazon CodeWhisperer je a strojové učenie (ML) – výkonný nástroj, ktorý zvyšuje produktivitu vývojárov vytváraním odporúčaní kódu na základe komentárov v prirodzenom jazyku a kódu v integrovanom vývojovom prostredí (IDE).
Vývojári môžu eticky zamestnávať umelá inteligencia (AI) na vytváranie bezpečných a syntakticky presných aplikácií. Generujte úplné funkcie a logické časti kódu bez toho, aby ste museli prehľadávať internet a prispôsobovať úryvky kódu.
Môžete sa sústrediť a neopustiť IDE s odporúčaniami prispôsobeného kódu v reálnom čase pre aplikácie Java, Python alebo JavaScript.
Amazon CodeWhisperer, poháňaný strojovým učením (ML), pomáha vývojárom zvyšovať produktivitu vytváraním odporúčaní kódu na základe ich komentárov v prirodzenom jazyku a kódu v integrovanom vývojovom prostredí (IDE).
Automatické návrhy kódu umožňujú vývojárom urýchliť vývoj frontendu a backendu. CodeWhisperer dokáže vytvoriť kód na vytváranie a trénovanie modelov ML.
6. Jedi
Jedi je doplnok pre editorov a IDE, ktorý vykonáva statickú analýzu kódu Python. Jedi okrem iného kladie dôraz na automatické dopĺňanie a funkcie goto. Ďalšími funkciami sú vyhľadávanie kódu, refaktorovanie a lokalizácia referencií. Jedi poskytuje užívateľsky prívetivé API.
Ako doplnok VIM je dostupná referenčná implementácia. Môžete mať automatické dopĺňanie REPL. Natívne ho používa IPython.
Okrem toho môže byť nainštalovaný pre CPython REPL. Vzhľadom na rozsiahle testovanie by mal mať niekoľko problémov.
Skript funguje ako základ pre dokončenia Jedi, gotos a čokoľvek iné, čo môžete požadovať. Súčasťou tejto triedy je aj tlmočník.
Funguje so skutočným slovníkom, ako aj s REPL. Táto trieda by sa mala používať pri úprave kódu v editore. Väčšina metód obsahuje parameter riadku aj stĺpca.
Riadky Jedi sú vždy založené na jednej, zatiaľ čo stĺpce sú vždy založené na nule. Zvyčajne nie sú zdokumentované, aby sa predišlo duplicite.
7. kód
Codiga je platforma, ktorá umožňuje vývojárom rýchlejšie písať lepší kód. Vývojári môžu použiť Codiga Coding Assistant na generovanie, distribúciu a opätovné použitie útržkov kódu priamo z ich IDE.
Namiesto toho, aby strácali čas hľadaním, môžu vývojári hľadať opakovane použiteľný kód priamo vo svojom IDE. Analýza kódu Codiga a automatizovaná kontrola kódov môžu okamžite odhaliť problémy s kódovaním pri každej žiadosti o stiahnutie alebo push.
Codiga identifikuje bezpečnosť, zraniteľnosť, komplikované funkcie a problémy s duplikáciou kódu. Hlási tiež zraniteľnosti CVE a CWE, ako aj všetky neaktuálne závislosti.
Codiga sa integruje s GitHub, GitLab a Bitbucket a dá sa nastaviť v priebehu niekoľkých sekúnd. Je kompatibilný s akýmkoľvek poskytovateľom CI/CD.
Oficiálne podporuje akcie GitHub, Circle CI a AWS CodeBuild a poskytuje nástroje na integráciu s vlastnými kanálmi. Codiga podporuje viac ako 2,000 12 pravidiel a funguje vo viac ako XNUMX jazykoch.
8. JetBrains Datalore
Je to najlepšia platforma pre notebooky Jupyter. V notebookoch Jupyter je dostupná inteligentná pomôcka na kódovanie pre Python.
Môžete spúšťať kód na výkonných CPU alebo GPU, pracovať v reálnom čase s kolegami, vymieňať si výsledky a dokonca ich zdieľať.
Prednastavené prostredie vám umožní okamžite začať pracovať. S pomocou výkonných počítačov s procesorom a GPU nahrajte údaje do trvalého úložiska, vyhodnoťte ich a trénujte modely strojového učenia.
Výkonné zariadenia a neobmedzené funkcie budú výhodné pre pokročilých vedci údajov a analytikov.
9. Kapitán Stack
Stackoverflow a vývojári sú podobní LinkedIn a HR profesionálom. Doplnok VSCode s otvoreným zdrojom s názvom Captain Stack kombinuje prvky oboch.
Captain Stack je nástroj na odporúčanie kódu, ktorý si požičiava od Copilota, ale namiesto AI využíva Google.
Funkcia odporúčania kódu na GitHub Copilot je celkom porovnateľná s touto.
Používa však Google na prenos vášho vyhľadávacieho dopytu, potom zbiera odpovede zo StackOverflow a Github Gist a potom ich za vás automaticky dopĺňa – AI sa v tomto procese nepoužíva.
10. Haja
Kódujte rýchlejšie. Udržujte svoj tok. Kite umožňuje vývojárom integrovať dokončovania kódu poháňané AI do ich editora kódu. Kite je možné nainštalovať tak, aby všetkým vašim editorom kódu ponúkol dokončenie kódu s podporou AI.
Kite podporuje viac ako 16 jazykov, ako aj 16 editorov kódu. Všimnete si kontextové dokončenie kódu, ktoré je bleskovo rýchle. Váš editor kódu je superhrdina, ktorý dokáže dokončiť viacriadkové riadky rýchlejšie ako vy.
Prezeranie dokumentácie Pythonu jediným kliknutím. K dispozícii sú aj praktické návody a príklady.
Vyhľadajte vo svojej kódovej základni súbory, ktoré by mohli byť prepojené s tým, do ktorého práve píšete. Zvýši sa tým produktivita tisícok vývojárov.
záver
Je celkom cool byť svedkom toho, ako nástroj poháňaný AI produkuje kód.
Cieľom GitHubu nie je nahradiť programátorov, ale pomôcť im pri zvyšovaní ich efektivity pri vývoji, najmä pri opakovaných úlohách kódovania, ako je vytváranie vhodných dokumentačných reťazcov vo funkciách alebo triedach..
Copilot je zatiaľ jedinečná technológia. Ak všetko, čo potrebujete, je dobrý systém dokončovania AI, je potrebné zvážiť rôzne ďalšie možnosti.
Dúfajme, že táto malá škála možností vám pomôže, kým nebude Copilot distribuovaný verejnosti. Môžete dokonca zistiť, že jeden z nich je dostatočne prospešný na to, aby pre vás pracoval z dlhodobého hľadiska.
Nechaj odpoveď