Het landschap van softwareontwikkeling verandert snel, aangedreven door de proliferatie van Kunstmatige intelligentietools. Deze AI -codetools vallen in twee primaire categorieën: generatoren, die gericht zijn op het produceren van volledige codebases van prompts en assistenten, die rechtstreeks integreren in de workflow van de ontwikkelaar. De fundamentele architecturale en filosofische verschillen tussen deze benaderingen hervormen hoe ontwikkelaars werken.
Ivan Liagushkin, een softwareontwikkelaar met meer dan 10 jaar ervaring in het bouwen van grootschalige webapplicaties, biedt inzichten in dit evoluerende veld. Hij is verantwoordelijk voor engineering bij Tweeeen AI Copywriter Startup ondersteund door Sequoia Capital.
AI -code -generatoren en assistenten definiëren
“Tools zoals V0.Dev en GitHub Copilot lijken misschien vergelijkbaar, maar ze zijn fundamenteel filosofisch,” zei Liagushkin. “Generatoren concurreren voornamelijk met no-code en low-code platforms, gericht op niet-ontwikkelaarsprofessionals. Codeer-assistenten daarentegen zijn bedoeld om dagelijkse coderingsworkflows te transformeren.”
Generatoren zoals V0.Dev van Vercel en Bolt.new van StackBlitz zijn ontworpen om snelle prototyping en MVP -lancering mogelijk te maken. Ze zijn vaak eigenwijs over de technologieën die ze gebruiken en promoten specifieke tools en platforms.
“Deze generatoren zijn zeer eigenwijs over de technologieën die ze gebruiken en promoten vaak specifieke tools voor gebruikers om zich op te abonneren,” zei Liagushkin. “Zowel Bolt.new als Lovable promoten bijvoorbeeld het Supabase -ontwikkelingsplatform, terwijl V0.Dev natuurlijk Vercel Hosting promoot.”
Coderingassistenten daarentegen richten zich op naadloze integratie in bestaande workflows, het begrijpen van codebases en het bieden van universele tooling in technologieën. Ze zijn ontworpen om nuttig te zijn voor zowel individuele ontwikkelaars als teams.
“Codeer -assistenten willen de dagelijkse codering transformeren,” zei Liagushkin. “Het is van vitaal belang voor hen om logisch te zijn voor alleenstaande ontwikkelaars en teams met name. Cursor -editor Ziet er vooral veelbelovend uit en biedt een handige manier om LLM-instructies te delen en te schalen met zogenaamde ‘cursorregels’. “
De onderliggende architectuur van deze tools is vergelijkbaar, met het primaire verschil in de gebruikersinterface en contextvergrotingsbenaderingen. De kerncomponent is het grote taalmodel (LLM).
“Het belangrijkste onderdeel is de LLM zelf,” zei Liagushkin. “Alle genoemde generatoren vertrouwen op het Claude 3.5-sonnet van Anthropic, het state-of-the-art coderingsmodel voor een lange tijd, alleen overtroffen door zijn opvolger Claude 3.7 Sonnet. Codeerassistenten staan echter toe om te schakelen tussen modellen.”
In de architectuur: hoe AI -coderingshulpmiddelen functioneren
Deze tools worden de modellen meestal niet verfijnd, maar zijn afhankelijk van geavanceerde prompttechnieken. Open-source tools zoals bolt.new geven inzichten in de architectuur.
“Dankzij Bolt. nieuwe zijn open-source, kunnen we onderzoeken wat er wordt gebruikt,” zei Liagushkin. “De kernsysteemprompt legt de LLM de uitvoeringsomgeving en beschikbare acties uit: het maken en bewerken van bestanden, het uitvoeren van shell-opdrachten, het zoeken naar codebases en het gebruik van externe tools. Prompts zijn goed gestructureerd met XML-stijl opmaak en gebruik one-shot leren om hallucinaties en inconsistenties te verminderen.”
Het beheren van context, vooral voor grote codebases, is een belangrijke uitdaging. Assistenten indexcodebases en gebruiken vectordatabases voor het zoeken naar volledige tekst.
“De grootste uitdaging is het bieden van LLMS met de juiste context,” zei Liagushkin. “Het is essentieel om de juiste delen van de juiste bestanden te voeden, samen met overeenkomstige modules, documentatie en vereisten. Assistenten indexeren de codebase, het maken van boomvormige gegevensstructuren om bestandswijzigingen te controleren en vervolgens bestanden in vectordatabases in vectordatabases te controleren voor het zoeken naar volledige tekst.”
De laatste 30%
Ondanks hun kracht hebben AI -coderingstools beperkingen. Het “70% probleem”, gearticuleerd door Addy Osmani, benadrukt hun strijd met de laatste 30% van de code die robuustheid en onderhoudbaarheid vereist.
“Het probleem van ‘70% ‘beschrijft de fundamentele beperking van AI-coderingsproblemen perfect: ze kunnen snel code genereren die je 70% van de weg brengt, maar worstelt met de cruciale definitieve 30% die softwareproductie-klaar, onderhoudbaar en robuust maakt,” zei Liagushkin.
Het aanpakken van deze beperkingen omvat het verbeteren van de modelnauwkeurigheid, het bevorderen van agentische architecturen en het verbeteren van prompttechnieken.
“Dit probleem zal op drie verschillende manieren worden opgelost,” zei Liagushkin. “Ten eerste zullen modellen nauwkeuriger worden. Ten tweede zal de architectuur van coderende assistenten vooruitgaan door middel van agentische benaderingen. Ten slotte zullen we veranderen. Iedereen zal effectieve prompt technieken leren.”
Bij Twain heeft Liagushkin soortgelijke beperkingen ervaren bij het ontwikkelen van AI -copywriters. Strategieën om deze te verminderen omvatten LLM -verzoek om caching, modeljongligeren en snelle voorbewerking.
“Het enige verschil tussen coderingsassistenten en Twain is dat coderende assistenten code produceren, terwijl Twain gepersonaliseerde berichten van mens geschreven kwaliteit produceert,” zei Liagushkin. “De uitdagingen blijven echter hetzelfde-om waardevol te zijn, moeten we kopieën snel, kosteneffectief genereren en ze vrij houden van hallucinaties.”
Anticiperen op de toekomst
Vooruitkijkend, anticipeert Liagushkin op belangrijke vooruitgang in de modelkwaliteit en de evolutie van de workflow. Hij benadrukt echter dat de acceptatie van technologie een cruciale factor blijft.
“De vooruitgang in de AI-modelkwaliteit is verbazingwekkend en we moeten verwachten dat modellen nog nauwkeuriger, stabieler en kosteneffectief worden,” zei Liagushkin. “Ik geloof echter dat echt transformerende veranderingen in coderingsprocessen niet in de eerste plaats zullen komen van engineering en AI doorbraken, maar uit de evolutie van de workflow en mindset.”
Ethische overwegingen, met name gegevensbeveiliging, zijn ook van het grootste belang. Liagushkin stelt voor om coderende LLM’s in lokale netwerken te implementeren en de hulpmiddelen voor zichtbaarheidsbeperking te gebruiken.
“Ethische overwegingen hebben voornamelijk betrekking op gegevensbeveiliging – een significant maar technisch oplosbaar probleem,” zei Liagushkin. “Codering LLMS kan worden geïmplementeerd binnen de lokale netwerken van organisaties, met zichtbaarheidsbeperkingstools die zijn ontworpen om gevoelige codenecties te isoleren.”
De toekomst van AI -coderingstools hangt af van technologische vooruitgang en een verandering in mindset binnen de ontwikkelingsgemeenschap.