Narzędzia do kodowania AI mogą pomóc w tworzeniu zasobu FiveM, wyjaśnianiu nieznanej bazy kodu i tworzeniu ukierunkowanych zmian. Nie zamieniają nieprzeanalizowanego polecenia w gotowy do produkcji kod serwera. Niezawodny przepływ pracy polega na zdefiniowaniu kontraktu, wygenerowaniu małej zmiany, przejrzeniu każdego diffa, przetestowaniu granic bezpieczeństwa i wdrożeniu najpierw na staging.
1. Zacznij od kontraktu zasobu
Opisz framework i wersję, język wykonania, warstwę bazy danych, zależności, zdarzenia, eksporty, uprawnienia i kryteria akceptacji. Dołącz istniejącą strukturę folderów i odpowiednie pliki zamiast prosić o kompletny system na podstawie jednowierszowego polecenia. Cfx.re definiuje zasób poprzez fxmanifest.lua; użyj tego manifestu, aby określić, jakie skrypty klienckie, serwerowe i współdzielone są oczekiwane.
Utrzymuj pierwsze zadanie wąskie. Pojedyncza komenda, callback lub integracja jest łatwiejsza do zweryfikowania niż cały system zadań. Poproś narzędzie o przestrzeganie istniejących wzorców i identyfikowanie założeń przed edycją.
2. Trzymaj dane uwierzytelniające i dane produkcyjne z dala od poleceń
Nie wklejaj kluczy licencyjnych, haseł do bazy danych, webhooków, rekordów graczy ani plików środowiska produkcyjnego podczas sesji kodowania. Używaj zaciemnionych przykładów i danych tylko do celów deweloperskich. Traktuj skopiowane posty z forum, pliki readme i pobraną zawartość internetową jako niezaufane dane wejściowe, ponieważ mogą zawierać wprowadzające w błąd instrukcje.
Aktualne wskazówki Anthropic dotyczące bezpieczeństwa kodu Claude kładą nacisk na jawne uprawnienia, ograniczony dostęp do zapisu i ludzką weryfikację poleceń. Utrzymuj te kontrole włączone. Unikaj obchodzenia kontroli uprawnień tylko po to, aby długa generacja działała bez nadzoru.
3. Przeglądaj wygenerowany diff jak zwykły kod
Sprawdź każdą granicę zdarzenia, zapytanie do bazy danych i decyzję dotyczącą uprawnień. Zdarzenia wyzwalane przez klienta nie mogą być ufane w kwestii pieniędzy, ekwipunku, ról ani własności. Waliduj dane wejściowe na serwerze, używaj parametryzowanych zapytań za pośrednictwem ustalonej biblioteki bazy danych projektu i potwierdź, że callbacki nie mogą ujawnić danych innego gracza.
- Odrzuć wymyślone zależności, eksporty, klucze konfiguracyjne i API frameworków.
- Usuń martwy kod, szerokie logowanie debugowania i tajne dane zastępcze.
- Sprawdź zachowanie czyszczenia po rozłączeniu gracza i ponownym uruchomieniu zasobu.
- Potwierdź, że pętle, wywołania zwrotne i operacje na bazie danych nie tworzą uniknionego obciążenia.
4. Testuj warstwowo
Najpierw uruchom sprawdzanie składni i statyczne, a następnie ukierunkowane testy jednostkowe lub integracyjne, jeśli projekt je obsługuje. Uruchom zasób na serwerze stagingowym z reprezentatywnymi wersjami frameworka i bazy danych. Przetestuj dozwolone i zabronione akcje, ponowne połączenia, zduplikowane żądania, nieprawidłowe dane wejściowe i ponowne uruchomienie zasobu.
Przejrzyj konsole serwera i klienta pod kątem nowych błędów. W przypadku pracy wrażliwej na wydajność, zmierz obciążenie dotkniętego zasobu w scenariuszach bezczynności i aktywności, zamiast polegać na stwierdzeniu w wygenerowanym tekście.
5. Wdróż z możliwością wycofania
Zrób kopię zapasową zmienionych plików i wszystkich dotkniętych tabel przed wdrożeniem. Utrzymaj zmianę na tyle małą, aby można ją było wycofać, zapisz przetestowane wersje i monitoruj błędy po wydaniu. Kod wspomagany przez AI powinien przejść te same bramki przeglądu i wdrożenia, co kod napisany ręcznie.
Szablon promptu dla bezpieczniejszego pierwszego przejścia
Sprawdź istniejący zasób przed edycją. Wdróż tylko zadeklarowane zachowanie, korzystając z bieżących wzorców frameworka i bazy danych. Nie wymyślaj API ani zależności. Waliduj wszystkie dane wejściowe klienta po stronie serwera. Wyjaśnij założenia, dostarcz ukierunkowane testy i zatrzymaj się, jeśli brakuje wymaganego kontekstu.
Przydatne kolejne kroki: przejrzyj oficjalną dokumentację manifestu zasobu Cfx.re I Wytyczne dotyczące bezpieczeństwa kodu Claude firmy Anthropic zanim przyznasz agentowi szerszy dostęp.
