
We introduceren canvas, een nieuwe interface voor het werken met ChatGPT aan schrijf- en programmeerprojecten die verder gaan dan alleen chatten. Canvas wordt geopend in een apart venster, zodat jij en ChatGPT kunnen samenwerken aan een project. Deze vroege bèta introduceert een nieuwe manier van samenwerken - niet alleen door met elkaar te praten, maar door zij aan zij ideeën te creëren en te verfijnen.
Canvas is gebouwd met GPT‑4o en kan handmatig worden geselecteerd in de modelkiezer terwijl het in bèta is. Vanaf vandaag rollen we canvas wereldwijd uit naar ChatGPT Plus- en Team-gebruikers. Enterprise- en Edu-gebruikers krijgen de komende weken toegang. We zijn ook van plan om canvas beschikbaar te maken voor alle ChatGPT Free-gebruikers wanneer het uit bèta is.
Mensen gebruiken ChatGPT elke dag voor hulp met schrijven en code. Hoewel de chatinterface eenvoudig te gebruiken is en goed werkt voor veel taken, is hij beperkt als je aan projecten wilt werken die bewerkingen en revisies vereisen. Canvas biedt een nieuwe interface voor dit soort werk.
Met canvas kan ChatGPT de context van wat je probeert te bereiken beter begrijpen. Je kunt specifieke secties markeren om precies aan te geven waar ChatGPT zich op moet richten. Net als een tekstredacteur of code-reviewer, kan het inline feedback en suggesties geven met het hele project in gedachten.
Je hebt de controle over het project in canvas. Je kunt tekst of code direct bewerken. Er is een menu met sneltoetsen waarmee je ChatGPT kunt vragen om de schrijflengte aan te passen, fouten in je code op te lossen en snel andere nuttige acties uit te voeren. Je kunt ook eerdere versies van je werk herstellen met de terug-knop in canvas.
Canvas opent automatisch wanneer ChatGPT een scenario detecteert waarin het nuttig zou kunnen zijn. Je kunt ook 'use canvas' opnemen in je prompt om canvas te openen en te gebruiken om aan een bestaand project te werken.
Onder de snelkoppelingen vallen:
- Bewerkingen voorstellen: ChatGPT biedt inline-suggesties en -feedback.
- De lengte aanpassen: Bewerkt de documentlengte om deze korter of langer te maken.
- Het leesniveau wijzigen: Past het leesniveau aan, van kleuterschool tot middelbare school.
- De puntjes op de i zetten: Controleert op grammatica, duidelijkheid en consistentie.
- Emoji's toevoegen: Voegt relevante emoji's toe voor nadruk en kleur.
Programmeren is een iteratief proces en het kan moeilijk zijn om alle revisies van je code in chat te volgen. Canvas maakt het eenvoudiger om de wijzigingen van ChatGPT te volgen en te begrijpen en we zijn van plan om de transparantie van dit soort wijzigingen te blijven verbeteren.
Onder snelkoppelingen vallen:
- Code beoordelen: ChatGPT biedt inline-suggesties om je code te verbeteren.
- Logboeken toevoegen: Voegt afdrukinstructies in om je te helpen bij het oplossen van fouten en begrijpen van je code.
- Opmerkingen toevoegen: Voegt opmerkingen toe aan de code om deze begrijpelijker te maken.
- Fouten oplossen: Detecteert en herschrijft problematische code om fouten op te lossen.
- Naar een andere taal vertalen: Vertaalt je code naar JavaScript, TypeScript, Python, Java, C++ of PHP.
We hebben GPT‑4o getraind om samen te werken als creatieve partner. Het model weet wanneer het een canvas moet openen, gerichte bewerkingen moet uitvoeren en volledig moet herschrijven. Het begrijpt ook de bredere context om precieze feedback en suggesties te geven.
Om dit te ondersteunen, ontwikkelde ons onderzoeksteam de volgende kerngedragingen:
- Het activeren van canvas voor schrijven en coderen
- Diverse soorten inhoud genereren
- Gerichte bewerkingen maken
- Documenten herschrijven
- Inline-kritiek leveren
We hebben de voortgang gemeten met meer dan 20 geautomatiseerde interne evaluaties. We gebruikten nieuwe technieken voor het genereren van synthetische gegevens, zoals het destilleren van uitvoer uit OpenAI o1‑voorbeeld, om het model achteraf te trainen op zijn kerngedragingen. Met deze aanpak konden we de schrijfkwaliteit en nieuwe gebruikersinteracties snel aanpakken, allemaal zonder afhankelijk te zijn van door mensen gegenereerde gegevens.
Een belangrijke uitdaging was te bepalen wanneer een canvas moest worden geactiveerd. We hebben het model geleerd om een canvas te openen voor prompts als 'Schrijf een blogpost over de geschiedenis van koffiebonen', terwijl we het niet te veel laten triggeren voor algemene vraag- en antwoordopdrachten als 'Help me een nieuw recept te koken voor het avondeten'. Voor schrijftaken gaven we prioriteit aan het verbeteren van 'correcte triggers' (ten koste van 'correcte niet-triggers'), waarmee we 83% bereikten in vergelijking met een zero-shot GPT‑4o en instructies als prompt.
Het is de moeite waard om op te merken dat de kwaliteit van dergelijke basislijnen zeer gevoelig is voor de specifieke prompt die wordt gebruikt. Met verschillende prompts kan de basislijn nog steeds slecht presteren, maar op een andere manier - bijvoorbeeld door gelijkmatig onnauwkeurig te zijn bij programmeer- en schrijftaken, wat resulteert in een andere verdeling van fouten en alternatieve vormen van suboptimale prestaties. Bij het programmeren hebben we het model bewust niet getriggerd om onze krachtige gebruikers niet te storen. We blijven dit verfijnen op basis van feedback van gebruikers.
Herkenning van juiste canvasactie bij schrijven en programmeren
Voor schrijf- en programmeertaken verbeterden we het correct triggeren van de canvasbeslissingsgrens, met respectievelijk 83% en 94% vergeleken met een basislijn zero-shot GPT‑4o met gevraagde instructies.
Een tweede uitdaging bestond uit het fijn afstemmen van het bewerkingsgedrag van het model zodra het canvas werd getriggerd, met name het beslissen wanneer een gerichte bewerking moest worden uitgevoerd in plaats van het herschrijven van de volledige inhoud. We hebben het model getraind om gerichte bewerkingen uit te voeren wanneer gebruikers expliciet tekst selecteren via de interface en anders de voorkeur te geven aan herschrijven. Dit gedrag blijft evolueren terwijl we het model verfijnen.
Grens voor canvasbewerkingen bij schrijven en programmeren
Voor schrijf- en programmeertaken hebben we prioriteit gegeven aan het verbeteren van bewerkingen gericht op het canvas. GPT‑4o met canvas doet het 18% beter dan een standaard-GPT‑4o.
Het trainen van het model om commentaar van hoge kwaliteit te genereren vereiste ten slotte zorgvuldige herhaling. In tegenstelling tot de eerste twee gevallen, die eenvoudig zijn aan te passen aan geautomatiseerde evaluatie met grondige handmatige beoordelingen, is het meten van kwaliteit op een geautomatiseerde manier bijzonder uitdagend. Daarom gebruikten we menselijke evaluaties om de kwaliteit en nauwkeurigheid van het commentaar te beoordelen. Ons geïntegreerde canvasmodel presteert 30% beter in nauwkeurigheid en 16% beter in kwaliteit dan de zero-shot GPT‑4o met gegeven instructies. Dit toont aan dat synthetische training de kwaliteit van antwoorden en het gedrag van het model aanzienlijk verbetert vergeleken met zero-shot prompting met gedetailleerde instructies.
Canvas Suggested Comments
Menselijke evaluaties beoordeelden de kwaliteit van de opmerkingen op het canvas en de functionaliteit voor nauwkeurigheid. Ons canvas-model presteert 30% nauwkeuriger en 16% beter dan de zero-shot GPT‑4o met instructies.
Om AI nuttiger en toegankelijker te maken, moeten we opnieuw nadenken over hoe we ermee omgaan. Canvas is een nieuwe aanpak en de eerste grote update van de visuele interface van ChatGPT sinds we twee jaar geleden van start gingen.
Canvas is in vroege bèta en we zijn van plan om de mogelijkheden snel te verbeteren.
Auteur
Hoofd onderzoek
Karina Nguyen
Kernonderzoek
Kai Chen, Michael Wu, Tarun Gogineni
Technische kernactiviteiten, Product, Ontwerp
Alexi Christakis, Bryan Ashley, Bryant Jow, Chris Haugli, Daniel Levine, Eric Jiang, Gabriel Peal, Lee Byron, Lukas Gross, Matt Lim, Sara Culver, Thomas Dimson
Bijdragers
Andrew Gibiansky, Andrew Howell, Arianna McClain, David Li, Doug Li, Ilya Kostrikov, Katy Shi, Noah Deutsch, Randall Lin, Sara Culver, Sean Fitzgerald, Shuaiqi Xia, Spencer Papay, Thomas Shadwell, Valerie Qi, Xiaolin Hao, Yilei Qian
Ondersteuning leiding
Akshay Nathan, Barret Zoph, Ian Silber, Joanne Jang, John Schulman, Kevin Weil, Mia Glaese, Mira Murati, Nick Turley, Sam Altman, Sulman Choudhry