Codex Cloud pozwala połączyć repozytorium GitHub z chmurowym środowiskiem, zlecić w nim ograniczoną zmianę, a następnie przejrzeć diff, testy i pull request. Zanim zaczniesz, sprawdź dostęp do funkcji i przygotuj środowisko; publikacja zapisuje punkt startowy dla zadań, nie wdraża aplikacji.

Anglojęzyczny poradnik proflead o łączeniu GitHub z Codex Cloud i pracy nad pull requestem

Zanim połączysz GitHub

OpenAI wymienia Codex Cloud jako funkcję dostępną w planach Plus, Pro, Business i Enterprise/Education. Dostęp przez klucz API nie jest obsługiwany, a uprawnienia przestrzeni roboczej mogą dodatkowo wpływać na możliwość korzystania z funkcji. Zestawienie planów i dostępnych funkcji OpenAI

Wybierz repozytorium, które znasz i którego testy możesz uruchomić. Przygotuj też informacje o wymaganych usługach, prywatnych rejestrach pakietów i danych konfiguracyjnych. Jeśli zadanie ma korzystać z zewnętrznej usługi, sama zgoda na jej adres nie zapewnia ani poświadczeń, ani uprawnień do tej usługi.

Przygotuj i opublikuj środowisko

  1. Utwórz środowisko i wybierz repozytorium. W widoku internetowym lub aplikacji komputerowej przejdź do Work in → Cloud → Select environment → Create environment, wybierz repozytorium GitHub, a jeśli pojawi się prośba, połącz konto GitHub. Następnie wybierz Get started. Codex przygotuje konfigurację na podstawie repozytorium. Instrukcja środowisk chmurowych OpenAI
  2. Przejrzyj konfigurację i raport przygotowania. Sprawdź wymagane zależności, narzędzia, wersje środowiska uruchomieniowego i polecenia testowe. Uzupełnij brakujące informacje lub dostęp do usług, których projekt potrzebuje.
  3. Opublikuj środowisko po sprawdzeniu zmian. Nowe zadania korzystają z opublikowanego środowiska jako punktu startowego. Jeśli później zmienisz konfigurację, przetestuj ją i opublikuj ponownie. Już rozpoczęte zadania zachowują własne pliki i zmiany, w tym zmiany niezatwierdzone. Publikacja środowiska nie wdraża aplikacji. Dokumentacja OpenAI

Zleć zmianę, którą da się sprawdzić

  1. Najpierw poproś o wyjaśnienie projektu. W swoim poradniku proflead zaczyna od prośby o opis repozytorium, a dopiero później zleca poprawkę w przykładzie JavaScript. Taki początek pomaga ustalić, które zachowanie i pliki obejmuje zadanie. Opis przebiegu proflead
  2. Opisz oczekiwany wynik i granice pracy. Wskaż problem, pożądane zachowanie, przypadki regresji oraz polecenia, które mają sprawdzić zmianę. Dopisz, czego zadanie nie powinno zmieniać, na przykład niezwiązanych plików ani zależności. W przykładzie proflead poprawka dotyczyła granic wyszukiwania w tablicy JavaScript; to ilustracja pojedynczego zadania, nie gwarancja wyniku dla innych projektów. Poradnik proflead

Sprawdź diff i pull request

  1. Przejrzyj zmienione pliki i testy. Porównaj diff z zakresem zadania, sprawdź dane wejściowe testów i ich wyniki, a następnie uruchom testy projektu. Sam pomyślny raport testów nie zastępuje oceny, czy testy obejmują wymagane przypadki.
  2. Otwórz pull request i sprawdź jego szczegóły. Zweryfikuj branch źródłowy i docelowy, opis, zmiany oraz wyniki CI. Brak konfliktów z branchem bazowym oznacza, że GitHub nie wykrywa konfliktu scalania; nie potwierdza poprawności działania kodu. Te elementy przeglądu opisuje proflead w swoim walkthrough. Opis procesu proflead
  3. W razie potrzeby pobierz branch do lokalnego repozytorium. Najpierw sprawdź git status, aby nie przełączyć się z niezapisanymi zmianami. Następnie pobierz dane z GitHuba i przejdź na branch pull requesta:git remote -v git fetch origin git switch --track origin/your-task-branch Zastąp your-task-branch nazwą właściwego brancha. Po checkoutcie uruchom testy w lokalnej kopii. Polecenia i wskazówki proflead

Zasoby, stan zadania i dostęp do sieci

Domyślne zasoby maszyny wirtualnej (VM) zależą od grupy planów. OpenAI podaje następujące konfiguracje dla pojedynczego zadania: dokumentacja środowisk chmurowych

Grupa planówvCPUPamięćDysk
Plus, Edu Plus28 GiB8 GiB
Pro, Business, Enterprise, Edu, Edu Pro416 GiB32 GiB

Rozmiar VM ma znaczenie, gdy oceniasz, czy projekt zmieści się w domyślnych zasobach. Nie porównuj wyników zadań tak, jakby warunki były identyczne, jeśli różnią się konfiguracją VM lub testami.

OpenAI podaje, że zapisany stan VM można odzyskać do siedmiu dni od rozpoczęcia ostatniej tury zadania lub wznowienia zadania. To ułatwia powrót do pracy, ale nie zastępuje kontroli wersji ani zapisywania zmian w Git. Dokumentacja OpenAI

Zmienne środowiskowe a sekrety sieciowe

Wybór sposobu przekazania poświadczeń zależy od tego, jak program ma z nich korzystać. OpenAI rozróżnia zmienne środowiskowe przekazywane bezpośrednio programom od sekretów sieciowych, które środowisko udostępnia jako wartość zastępczą, a proxy podmienia na właściwe poświadczenie dla dozwolonego celu. Dokumentacja OpenAI o środowiskach i sekretach

MetodaCo otrzymuje programCel i warunek
Zmienna środowiskowaWartość przekazaną bezpośrednio programowiZgodnie z konfiguracją środowiska
Sekret sieciowyWartość zastępczą; proxy podstawia właściwe poświadczenieDozwolony adres HTTPS na porcie 443

Dopuszczenie hosta do ruchu sieciowego nie przyznaje samo w sobie dostępu do usługi. Osobno skonfiguruj wymagane poświadczenia i uprawnienia. Prywatna sieć również wymaga osobnej konfiguracji: OpenAI opisuje dostęp VPN z użyciem Tailscale, przy czym trzeba ustawić reguły dostępu VPN i ustawienia sieci środowiska. Zadanie nie dziedziczy automatycznie połączenia VPN z laptopa. Dokumentacja OpenAI

OpenAI wskazuje też, że środowiska chmurowe nie obsługują obecnie użycia komputera ani przeglądarki, GitLaba ani samodzielnie hostowanego GitHub Enterprise Server. Wiadomości w chmurze i lokalne wiadomości korzystają ze wspólnego limitu użycia planu; zadania chmurowe mogą zużywać go więcej, a zużycie zależy od modelu i zadania. Dokumentacja środowisk OpenAI Zestawienie planów OpenAI