Zaplanowana automatyzacja zadań z Codex
Jest poniedziałek rano. W weekend opublikowano trzy podatności zależności, ktoś scalił commit ze statementem console.log, a pokrycie testami modułu płatności spadło z 85% do 72%. Dowiadujesz się o tym podczas standupu. Ale gdybyś skonfigurował automatyzacje Codex w piątek, przyszedłbyś do spriorytetyzowanej skrzynki, w której każdy problem został już zidentyfikowany, przeanalizowany i — w niektórych przypadkach — naprawiony.
Czego się nauczysz
Dział zatytułowany „Czego się nauczysz”- Gotowe do użycia prompty automatyzacji dla najczęstszych powtarzalnych zadań programistycznych
- Przepływ pracy do bezpiecznego testowania automatyzacji przed zaplanowaniem ich
- Techniki łączenia automatyzacji z umiejętnościami dla złożonych wieloetapowych przepływów pracy
- Konfigurację bezpieczeństwa i sandboxa dla nienadzorowanych zadań w tle
Przepływ pracy
Dział zatytułowany „Przepływ pracy”Jak działają automatyzacje
Dział zatytułowany „Jak działają automatyzacje”Automatyzacje uruchamiają się lokalnie w aplikacji Codex według zdefiniowanego przez ciebie harmonogramu. Każde uruchomienie:
- Tworzy nowy worktree (dla repozytoriów Git), więc nigdy nie dotyka twojego głównego checkout
- Wykonuje prompt z domyślnymi ustawieniami sandboxa
- Raportuje ustalenia do skrzynki Automatyzacji na pasku bocznym aplikacji Codex
- Automatycznie archiwizuje uruchomienie, jeśli nie ma nic do zgłoszenia
Potrzebujesz uruchomionej aplikacji Codex i projektu dostępnego na dysku, aby automatyzacje mogły się wykonać.
Krok 1: Testuj przed zaplanowaniem
Dział zatytułowany „Krok 1: Testuj przed zaplanowaniem”Nigdy nie planuj automatyzacji na ślepo. Najpierw przetestuj prompt ręcznie w zwykłym wątku.
- Otwórz aplikację Codex i utwórz nowy wątek w tym samym projekcie.
- Wybierz tryb Worktree (ponieważ automatyzacje używają worktree).
- Wklej prompt automatyzacji i uruchom go.
- Przejrzyj wyniki: Czy znalazł właściwe rzeczy? Czy wprowadził odpowiednie zmiany? Czy pozostał w zakresie?
Iteruj prompt, aż będziesz zadowolony, a następnie utwórz automatyzację z przetestowanym promptem.
Krok 2: Skonfiguruj podstawowe automatyzacje
Dział zatytułowany „Krok 2: Skonfiguruj podstawowe automatyzacje”Oto automatyzacje, które większość zespołów powinna uruchomić od pierwszego dnia:
Codziennie: Kontrola jakości kodu
Dział zatytułowany „Codziennie: Kontrola jakości kodu”Cotygodniowo: Zdrowie zależności
Dział zatytułowany „Cotygodniowo: Zdrowie zależności”Co noc: Łowca błędów
Dział zatytułowany „Co noc: Łowca błędów”To jest podobne do wzorca umiejętności $recent-code-bugfix z oficjalnej dokumentacji Codex. Możesz również utworzyć umiejętność i wywołać ją z automatyzacji:
Check my commits from the last 24h and submit a $recent-code-bugfix.Cotygodniowo: Wykrywanie dryfu architektonicznego
Dział zatytułowany „Cotygodniowo: Wykrywanie dryfu architektonicznego”Weekly architecture check:
1. Pull the latest from origin/main2. Compare the current codebase structure against docs/ARCHITECTURE.md3. Check for: - New directories or modules not documented - Documented modules that no longer exist - New cross-module dependencies that violate documented boundaries - New external service integrations not mentioned in the architecture doc4. If drift is detected, update docs/ARCHITECTURE.md to match reality
Report what changed and whether it represents intentional evolution or accidental drift.Codziennie: Briefing aktywności zespołu
Dział zatytułowany „Codziennie: Briefing aktywności zespołu”Krok 3: Łącz automatyzacje z umiejętnościami
Dział zatytułowany „Krok 3: Łącz automatyzacje z umiejętnościami”Umiejętności pozwalają enkapsulować złożone przepływy pracy, które automatyzacje mogą wywoływać. Utwórz umiejętność, zapisz ją w katalogu umiejętności osobistych lub repozytoryjnych i odwołuj się do niej za pomocą $skill-name w prompcie automatyzacji.
Przykład: Utwórz umiejętność $test-coverage-report, która wie, jak uruchomić pokrycie, porównać z bazowymi wartościami i sformatować wynik. Wtedy automatyzacja staje się:
Run $test-coverage-report on the latest main branch. If coverage dropped on any module, investigate and propose tests to restore it.Umiejętności czynią automatyzacje bardziej utrzymywalnymi: zaktualizuj umiejętność raz, a każda automatyzacja, która jej używa, otrzymuje ulepszenie.
Krok 4: Skonfiguruj bezpieczeństwo dla zadań w tle
Dział zatytułowany „Krok 4: Skonfiguruj bezpieczeństwo dla zadań w tle”Automatyzacje uruchamiają się z domyślnymi ustawieniami sandboxa. Ponieważ działają nienadzorowane, konfiguracja bezpieczeństwa ma znaczenie.
Zalecane ustawienia sandboxa dla automatyzacji:
- workspace-write (domyślna rekomendacja) — pozwala Codex czytać i modyfikować pliki w projekcie. Wywołania narzędzi wymagające sieci lub dostępu poza workspace kończą się niepowodzeniem, chyba że jawnie dozwolone.
- Użyj rules, aby selektywnie zezwolić na konkretne polecenia (na przykład zezwól na
npm audit, który wymaga dostępu do sieci).
# Example rule allowing npm audit in automations[[rules]]match = "npm audit"action = "allow"Polityka zatwierdzania:
Automatyzacje używają approval_policy = "never", gdy twoja organizacja na to pozwala, aby mogły działać bez oczekiwania na ręczne zatwierdzenie. Jeśli administrator to ograniczył, automatyzacje wracają do wybranego trybu zatwierdzania — co może oznaczać, że zatrzymują się i czekają na zatwierdzenie, niwecząc cel. Sprawdź wymagania swojej organizacji.
Krok 5: Zarządzaj skrzynką automatyzacji
Dział zatytułowany „Krok 5: Zarządzaj skrzynką automatyzacji”Panel Automatyzacji na pasku bocznym aplikacji Codex to twoja skrzynka. Ma sekcję Triage, gdzie pojawiają się uruchomienia automatyzacji z ustaleniami. Możesz:
- Filtrować, aby wyświetlić Wszystkie uruchomienia lub tylko Nieprzeczytane
- Kliknąć w uruchomienie, aby zobaczyć pełną konwersację i różnice
- Archiwizować uruchomienia, które obsłużyłeś
- Przypiąć uruchomienia, które chcesz zachować (to również zapobiega czyszczeniu worktree)
Zbuduj rutynę: każdego ranka sprawdź skrzynkę automatyzacji przed standupem. Obsłuż ustalenia, zsynchronizuj poprawki do lokalu i archiwizuj ukończone elementy.
Kiedy to nie działa
Dział zatytułowany „Kiedy to nie działa”Automatyzacja działa, gdy nie patrzysz, i wprowadza niezamierzone zmiany. Jeśli sandbox jest ustawiony na pełny dostęp, a prompt jest niejasny, Codex może modyfikować pliki w nieoczekiwany sposób. Użyj trybu workspace-write i przejrzyj kilka pierwszych uruchomień każdej nowej automatyzacji, zanim jej zaufasz. Izolacja worktree chroni twój główny checkout, ale zmiany w worktree mogą nadal być synchronizowane lub przekształcane w PR.
Nagromadzenie worktree z częstych automatyzacji. Codzienne automatyzacje tworzą jeden worktree na uruchomienie. W ciągu tygodnia to 7 worktree tylko dla jednej automatyzacji. Codex czyści worktree starsze niż 4 dni (gdy masz ich więcej niż 10), ale częste automatyzacje mogą się nadal gromadzić. Archiwizuj uruchomienia szybko i nie przypinaj ich, chyba że musisz zachować worktree.
Automatyzacja zgłasza te same ustalenia każdego dnia. Jeśli błąd lintingu jest w bazie kodu od tygodni i nikt go nie naprawia, codzienna automatyzacja ciągle go zgłasza. Dodaj mechanizm ignorowania: “Skip issues listed in .automation-ignore.json. Only report new findings since the last run.”
Aplikacja Codex musi być uruchomiona. Automatyzacje są lokalne — działają na twojej maszynie w aplikacji Codex. Jeśli zamkniesz aplikację lub twoja maszyna śpi, automatyzacje nie uruchomią się. Włącz “Prevent sleep while running” w ustawieniach aplikacji, jeśli chcesz, aby nocne automatyzacje się ukończyły. Dla prawdziwie nienadzorowanej automatyzacji rozważ Codex SDK lub GitHub Action do wykonywania po stronie serwera.