
Przedstawiamy Canvas, nowy interfejs do pracy w ChatGPT nad projektami związanymi z pisaniem i kodowaniem, który wykracza poza zakres prostego czatu. Canvas otwiera osobne okno, w którym możesz współpracować z ChatGPT przy tworzeniu projektu. Ta wczesna wersja beta wprowadza nowy sposób współpracy — nie tylko w formie konwersacji, lecz również wspólnego tworzenia i dopracowywania pomysłów.
Funkcję Canvas opracowano na bazie GPT‑4o. W wersji beta uruchamia się ją ręcznie z poziomu narzędzia wyboru modelu. Już dzisiaj udostępniamy Canvas dla użytkowników ChatGPT Plus i Team na całym świecie. Użytkownicy Enterprise i Edu uzyskają dostęp w najbliższych tygodniach. Po zakończeniu testów beta planujemy również udostępnić narzędzie wszystkim użytkownikom ChatGPT Free.
ChatGPT wykorzystywany jest każdego dnia jako narządzie wspomagające pisanie i kodowanie. Interfejs czatu jest wprawdzie intuicyjny i sprawdza się dobrze w kontekście wielu zadań, lecz ma pewne ograniczenia, zwłaszcza w pracy nad projektami wymagającymi edycji i korekty. Canvas oferuje nowy interfejs dedykowany dla tego rodzaju pracy.
Dzięki tej funkcji ChatGPT może lepiej zrozumieć kontekst tego, co próbujesz osiągnąć. Możesz podkreślać konkretne sekcje, aby wskazać ChatGPT dokładnie to, na czym chcesz się skupić. Podobnie jak korektor wydawniczy czy recenzent kodu, narzędzie może umieszczać w tekście komentarze i sugestie uwzględniające kontekst całego projektu.
To ty kontrolujesz projekt w Canvas. Możesz bezpośrednio edytować tekst lub kod. Narzędzie zapewnia menu skrótów pozwalających zlecić ChatGPT dostosowanie długości tekstu, przetestowanie kodu i szybkie wykonanie innych przydatnych działań. Możesz również przywracać poprzednie wersje swojej pracy dzięki odpowiedniemu przyciskowi w Canvas.
Canvas otwiera się automatycznie, gdy ChatGPT wykryje scenariusz, w którym funkcja może okazać się przydatna. Możesz również dodać „użyj Canvas” w swoim poleceniu, aby otworzyć narzędzie i wykorzystać je w projekcie.
Skróty przydatne podczas pisania obejmują:
- Sugerowane edycje: ChatGPT umieszcza w tekście komentarze i sugestie.
- Dostosuj długość: edytuje długość dokumentu, aby go skrócić lub wydłużyć.
- Zmień poziom czytelnika: dostosowuje tekst do poziomu czytelnika: od przedszkola do szkoły podyplomowej.
- Udoskonal końcową wersję: sprawdzenie gramatyki, przejrzystości i spójności tekstu.
- Dodaj emoji: dodaje stosowne emoji dla podkreślenia treści i dodania koloru.
Kodowanie jest procesem iteracyjnym, w którym śledzenie kolejnych poprawek może być trudne w środowisku czatu. Canvas ułatwia śledzenie i zrozumienie zmian wprowadzanych przez ChatGPT i wpisuje się w nasze wysiłki na rzecz poprawy przejrzystości tego rodzaju korekt.
Skróty przydatne podczas kodowania obejmują:
- Przegląd kodu: ChatGPT sugeruje w tekście możliwe poprawki kodu.
- Dodaj dzienniki: wstawia polecenia print, aby pomóc Ci w debugowaniu i lepszym zrozumieniu Twojego kodu.
- Dodaj komentarze: wstawia komentarze w kodzie ułatwiające jego zrozumienie.
- Napraw błędy: wykrywa i koryguje problematyczne części kodu, aby usunąć błędy.
- Port do języka: tłumaczy kod na JavaScript, TypeScript, Python, Java, C++ lub PHP.
Trenowaliśmy GPT‑4o, aby był mógł współpracować z użytkownikiem jako kreatywny partner. Model wie, w jaki sytuacjach otworzyć Canvas, wprowadzać miejscowe poprawki lub całkowicie przeredagować tekst. Rozumie również szerszy kontekst, co umożliwia mu udzielanie precyzyjnych rad i sugestii.
Aby wesprzeć tę funkcjonalność, nasz zespół badawczy opracował następujące bazowe zachowania:
- Uruchamianie Canvas na potrzeby pisania i kodowania
- Generowanie różnorodnych rodzajów treści
- Wprowadzanie miejscowych poprawek
- Przepisywanie dokumentów
- Dodawanie krytycznych uwag w tekście
Postępy prac mierzyliśmy w toku ponad 20 zautomatyzowanych ocen wewnętrznych. Wykorzystaliśmy nowatorskie techniki generowania syntetycznych danych, takie jak destylacja danych wyjściowych z wersji poglądowej OpenAI o1, w ramach dodatkowego treningu modelu w zakresie podstawowych zachowań. Podejście to umożliwiło nam szybkie reagowanie w kontekście jakości tekstu i nowych interakcji z użytkownikiem, bez konieczności wykorzystywania danych generowanych przez człowieka.
Największym wyzwaniem było zdefiniowanie sytuacji, w których model powinien uruchamiać Canvas. Nauczyliśmy model, aby uruchamiał Canvas w odpowiedzi na takie polecenia jak „Napisz post na blog na temat historii ziaren kawy”, a jednocześnie unikał niepotrzebnych aktywacji w przypadku ogólnych zadań typu „pytanie i odpowiedź”, np. „Pomóż mi ugotować obiad z nowego przepisu”. W przypadku zadań związanych z pisaniem naszym priorytetem było odpowiednie skonfigurowanie „właściwych wyzwalaczy” (kosztem „właściwych czynników niewyzwalających”), co pozwoliło nam na osiągnięcie poziomu 83% w porównaniu do bazowej wersji zero-shot GPT‑4o z poleceniami zawierającymi instrukcje.
Warto zwrócić uwagę na fakt, że jakość tego rodzaju bazowych wyników jest w dużym stopniu zależna od sposobu sformułowania polecenia. W przypadku różnych poleceń wersja bazowa może również osiągać niezadowalające wyniki, jednak z innych względów — przykładowo popełniając podobne błędy w całym zadaniu związanym z pisaniem lub kodowaniem, co skutkuje innym rozkładem błędów i inną formą niezadowalającego działania. W przypadku kodowania celowo skłoniliśmy model do unikania aktywacji, aby nie rozpraszać zaawansowanych użytkowników. Będziemy w dalszym ciągu pracować nad udoskonaleniem tej funkcji na podstawie opinii użytkowników.
Wyzwolenie granicy decyzji kanwy – pisanie i programowanie
W przypadku zadań związanych z pisaniem i kodowaniem poprawiliśmy próg poprawnego uruchomienia Canvas, osiągając poziom odpowiednio 83% i 94% w porównaniu do bazowej wersji zero-shot GPT‑4o z poleceniami zawierającymi instrukcje.
Drugim wyzwaniem było dostosowanie zachowania modelu podczas edycji tekstu już po uruchomieniu Canvas — zwłaszcza pod względem decyzji, kiedy należy wprowadzić miejscowe poprawki, a kiedy całkowicie przepisać tekst. Trenowaliśmy model w kierunku wprowadzania miejscowych poprawek w przypadku, gdy użytkownik wybiera określony tekst z poziomu interfejsu. W przeciwnym wypadku skłania się ku pełnemu przeredagowaniu. Podejście to ewoluuje wraz z kolejnymi poprawkami modelu.
Granica edycji kanwy – pisanie i programowanie
W przypadku zadań związanych z pisaniem lub kodowaniem naszym priorytetem było udoskonalenie miejscowych poprawek w funkcji Canvas. GPT‑4o wykorzystujący Canvas osiąga o 18% lepsze wyniki w porównaniu z bazowym GPT‑4o wykonującym polecenia.
Trenowanie modelu, aby generował wysokiej jakości komentarze, wymagało bardzo uważnej iteracji. W przeciwieństwie do opisanych powyżej problemów, w przypadku których można było w prosty sposób zaadaptować zautomatyzowany system oceny pod uważną kontrolą człowieka, zautomatyzowany pomiar stanowi wyzwanie. Dlatego przeprowadziliśmy ocenę z udziałem ludzi w celu sprawdzenia jakości i dokładności komentarzy. Nasz zintegrowany model Canvas osiągnął wynik lepszy od bazowej wersji zero-shot GPT‑4o z poleceniami zawierającymi instrukcje — o 30% w skali dokładności oraz 16% pod względem jakości. Wskazuje to, że trening syntetyczny pozwala na znaczną poprawę jakości odpowiedzi i zachowania w porównaniu z wersją bazową wykonująca szczegółowe polecenia.
Canvas Suggested Comments
Jakość i funkcjonalna dokładność komentarzy generowanych przez Canvas została oceniona przez ludzkich recenzentów. Nasz model Canvas osiągnął wynik o 30% lepszy pod względem dokładności oraz o 16% lepszy pod względem jakości w porównaniu do bazowej wersji zero-shot GPT‑4o z poleceniami zawierającymi instrukcje.
Dalsza poprawa użyteczności i dostępności AI wymaga ponownego przemyślenia sposobów naszej interakcji z takimi narzędziami. Canvas jest wyrazem nowego podejścia i pierwszą tak dogłębną aktualizacją interfejsu ChatGPT od czasu jego uruchomienia dwa lata temu.
Canvas znajduje się obecnie we wczesnej fazie beta i będziemy nadal intensywnie pracować nad jej udoskonaleniem.
Autor
Kierownik badań
Karina Nguyen
Badania podstawowe
Kai Chen, Michael Wu, Tarun Gogineni
Prace inżynieryjne, produktowe i projektowe
Alexi Christakis, Bryan Ashley, Bryant Jow, Chris Haugli, Daniel Levine, Eric Jiang, Gabriel Peal, Lee Byron, Lukas Gross, Matt Lim, Sara Culver, Thomas Dimson
Współpracownicy
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
Wsparcie ze strony kierownictwa
Akshay Nathan, Barret Zoph, Ian Silber, Joanne Jang, John Schulman, Kevin Weil, Mia Glaese, Mira Murati, Nick Turley, Sam Altman, Sulman Choudhry