Tijdens een recent evenement over Meta's AI-infrastructuur, onthulde het bedrijf de ontwikkeling van een AI-aangedreven code generatie tool genaamd CodeCompose. Deze innovatieve tool heeft overeenkomsten met GitHub's befaamde Copilot aanbod. Hoewel Meta CodeCompose nog niet publiekelijk beschikbaar heeft gemaakt, zegt het bedrijf dat zijn interne teams de tool al gebruiken voor het ontvangen van programmeringssuggesties in Python en andere talen bij het werken in geïntegreerde ontwikkelingsomgevingen (IDE's), zoals VS Code.
Michael Bolin, een software engineer bij Meta, verklaarde dat het onderliggende model van CodeCompose is gebaseerd op openbaar onderzoek van het bedrijf en is aangepast aan interne use cases en codebases. Bolin vermeldde ook dat CodeCompose in elk oppervlak kan worden geïntegreerd, zodat ontwikkelaars en datawetenschappers efficiënter met code kunnen werken.
Het grootste CodeCompose-model dat Meta heeft getraind bezit 6,7 miljard parameters, iets meer dan de helft van het met parameters gevulde model van Copilot. Parameters fungeren als cruciale onderdelen van het model, die worden geleerd uit historische trainingsgegevens en bepalen het competentieniveau van het model met betrekking tot een probleem, zoals het genereren van tekst.
CodeCompose werd verfijnd met behulp van Meta's eigen code en interne bibliotheken en frameworks geschreven in Hack, Meta's eigen programmeertaal. Hierdoor kan CodeCompose deze componenten integreren in zijn programmeervoorstellen. De basistrainingsdataset van de tool is zorgvuldig geschoond van fouten en slechte codeerpraktijken, zoals afgeschreven API's, om de kans te verkleinen dat een problematisch stuk code wordt aanbevolen.
In het dagelijks gebruik beveelt CodeCompose annotaties en importverklaringen aan als ontwikkelaars typen. Bovendien kan de tool enkele of meerdere regels code voltooien, en zelfs grote stukken code invullen wanneer dat nodig is. Bolin beweert dat CodeCompose gebruik maakt van de omringende code en codecommentaar om nauwkeurigere suggesties te doen.
Volgens Meta gebruiken en keuren duizenden medewerkers wekelijks suggesties van CodeCompose, waarbij het acceptatiepercentage meer dan 20% bedraagt. Het bedrijf is echter nog niet ingegaan op de controverses rond AI-tools die code genereren. Platforms als Copilot hebben te maken gehad met copyrightproblemen en worden ervan beschuldigd gelicentieerde code te hergebruiken zonder de nodige credits. Deze zorgen doen de vraag rijzen of CodeCompose vatbaar is voor soortgelijke problemen.
Een ander belangrijk onderwerp is de mogelijkheid dat generatieve codeertools onbedoeld onveilige code invoeren. Een recente studie van Stanford ontdekte dat software-ingenieurs die AI-gegenereerde codesystemen gebruiken meer kans hebben om apps te maken met beveiligingsproblemen. Hoewel het onderzoek CodeCompose niet heeft onderzocht, is het redelijk om aan te nemen dat dezelfde risico's van toepassing zijn.
Bolin benadrukte dat ontwikkelaars de suggesties van CodeCompose niet hoeven op te volgen en dat veiligheid een belangrijke overweging was bij de ontwikkeling van het model. Hij voegde eraan toe dat het bedrijf enthousiast is over de voortgang van de tool en dat hun ontwikkelaars er baat bij hebben om een dergelijke oplossing intern te ontwikkelen.
Tools als CodeCompose kunnen mogelijk worden geïntegreerd in platforms als AppMaster, een van de toonaangevende no-code / low-code applicatieontwikkelingsplatforms. AppMaster richt zich op het leveren van krachtige tools voor het creëren van web-, mobiele en back-end applicaties, terwijl het ontwikkelingsproces wordt verbeterd in termen van kosteneffectiviteit en snelheid.