The Information: Google ontwikkelt AI-agent voor softwareontwikkeling

Google gaat tijdens zijn jaarlijkse ontwikkelaarsconferentie I/O een reeks nieuwe AI-producten aankondigen, waaronder een AI-agent specifiek gericht op softwareontwikkeling. Dat meldt The Information op basis van gesprekken met bronnen.

De nieuwe AI-agent moet ontwikkelaars ondersteunen gedurende het complete softwareontwikkelingsproces. Reuters spreekt op basis van het artikel van The Information onder meer over het interpreteren van taken en het documenteren van code. Concrete details zijn nog niet bekend. Naast deze assistent zou het technologiebedrijf ook plannen hebben om zijn chatbot Gemini met spraakfunctionaliteit te demonstreren in combinatie met Android XR-brillen en -headsets. De Google I/O-conferentie vindt volgende week plaats in de stad Mountain View in Californië. De hoofdpresentatie staat gepland voor 20 mei. Google zelf heeft nog niet gereageerd op het nieuws.

Door Andrei Stiru

Redacteur

13-05-2025 • 08:45

49

Reacties (49)

49
49
25
0
0
24
Wijzig sortering
De huidige coding AI modellen zijn al goed maar het ligt nog steeds aan de gebruiker om er goed resultaat uit te krijgen.
Als je de system prompt niet opgeeft blijft een AI model generiek en dat geld voor elk model.
Voor goede / betere resultaten moet je het model sturen naar een specialisme als dat nodig is.
Bijvoorbeeld (maar dan in het engels voor beste resultaat), je bent een professionele webdesigner met oog voor security. Je code is altijd netjes opgemaakt en bevat geen onnodige functies. Data inputs moeten ten allertijden op frontend en backend gevalideerd worden.
En zo zou je dus ook nog een specifieke code taal kunnen meegeven, of juist wat niet.

Zo stuur je aan op een gewenst resultaat. De skill die je tegenwoordig moet leren is het goed opbouwen van een prompt. En ja output kan nog steeds fouten bevatten (Gebeurd bij elk model) maar je 1e resultaat zal veel dichter bij je gewenste output liggen als je vooraf duidelijk kenbaar maakt wat je wilt hebben.

[Reactie gewijzigd door The-Source op 13 mei 2025 09:30]

De huidige coding AI modellen zijn al goed maar het ligt nog steeds aan de gebruiker om er goed resultaat uit te krijgen.
Copilot praat met regelmaat echt de grootste onzin, dat ligt echt niet aan mij. De code completion is soms handig, maar slaat toch continu de plank mis, met als summum als ik een database query schrijf, dan droomt ie allemaal tabellen en kolommen erbij.
Als ik dan echt specifieke vragen stel dan krijg ik meestal slechtere resultaten dan een willekeurige zoekmachine actie. Het zijn leuke LLM's, maar het intelligentie gedeelte is nog niet waar het zou moeten zijn om het aan de gebruiker te laten liggen.
Ik bedoel dit niet bot, maar dat ligt grotendeels wel aan jou. AI is niet perfect, maar als je hem een voorzetje geeft komt die wel echt heel erg ver. Als je vooraf aangeeft van "ik heb model/tabel X en Y met relaties via deze kolommen" en vervolgens pas je vraag stelt, dan is het resultaat ook vele malen beter. De context die je aanlevert is uit mijn ervaring zeer essentieel om een goed antwoord terug te krijgen.

Copilot in IDE's is vooral code completion, en vaak heeft die dan gewoon niet genoeg informatie idee om te maken wat je wilt. Maar als je het in een gesprek vorm doet is AI ondertussen wel echt heel sterk aan het worden. (zelf gebruik ik GPT daarvoor, maar copilot chat kan het ook)
Ik werk met Java en Kotlin voor backend development en gebruik ChatGPT regelmatig. Maar code hallucineren is wel echt een ding. Het is heel handig om te rubber ducken of te sparren, er komt ook regelmatig goede input uit om mee verder te gaan, maar het bedenkt regelmatig API's die simpelweg niet bestaan, of waar de semantics heel anders zijn dan waar de gegenereerde code vanuit gaat.
Ik ontken ook zeker niet dat het 'hallucineren' een ding is, maar meestal als ik er zelf last van heb realiseer ik me daarna dat met wat speciefkere context en juist gestelde vragen het tweede antwoord daarna wel een stuk beter is. Zoals ik eerst zei is AI zeker niet perfect, en je moet ook zeker nog steeds de code zelf controleren en begrijpen. Maar om te zeggen dat het slecht is (dat doe jij nu niet), lijkt mij eerder een probleem bij de gebruiker dan het resultaat. Ik heb er prima hele modules mee kunnen schrijven voor zowel back-end (Python), Front-End (React), en voor een ander project in Flutter.

Het is ook een stuk verwachting management.
Als ik een richting wil kan ik bijvoorbeeld heel breed iets vragen als:
"Ik wil via een API verbinding maken om data op te halen"
Dan krijg je inderdaad een richting maar mogelijk ook stukken waar je niet op zit te wachten.

Maar als ik echt iets werkbaars nodig heb, dan lever ik ORM Modellen aan, met context hoe iets gedaan moet worden en wat ik eruit verwacht

"Ik lever je hieronder 2 modellen aan die gaan om transacties en orders, ik wil graag de gemiddelde waarde van bestellingen per maand ophalen met python sqlalchemy, en ook verdeeld per transactie type. Dit kan berekend worden door ...

Model X

Model Z"

Als dit resultaat dan nog niet goed genoeg is dan voeg ik nog meer details toe in het vervolg bericht en zo komt er wel een prima werkbaar resultaat uit. Die moet daarna nog steeds wel gecontroleerd worden, en als iets niet klopt zeg ik gewoon "Dit en dit bestaat niet" en dan gaat die het zelf reviewen en verbeteren.
Denk dat het vooral afhankelijk is vd complexiteit van je code. Ik gebruik het zelf ook veel. Simpele dingetjes gaan perfect. Beetje front-end en back-end en dan vooral situaties met beperkte afhankelijkheden. Veel van mijn front end laat ik genereren (heb hekel aan frontend) en de interacties met mijn databases ook

Merk persoonlijk dat het vooral fout gaat bij complexere dingen. Zelfs met de juiste context erbij moet ik vaak terugverwijzen naar de context en ben ik vooral veel heen en weer aan het pingelen.
En dan kun je bij complexe zaken redeneren, spoonfeed de LLM alle informatie zodat het een 'slim' antwoord kan geven, maar op dat punt ben ik niet bezig mn probleem op te lossen maar de LLM meer context laten geven. De LLM moet soms gewoon zeggen 'weet ik niet' of 'geef me meer context'.
Dus ligt het aan mij dat de LLM zichzelf overschat?
Wellicht als ik in mn prompt het antwoord al geef ligt het niet meer aan mij? Ik vind het heel erg kort door de bocht om dit op de eindgebruiker te gooien.
met wat speciefkere context en juist gestelde vragen het tweede antwoord daarna wel een stuk beter is
Vaak ben je dan sneller als je het zelf uitschrijft. Na oefenloos communiceren met een LLM kom ik ook aardig in de buurt wat ik wil. Maar dat is nu net het probleem. De inteface met de AI is via text. Alles wat in mijn hoofd zit krijg ik veel sneller op papier dan het eerst moeten uitleggen aan een niet bepaald “intelligente” LLM.

Voor single line completion, tests schrijven en documentatie genereren is het heel nuttig. Maar als het ook maar iets complexer wordt vind ik het vaak beter en sneller om zelf te schrijven.
Recentelijk is Copilot voor mij ook een stuk slechter gaan werken, het lijkt er op dat ze zijn overgeschakeld naar een goedkoper model als O3-mini-low o.i.d. Maar dan is Copilot nooit een favoriet geweest voor code, dat zijn Claude Sonnet en tegenwoordig ook Gemini 2.5, maar die mag ik op het werk helaas niet gebruiken.
In de in Visual studio (ook community edition) ingebouwde GitHub copilot kan je per vraag kiezen uit GPT-4o, GPT-4.1, o3-mini en Claude 3.7 Sonnet.
De ene werkt voor sommige onderwerpen wat beter dan de andere, maar op de default GPT-4.1 krijg ik nogal vaak de melding dat het antwoord niet getoond kan worden omdat het iets zegt van publieke code niet te kunnen tonen of zoiets. Claude lijkt met iets 'modernere' antwoorden te komen.
Maar dit heeft me bij mijn huidig project toch al vele uren tijd bespaard.
En heel af en toe een beetje frustratie opgeleverd omdat we in cirkeltjes bleven draaien. 🙂

[Reactie gewijzigd door GMig op 13 mei 2025 10:24]

Ik vind Copilot bijzonder slecht. ChatGPT 3 niveau soms bij simpele vragen voor het herschrijven van een tekst oid.
Code heb ik het nog maar niet toevertrouwd. Cursor met Claude 3.7 gebruik ik daar voor

[Reactie gewijzigd door Menesis op 13 mei 2025 09:51]

Hallucineren is inderdaad een issue, maar eigenlijk een van de weinige dingen waar je rekening mee moet houden. Het is aan te raden hallucineren actief te reduceren. Met veel trial & error krijg je een gevoel wanneer LLMs gaan hallucineren. Dat komt vaak doordat bepaalde context niet meegegeven is in de input waar die wel nodig zou zijn bij het goed beantwoorden van een vraag, en dan gaat ie aan de wandel. Dus, bij het werken met databases is het daarom verstandig om de complete database schema, of het relevante deel ervan, mee te geven. Dan is de kans dat de LLMs nieuwe tabellen bedenkt zeer gering want hij heeft tenslotte alle content ter beschikking. Een extra prompt met 'verzin geen nieuwe tabellen, rijen, waarden, o.i.d.' kan dan ook zeker meehelpen.

Wij hebben een systeem met LLMs opgesteld die MySQL queries kan genereren en uitvoeren aan de hand van een Natural Language vragen. B.v. 'hoeveel klanten heb ik in Amsterdam met een contract die afloopt in Juni?'. Daarvoor is wel veel voorwerk nodig. Zo hebben we het moeten meegeven wat de opzet is, wat de tabellen betekenen, enkele voorbeeld vragen en verwachte queries meegeven, e.d. En nu werkt hij bijna feilloos en is er altijd bronvermelding voor het valideren.

[Reactie gewijzigd door Julianvvz op 13 mei 2025 12:48]

vraag: wat vergelijk je? Welke programmeer taal heb je het over? Hoeveel jaar ervaring als developer heb je?

Dusver is mijn ervaring, het is een leuke autocomplete, en het kan een zooi code uitpoepen (boilerplate), maar als je serieus bent met programmeren zal je toch echt heel goed moeten kijken naar wat eruit komt en het zelf goed nalopen. Ik zou eerder denken dat het een 'mogelijk gewenste oplossingsrichting' geeft, dan een 'gewenst resultaat' ;-)
Voor webdesign vraag je geen programmeertaal natuurlijk. Maar ben je op zoek naar python code dan is het wel handig om dat te benoemen. Zo ook als je een oplossing zoekt icm node.js backend voor een website.
Als je niet stuurt heeft het model alle vrijheid maar en als je dat wilt is dat ook prima.
Maar zoek je resultaat in een bepaalde taal dan moet je sturen (of je hebt toevallig geluk).
Ik heb het niet over code completation of validatie waarbij je zelf al code als input geeft en daardoor het model de taal al herkend.

Als je vraagt geef mij code om te controleren of een host port 3389 open heeft. (3389 is rdp)
Dan kan je bash, python etc terug krijgen maar meestal krijg je niet powershell terug, maar als je nu net powershell zoek dan is het handiger om dat gelijk aan te geven.
Voor fatsoenlijk web design ga je op tal van dingen moeten letten en kom je niet weg met simpel copy paste van een llm.

Een simpele functie kan vaak prima naar een functionaliteit is heel iets anders en daar zitten vaak specifieke use cases in die een klant aanlevert, daar hebben llms het vaak moeilijker mee, en dat vraagt om controles en vaak handwerk.

Ook voor simpele html en css ontkom je niet aan in ieder geval een intensieve controle stap, en op dat punt is het soms makkelijker om het zelf te doen.

LLM’s zijn handige tools, maar geen silver bullet.
als ik het goed begreep zijn de modellen veel getraint met o.a Python code, maar ik zie ook redelijke resultaten vanuit Java, of C++ (of C#).

De simpelere vragen (is een poort open of niet) zijn vaak ook zo te googlen. Maar via een ChatGPT is dat gemakkelijker (en je kunt doorvragen/itereren).
Dat stukje 'je bent een professionele webdesigner' etc. praat iedereen na, maar is echt niet nodig. Je sturing zit vooral in je laatste zin. Althans, dat lijkt mij, dus ik zou zeggen, mocht je het onderzocht hebben, laat gerust weten.

"Schrijf een gedicht over een bloem van 2 zinnen."
of
"Je bent een professionele dichter. Schrijf een gedicht over een bloem van 2 zinnen."

Geeft gewoon hetzelfde resultaat. Het is iets anders wanneer je stelt: je bent een Duitse dichter. Maar dan had je net zo goed kunnen zeggen Schrijf een Duits gedicht.

Uiteraard is de output verschillend bij verscihllende prompts, maar mijn punt is: ik denk dat niemand hier kan zeggen op basis van de output welke input er gebruikt is (met 'je bent' of zonder). En dus dat het voor het resultaat net zo goed zonder kan; daar ziet niemand een verschil in.

[Reactie gewijzigd door DealExtreme2 op 13 mei 2025 09:17]

Ik weet niet of er een verschil zit maar in jouw voorbeeld zou het misschien wel kunnen. Als voorbeeld:

Ik zie bloemen in het veld.
Deze verkoop ik voor veel geld.

Als ik door de ramen kijk heb ik een mooi uitzicht.
Een bloemenveld met de glans van het daglicht.

Ik zie de eerste niet echt gebruikt worden door een professionele dichter maar het is een "gedicht". De tweede klinkt al een stukje beter. Natuurlijk ben ik geen dichter en heb ik het maar even snel wat verzonnen. Maar het zou dus kunnen zijn dat gedichten minder onzin zal bevatten doordat een "professioneel dichter" het schijft. Uiteraard zal het er ook wel aan de AI liggen. Misschien is die dus al meer getraind met professionele gedichten en dat onzin al bijna niet gebeurd.
Het probleem is ook beetje dat AI je altijd soort van dienst probeert te zijn ongeacht of het nog eruit komt of niet, heb echt meerdere malen gehad dat de AI het simpelweg gewoon niet voor elkaar kreeg om gewoon een werkend voorbeeld te geven. Toegegeven laatste keer was ik bezig met SIMD instructies specifiek voor een a53 processor wat waarschijnlijk heel niche is. Maar de LLM's bleven gewoon met vol vertrouwen antwoord geven alsof de voorbeeld code klopt, maar het was gewoon echt totale onzin wat eruit kwam en dat lag echt niet aan mijn prompts. zelfs geprobeerd nog te feeden met voorbeeld code etc. Je zag gewoon echt dat de LLM te weinig training data heeft hiervoor en daarom gewoon onzin begon te geven. Maar het blijft wel gewoon vol vertrouwen antwoorden alsof het de kennis bezit om je te helpen waardoor je best lang blijft proberen door prompt aan te passen of follow ups te geven etc.. Uiteindelijk heb ik toch echt de handdoek in de ring moeten gooien en zelf de functie helemaal vanaf scratch moeten bedenken wat toch wel een stuk meer tijd kost met complexe berekeningen dan wanneer je kan werken met een startpunt van een LLM.

Het zou fijn zijn als LLM's wat meer zouden leunen naar dat als ze het niet weten of minder zekerheid erover heeft dat je dat ook terug zou zien in de antwoorden. Maar dan ga je weer misschien echt toe naar nadenken en dat doet een LLM gewoon simpelweg niet. Het is gewoon een kansberekening waar het gewoon een combinatie van woorden uitgeeft die voor het model de meest logische zijn op basis van trainingdata. Maar het heeft geen bewustzijn verder van of het wel daadwerkelijk klopt en of een mening over zijn eigen output.

Dat proberen LLM makers dan op te lossen door hun eigen output weer 1 of merdere malen terug te feeden naar het model om vervolgens de eerste output te controleren, dat noemen ze dan reasoning, maar tis het eigenlijk helemaal niet. Alleen deze methode blijkt dus juist ook vaker tot hallucinaties te leiden in plaats van minder blijkt nu.

Ik weet niet ik moet het allemaal nog maar zien, maar heb beetje het idee dat we gewoon al best wel de limieten van gewoon wat dit rekenmodel mogelijk maken hebben bereikt. Uiteindelijk is 1+1=2 op een gegeven moment kan je dat niet veel verder tellen dan het is.
Ik zou vooral niet te veel fixeren over hoe je een goede prompt schrijft. Zolang de LLM sneller code kan genereren dan jij het zelf kunt, kan je beter voor lief nemen dat je het misschien een paar keer moet corrigeren.

Als voorbeeld; ik heb een AI agent in twee avonden tijd een mailclient laten schrijven die qua features min of meer gelijk is met GMail/Office365 (maar met enkele extra dingen die ik er graag in wilde hebben zoals de mogelijkheid om bepaalde acties uit te voeren in externe systemene) en in één avond een kaartspel (dat nog nooit eerder in digitale vorm uit is gebracht). Beide zou me zonder LLM niet in zo'n korte periode zijn gelukt. Sterker nog; terwijl de AI agent code aan het genereren was heb ik ondertussen een boek kunnen lezen. Ik hoefde alleen aan het einde van elk hoofdstuk even het resultaat te bekijken en met een nieuwe prompt weer bijsturen. Het lijkt me dat dit in de toekomst alleen nog maar beter gaat worden.
Prompt engineering, waar al die crypto boys zo hard op gaan.
Data inputs moeten ten allertijden op frontend en backend gevalideerd worden.
Bedoel je dat de AI zelf te allen tijde voorstelt?
Beetje flauw wellicht maar ben van oudere GIGO rule generatie.

[Reactie gewijzigd door Baserk op 13 mei 2025 11:49]

Nee dat ging over het voorbeeld van de website die je als output zou kunnen gaan bouwen, dus cliënt side input validation maar zeker ook aan de backend zijde om de meeste common exploits af te vangen. En het is puur een voorbeeld geen heilige graal
Zolang Google niet heel duidelijk in zijn privacy beleid van de AI tools schrijft dat de data die wordt verzonden niet gebruikt wordt voor trainingsdoeleinde/verbeteringen van de AI, blijf ik ver weg van hun AI producten.
Ik had gelezen dat Gemini onder dezelfde privacyvoorwaarden valt als Google Workspace. Dat zou betekenen dat je veilig zou moeten zitten, zeker als je bedenkt dat iets meer dan 50% van de Europese Google Workspace gebruiken (en +/- 45% MS Office 365)
Als ik naar de Android Studio Gemini privacy notice ga staat er dit:
Your source code in Android Studio is not subject to this Privacy Notice except where you submit it to Gemini (e.g., prompts). When you use Gemini, Google collects your prompts, generated output, related feature usage information, and your feedback. Google uses this data to provide, improve, and develop Google products and services and machine learning technologies, including Google’s enterprise products such as Google Cloud.
https://developer.android...iew/gemini/privacy-notice
Hoe ik het lees is dit een privacy notice die inderdaad aangeeft dat de promts, gegenereerde output etc gebruikt gaan worden voor "kwaliteitsdoeleinden" (om een een samenvattend woord van te maken). Echter is de eerste zin dat jouw broncode hier niet onder valt. Dus alle code die je krijgt, gaat hier NIET onder vallen; of: daar doen ze verder niets mee gezien deze onder de algemene privacy regeling valt.

[Reactie gewijzigd door Prince op 13 mei 2025 09:46]

Er staat letterlijk "Except where you submit it to Gemini" In Android studio kan je verschillende niveaus van AI aanzetten. Waarbij je kan kiezen om de AI wel of geen toegang te geven tot je source code. Maar geef je geen toegang tot de source code dan kan hij dus ook niet dat gebruiken om code te genereren.

Wat betreft het idee dat het alleen voor kwaliteitsdoeleinde zou zijn, er staat "Improve, and Develop Google Products and services" Als je de privacy notice nog verder leest staat er ook nog eens deze tekst:
To help with quality and improve our products, human reviewers may read, annotate, and process your prompts, generated output, related feature usage information, and your feedback. Please do not include sensitive (e.g., confidential) or personal information that can be used to identify you or others in your prompts or feedback. Your data will be retained for up to 18 months and stored in a way where Google cannot tell who provided it. Google cannot fulfill deletion requests during this time.
Met andere woorden, alles wat je via een prompt die kant op stuurt kan ook nog eens gelezen worden door mensen. Al je prompts, dus ook alles wat je via de chat window in Android Studio aan Gemini vraagt.
Laten we het er dan op houden dat we het hier oneens zijn.

Dat code naar Google doorgestuurd moet worden en terug naar jou is vrij vanzelfsprekend. Jouw code moet naar het model gaan en voorgestelde code door het model moet teruggestuurd kunnen worden. Dat is nu eenmaal het product.

Ze geven aan dat zowel de pompts als de responses bijgehouden worden door Google.
Jij ziet dit als een privacy issue; ik niet.

Mijn motivering:
- Als ik op een andere computer inlog, is het logisch dat ze mijn geschiedenis moeten kunnen laden van ergens. Je klaagt toch ook niet dat Gmail jouw mails bijhoudt?
- Mijn samenvattend woord (en een samenvatting verliest altijd wat detail) "kwaliteitsdoeleinden" is dus in principe "Improve and develop google producs and services".
Jij ziet dit als "ze gaan mijn code en ingegeven prompts gebruiken om een nieuw model op te trainen waardoor anderen wellicht tot mijn persoonlijke gegevens kunnen geraken en mijn code kunnen opvragen" (of iets in die trent).
Ik zie dat eerder als: ze gaan zien hoe ze de ervaring beter kunnen maken en bugs kunnen weghalen. Wordt code in de front end altijd mooi weergegeven; werkt de copy/paste functie altijd goed; is de integratie met VS Code (of anderen) goed? Geeft hij soms nonsens weer op bepaalde prompts? etc...

En dat medewerkers van Google toegang hebben tot deze data is niet meer dan logisch. Ze moeten tenslotte iets hebben om iets te verbeteren. Jij kan toch ook niet naar een garagist gaan en zeggen "er werkt iets niet - ik ga niet zeggen wat ik deed op dat moment of wat het toestel fout deed, want dat is privé".
Het belangrijke is dat de medewerkers hier correct mee om gaan. En gezien 50% van de bedrijven in de EU; -die zwaar gecontroleerd worden- hier gebruik van maken, denk ik dat we eerder in een correct gebruik moeten gaan zoeken ipv per definitie ervan uit te gaan dat iedere firma ons wilt kwaad doen.
Ik denk dat het zeer naïef is om dit soort teksten op de meest positieve wijze te interpreteren.

Jij geeft aan dat je denkt dat het alleen in een bepaalde vorm gebruikt wordt, maar dat staat er niet. Er staat nergens dat de data alleen voor wat bugs of mooier maken van de frontend wordt gebruikt. Er staat letterlijk voor de ontwikkeling van Google producten waarbij machine learning ook nog eens specifiek benoemd wordt.

Ik zal zeker niet zeggen dat het zeker is dat de informatie uit jouw prompts in een model terecht gaan komen, maar niks in die tekst sluit dit uit. Ook het idee dat het normaal is dat een medewerker jouw prompts kan inzien is naar mijn mening een behoorlijk privacy probleem. Er staat niet voor niets in de tekst dat je geen privé gegevens in je prompts moet zetten. Als ik een bug report zou willen sturen bepaal ik op dat moment wat ik deel, hier is het een alles of niets verhaal.

Kijk dat de data naar de server moet om überhaupt verwerkt te worden is logisch. Maar dat er geen opt-out is om die data uit dit soort processen te houden maakt het voor mij onbruikbaar. Kijk naar ChatGPT, deze biedt een optie om specifiek aan te geven dat alles uit jouw chats niet gebruikt mag worden om modellen te trainen. Ook andere coding AI tools geven dit vaak specifiek aan. Maar ik zie Google dit nergens aangeven, en dus gebruik ik de tools van Google niet, ondanks dat ik veel in Android Studio werk.
Volgens mij gaat het om de type licentie. De standaard versie van Gemini is volgens mij 'gratis'. En hierbij wordt de data dus wel degelijk gebruikt om het model te trainen. Ik zou dit dus inderdaad niet professioneel inzetten. Wil je dit wel, dan kun je beter kijken naar de "Gemini in Android Studio for businesses". Dan blijft het intellectueel eigendom bij jou en wordt de data niet gebruikt om de modellen van Google te delen. Vergelijkbaar met de Workspace Enterprise agreements waar ik dagelijks mee werk.
Ik zie ontzettend veel varianten verschijnen van AI-modellen, al dan niet AI-agents. Ik ben inmiddels ook een best lijstje aan het afwerken (ook premium) met ChatGPT, Perplexity, Gemini, Le Chat/Mistral. Maar kan nog niet heel erg een grote onderscheid hierin zien. Maar misschien prompt ik ook gewoon niet goed.

Ik ben wel benieuwd of Google ook zijn Gemini Live verder gaat uitbreiden en er een native app gaat komen voor de desktop. Eerste indruk van Gemini is prima ik bespeur hem weinig op hallucinaties en de chatpagina is wat overzichtelijker dan die van Perplexity
Ik ben ook aan het "spelen" met allerhande modellen en ik moet zeggen dat de "Gemini 2.5 Pro" zeer goed kan programmeren; alvast in Go. Hij kan snel en foutloos relatief grote projecten opleveren die ook in 95% van de keren gewoon direct compileert en doet wat het moet doen. Ook is de code gedocumenteerd; iets waar ik nog van kan leren :+

Ik doe echter niet aan vibecoding, dus ik ga wel over alles en gebruik het als een "bron van creativiteit". Soms doet hij het anders dan hoe ik het zou gedaan hebben en vaak niet zo slecht. Hij heeft wel de neiging veel meer individuele bestanden te maken dan ik zou doen - waar hij standaard dan wel templates in de .go bestanden zet ipv in afzonderlijke .html templates. Maar als je dit vraagt, doet hij het gewoon.
Er is ook niet zo heel veel verschil in al deze AI modellen als je het abstract bekijkt.
Ze berusten allemaal op dezelfde principes.
Een enorme bak aan data, een engine die een keuze maakt uit die bak data aan de hand van de meest voorkomende reacties op de gegeven input met een randomisatie sausje erover om ervoor te zorgen dat er niet telkens hetzelfde antwoord uitkomt.

En gezien de enorme bak aan data het internet betreft, en die voor iedereen hetzelfde is, zijn de resultaten ook allemaal gelijksoortig.
De een leunt een beetje naar links, de ander een beetje naar rechts en weer een ander zit een beetje in het midden. Maar erg radicaal verschil zit er niet tussen.
Reuters spreekt op basis van het artikel van The Information onder meer over het interpreteren van taken en het documenteren van code.
Dit is wat beperkt vertaalt. Reuters zegt dat het kan ondersteunen bij IEDERE FASE van het ontwikkelproces, van het beantwoorden van requests (begin van de cylcus) tot en met de documentatie (einde van de cyclus)

Nu ook de vraag in hoeverre het marketing is. Met Visual Studio Code en Github CoPilot heb je ook een agent mode die je kan helpen in iedere fase van het ontwikkelproces. De kwaliteit van wat opgeleverd wordt, wisselt sterk. Ze durven de claim ook nog niet aan dat de agent het complete proces overneemt, tot aan de pull-request, en de beoordeling en revisie en feedback geven bij de ontwikkelaar ligt. Het blijft een ondersteunende rol voor nu.

[Reactie gewijzigd door gorgi_19 op 13 mei 2025 09:12]

Afgelopen week heeft OpenAI een partij genaamd Windsurf overgenomen vanwege een editor die ook op dit idee gebouwd is.

Probleem is alleen dat het niet werkt. Als je naar de site van Windsurf gaat dan zie je ergens een video voor"Cascade", een agent die o.a. commentaar zou moeten kunnen schrijven voor je code.

Wat het echter levert is commentaar waar je als junior een gesprek voor zou krijgen om het te verbeteren, als medior niet snel senior zal worden en als senior ontslag dient te krijgen omdat je niet weet dat commentaar totaal nutteloos is als je alleen maar met wollig taalgebruik uitlegt wat je al in de code eronder kan lezen. Daar heb je weinig aan omdat het geen context geeft en niet omschrijft waarom het er is.

Zie het voorbeeld van Windsurf: het omschrijft hoe er domain event publishers in zitten, die gebruikt worden door domain events, en de publishers worden gebruikt door domain events om events naar de buitenwereld te sturen. Ze worden ook bewaard in een event storage.

Dat is informatie die deels nergens op slaat door gebrek aan begrip van wat het is en deels in o.a. de naam van de class genoemd wordt. Het is nonsens die ze trots als voorbeeld plaatsen.

Als die van Google net zo slecht is dan hebben ze nog wel even te gaan 😅

[Reactie gewijzigd door Stukfruit op 13 mei 2025 09:18]

In een ideale wereld, kan ik inclusief deelnemen aan software ontwikkeling met mijn Pixel 10 Pro door hem te vertellen wat ik voor ogen heb... En dat hij mij dan ook de "gewenste schommel" letterlijk levert zoals ik het uitdraag, met mijn fundamentele begrip van systemen... En mijn beperkte draagkracht om specifieke semantische constructies uit te werken... Kortom: Gemini make it so! ... Enige puntje blijft: Wie is eigenaar van een eventuele eindopdracht of implementatie? En kun je het porteren? Kortom, zullen platform onafhankelijk gebouwde producten net zo goed ondersteund worden als code die leunt op Google haar eigen datacentrum implementaties?
Ik kijk er naar uit! 8-) 8-)
Dit zijn spannende tijden, in elk opzicht. Wat fijn om nu te leven. O-)
Dit zijn spannende tijden, in elk opzicht. Wat fijn om nu te leven. O-)
Ah, De catchphrase van Two Minute Papers (in nl). ;)
Aha! Ja het is een 'gebruikelijke uitdrukking' in brede zin, - ik kende de Two Minute Papers tenslotte niet, maar dit resideert dan in het collectieve linguïstisch 'data zwembad' - lijkt me ;-)
Bedankt voor de tip!
Gebruik nu een tijdje Cursor als webdev app. Dit is VS code in de basis met AI functionaliteit toegevoegd. Je kan kiezen uit allerlei LLM's en biedt makkelijke tools als autocomplete maar ook agent modus.

Hoewel het mijn productiviteit enorm heeft verhoogd, merk ik wel dat als je niet al kennis hebt over web development het ook een enorme valkuil kan zijn. Ook al komen de LLM's soms met oplossingen waar ik versteld van sta, vaak zijn ze ook echt aan het hallucineren en komt er echt troep uit. Heb je daar geen kennis van, dan zal je codebase langzaam vervuilen.

Ben dus ook wel bang voor alle vibecoding apps/sites/tools die gaan komen. Die zullen op de oppervlakte werken wellicht, maar qua veiligheid en optimalisatie gaan die echt te kort schieten. Zodoende ben ik ook niet heel bang dat AI echt developers gaat vervangen. Ik zie het nu als een tool dat een goede developer meer kracht geeft, en niet als een tool dat iedereen een developer kan worden. Dat kan over X jaar anders zijn uiteraard met de snelheid van ontwikkelingen op dit gebied.
Welke AI is het beste voor het programmeren in C++ en C#?
Ik gebruik nu ChatGPT maar die verliest regelmatig de hele context en dan maakt ie er gewoon een zooitje van. Andere namen voor variablen enzo. Zeer irritant.

Iemand?
Ik zou de "Gemini 2.5 Pro" eens proberen; deze is zeer goed voor Go, en blijkaar niet speciaal op getuned. Dus C++ en C# zouden gelijkwaardige resultaten moeten leveren.
Deze is ook beperkt gratis te gebruiken, dus kan zeker geen kwaad om eens te proberen.
Laat even weten hoe het gegaan is...
lama

[Reactie gewijzigd door BasHouse op 14 mei 2025 07:15]

?
Ik ben een lama? (ben nog nooit een lama genoemd, maar "there is a first for everything". :+)
Of bedoel je dat het model Llama (2x L) beter is? Zo ja, wat waren de veschillend die je merkte en welke versie gebruikte je?
Naja er stond dit scrippie om na het opslaan van Word documenten als html nog even de mso opmaak zooi uit het Word bestand te halen. Wel geinig dat dat kan als simpele ziel.

En ohja dit bestandje opslaan als cleanword2html.py of verzin zelf
en dan runnen in de console met: python cleanword2html.py in dezelfde map als het bestand dat moet worden schoongemaakt van Word markup.

Dit zei ChatGPT:

from bs4 import BeautifulSoup
import chardet
import os

# Vraag gebruiker om bestandsnaam
input_filename = input("Voer de naam van het HTML-bestand in (bijv. Wordfile-dirty.html): ")

# Bestaat het bestand?
if not os.path.isfile(input_filename):
print(f"Bestand '{input_filename}' niet gevonden.")
exit()

# Detecteer encoding
with open(input_filename, "rb") as f:
raw_data = f.read()
result = chardet.detect(raw_data)
encoding = result['encoding'] or 'utf-8'

# Decodeer met juiste encoding
html = raw_data.decode(encoding)

# Parse HTML
soup = BeautifulSoup(html, "html.parser")

# Verwijder <style> en <script> tags
for tag in soup(["style", "script"]):
tag.decompose()

# Verwijder Word-specifieke klassen, tags en stijl
for tag in soup.find_all(True):
# Verwijder "Mso..." en "WordSection..." klassen
if "class" in tag.attrs:
classes = tag.get("class", [])
tag['class'] = [cls for cls in classes if not cls.startswith("Mso") and not cls.startswith("WordSection")]
if not tag['class']:
del tag['class']

# Verwijder tags met namespace-prefix zoals o:, w:, v:
if ":" in tag.name:
tag.decompose()

# Verwijder inline stijlen zoals "mso-..." en "word-wrap"
for tag in soup.find_all(style=True):
original_style = tag["style"]
cleaned_style = ";".join([
s for s in original_style.split(";")
if not s.strip().startswith("mso-") and "word-wrap" not in s
])
if cleaned_style.strip():
tag["style"] = cleaned_style
else:
del tag["style"]

# Optioneel: verwijder lege <p> tags
for p in soup.find_all("p"):
if not p.get_text(strip=True):
p.decompose()

# Nieuwe bestandsnaam
output_filename = input_filename.replace(".html", "-cleaned.html")

# Schrijf de opgeschoonde HTML
with open(output_filename, "w", encoding="utf-8") as file:
file.write(str(soup.prettify()))

print(f"Opschonen voltooid. Bestand opgeslagen als: {output_filename}")

[Reactie gewijzigd door BasHouse op 14 mei 2025 20:35]

Ah, "lama" is "Laat maar".
haha als in nou ja laat maar in plaats van naja lama. Ik dacht ineens zou tweakers wel zitten te wachten op m'n scrippies dus in eerste instantie toch maar weer verwijderd. :)
Cool, we hebben bij ons recent met n8n en qwen3 een software ontwikkel agent gemaakt. Eentje die code reviews doen en toetst of de criteria in de user story terug komen in de code en de testen.

Op dit item kan niet meer gereageerd worden.