Opanowanie AGENTS.md i umiejętności
Twoje sesje Codex ciągle zbaczają z kursu. Agent używa console.log zamiast twojego ustrukturyzowanego loggera. Pisze testy z Jest, podczas gdy twój projekt używa Vitest. Ignoruje twoje wzorce obsługi błędów. Przy każdym prompcie od nowa wyjaśniasz te same ograniczenia. Dokładnie ten problem rozwiązują AGENTS.md i umiejętności — ale tylko wtedy, gdy mają odpowiednią strukturę. Źle napisany AGENTS.md marnuje tokeny kontekstu na wskazówki, które agent ignoruje, podczas gdy dobrze ustrukturyzowany sprawia, że każda sesja zaczyna się z właściwymi ograniczeniami.
Co wyniesiesz z tego artykułu
Dział zatytułowany „Co wyniesiesz z tego artykułu”- Hierarchię AGENTS.md, która skaluje się od osobistych preferencji do konwencji całego zespołu
- Wzorzec nadpisywania dla tymczasowych faz projektu
- Wzorce tworzenia i organizacji umiejętności
- Zarządzanie budżetem kontekstu, aby twoje wskazówki nie wypierały przestrzeni konwersacji
- Techniki debugowania, gdy instrukcje wydają się być ignorowane
Jak działa wykrywanie AGENTS.md
Dział zatytułowany „Jak działa wykrywanie AGENTS.md”Codex buduje swój łańcuch instrukcji na początku sesji, skanując pliki w następującej kolejności:
- Zakres globalny:
~/.codex/AGENTS.override.md(jeśli istnieje), w przeciwnym razie~/.codex/AGENTS.md - Zakres projektu: Zaczynając od korzenia projektu (korzeń Git), przechodząc w dół do twojego bieżącego katalogu roboczego. Na każdym poziomie Codex sprawdza
AGENTS.override.md, potemAGENTS.md, a następnie nazwy zapasowe - Kolejność łączenia: Pliki są konkatenowane od korzenia do liścia. Późniejsze pliki nadpisują wcześniejsze, ponieważ pojawiają się jako ostatnie w połączonym prompcie
Codex dołącza co najwyżej jeden plik na katalog i zatrzymuje się, gdy łączny rozmiar przekroczy project_doc_max_bytes (domyślnie 32 KB).
Wzorzec trzech warstw
Dział zatytułowany „Wzorzec trzech warstw”Warstwa 1: Preferencje globalne
Dział zatytułowany „Warstwa 1: Preferencje globalne”## Umowy robocze- Zawsze uruchamiaj testy po modyfikacji plików źródłowych- Preferuj pnpm przy instalacji zależności- Pytaj przed dodaniem nowych zależności produkcyjnych- Używaj trybu strict TypeScript dla wszystkich nowych plikówUtrzymuj to poniżej 20 linii. To uniwersalne preferencje, które dotyczą każdego repozytorium, w którym pracujesz.
Warstwa 2: Konwencje projektu
Dział zatytułowany „Warstwa 2: Konwencje projektu”## Reguły repozytorium- Używaj Vitest do wszystkich testów (nie Jest)- Stosuj wzorce obsługi błędów z src/lib/errors.ts- Uruchamiaj pnpm lint && pnpm test przed commitem- Nowe endpointy API potrzebują adnotacji OpenAPI- Zmiany w bazie danych wymagają pliku migracji w migrations/Utrzymuj to poniżej 50 linii. Skup się na konwencjach specyficznych dla projektu, które różnią się od twoich globalnych domyślnych ustawień.
Warstwa 3: Reguły specyficzne dla modułu
Dział zatytułowany „Warstwa 3: Reguły specyficzne dla modułu”## Reguły serwisu płatności- Używaj scentralizowanego handlera błędów, nigdy nie rzucaj surowych błędów- Rate limiting musi być dodany do wszystkich publicznych endpointów- Middleware uwierzytelniania znajduje się w src/middleware/auth.ts- Narzędzia testowe znajdują się w tests/utils/api-helpers.ts- Nigdy nie rotuj kluczy API bez powiadomienia kanału bezpieczeństwaUtrzymuj to poniżej 30 linii. Umieszczaj tylko reguły, które dotyczą konkretnie tego modułu.
Wzorzec nadpisywania
Dział zatytułowany „Wzorzec nadpisywania”Użyj AGENTS.override.md dla tymczasowych wskazówek, które nie powinny na stałe rezydować w twoim repozytorium:
# TYMCZASOWE: Usuń po zakończeniu migracji v3 (cel: marzec 2026)
- Wszystkie nowe endpointy muszą używać routera v3 w src/routes/v3/- NIE modyfikuj żadnych tras v1 ani v2- Dokument śledzenia migracji: docs/v3-migration.md- Używaj nowego AuthContext z src/lib/auth-v3.ts dla całego nowego middlewareGdy plik nadpisania istnieje, Codex używa go zamiast zwykłego AGENTS.md na danym poziomie katalogowym. Usuń plik nadpisania, aby przywrócić stałe wskazówki.
Ten wzorzec jest nieoceniony podczas:
- Dużych migracji, gdzie obowiązują tymczasowe reguły
- Wdrażania flag funkcji zmieniających wzorce kodowania
- Obszarów skupienia specyficznych dla sprintu
Zarządzanie budżetem kontekstu
Dział zatytułowany „Zarządzanie budżetem kontekstu”Monitoruj swój budżet
Dział zatytułowany „Monitoruj swój budżet”Każdy token wydany na AGENTS.md to token niedostępny dla konwersacji. Sprawdź swoją alokację:
/statusTo pokazuje pozostały kontekst, załadowane pliki AGENTS.md i aktywne serwery MCP.
Zmniejsz narzut tokenów AGENTS.md
Dział zatytułowany „Zmniejsz narzut tokenów AGENTS.md”| Technika | Wpływ |
|---|---|
| Usuń zbędne wskazówki (rzeczy, które model już wie) | Wysoki |
| Podziel na zagnieżdżone pliki, aby ładowały się tylko odpowiednie warstwy | Średni |
| Usuń przykłady i zostaw tylko reguły | Średni |
| Ogranicz nazwy zapasowe, aby uniknąć ładowania dodatkowych plików | Niski |
Wyłącz nieużywane serwery MCP
Dział zatytułowany „Wyłącz nieużywane serwery MCP”Każdy serwer MCP dodaje schematy narzędzi do kontekstu. Wyłącz te, których nie używasz:
[mcp_servers.unused-server]enabled = falseZwiększ limit bajtów
Dział zatytułowany „Zwiększ limit bajtów”Jeśli twoje wskazówki są rzeczywiście potrzebne i ciągle są obcinane:
project_doc_max_bytes = 65536 # 64 KB (domyślnie: 32 KB)Ale to ostateczność. Najpierw spróbuj podzielić na zagnieżdżone pliki.
Pisanie skutecznych umiejętności
Dział zatytułowany „Pisanie skutecznych umiejętności”Struktura umiejętności
Dział zatytułowany „Struktura umiejętności”Umiejętność to katalog z plikiem SKILL.md:
my-skill/ SKILL.md # Wymagany: instrukcje + metadane scripts/ # Opcjonalny: kod wykonywalny references/ # Opcjonalny: dokumentacja assets/ # Opcjonalny: szablony, zasoby agents/ openai.yaml # Opcjonalny: wygląd UI, zależności MCPFormat SKILL.md
Dział zatytułowany „Format SKILL.md”---name: pr-readydescription: Prepare the current changes for a pull request by running all checks, fixing issues, and generating a PR description.---
# PR Readiness Check
1. Run pnpm lint and fix any issues automatically2. Run pnpm test and fix any failures3. Run pnpm type-check and fix any type errors4. Generate a PR description with: - Summary of changes (what and why) - Testing approach - Breaking changes (if any)5. Report the results with a pass/fail summaryWywoływanie umiejętności
Dział zatytułowany „Wywoływanie umiejętności”Umiejętności można uruchamiać na dwa sposoby:
- Jawne: Wpisz
$pr-readylub użyj/skillsw CLI/App - Niejawne: Codex automatycznie dopasowuje twój prompt do opisu umiejętności
Pisz opisy z wyraźnymi granicami zakresu, aby niejawne dopasowywanie działało niezawodnie.
Gdzie zapisywać umiejętności
Dział zatytułowany „Gdzie zapisywać umiejętności”| Zakres | Lokalizacja | Zastosowanie |
|---|---|---|
| Repozytorium | .agents/skills/ (dowolny katalog do korzenia repo) | Umiejętności współdzielone z zespołem |
| Użytkownik | ~/.agents/skills/ | Osobiste umiejętności dla wszystkich repozytoriów |
| Administrator | /etc/codex/skills/ | Umiejętności organizacyjne |
| System | Dołączone z Codex | Wbudowane umiejętności jak $skill-creator |
Szybkie tworzenie umiejętności
Dział zatytułowany „Szybkie tworzenie umiejętności”Użyj wbudowanego kreatora umiejętności:
$skill-creatorOpisz, co umiejętność powinna robić, a Codex wygeneruje SKILL.md z odpowiednimi metadanymi i instrukcjami.
Instalacja umiejętności społeczności
Dział zatytułowany „Instalacja umiejętności społeczności”$skill-installer install the linear skill from the .experimental folderLub zainstaluj z marketplace umiejętności za pomocą uniwersalnego CLI:
npx skills add openai/skillsWłączanie/wyłączanie umiejętności
Dział zatytułowany „Włączanie/wyłączanie umiejętności”[[skills.config]]path = "/path/to/skill/SKILL.md"enabled = falseNazwy zapasowe
Dział zatytułowany „Nazwy zapasowe”Jeśli twój zespół już używa innej nazwy pliku dla instrukcji projektu:
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md", "CODEX.md"]Codex sprawdza każdy katalog w tej kolejności: AGENTS.override.md, AGENTS.md, a następnie każdą nazwę zapasową. Pozwala to wdrożyć Codex bez zmiany nazw istniejącej dokumentacji.
Debugowanie problemów ze wskazówkami
Dział zatytułowany „Debugowanie problemów ze wskazówkami”Zweryfikuj, co się załadowało
Dział zatytułowany „Zweryfikuj, co się załadowało”codex --ask-for-approval never "Summarize the current instructions and list all instruction files you loaded."Codex wypisze wskazówki w kolejności priorytetów.
Sprawdź pliki nadpisania
Dział zatytułowany „Sprawdź pliki nadpisania”AGENTS.override.md wyżej w drzewie katalogów może cicho zastąpić zwykły AGENTS.md. Wyszukaj nadpisania:
find . -name "AGENTS.override.md" -type fZweryfikuj wykrywanie korzenia projektu
Dział zatytułowany „Zweryfikuj wykrywanie korzenia projektu”Codex domyślnie używa .git jako znacznika korzenia projektu. Jeśli twoja przestrzeń robocza ma nietypową strukturę:
project_root_markers = [".git", ".hg", ".sl"]Lub wyłącz skanowanie katalogów nadrzędnych całkowicie:
project_root_markers = []Gdy coś się psuje
Dział zatytułowany „Gdy coś się psuje”- Agent ignoruje instrukcje: Wskazówki mogły zostać skompaktowane podczas długiej sesji. Powtórz krytyczne ograniczenia w swoim bieżącym prompcie lub rozpocznij nowy wątek.
- AGENTS.md się nie ładuje: Sprawdź, czy plik nie jest pusty. Upewnij się, że
project_doc_max_bytesnie został przekroczony. Uruchom powyższy prompt weryfikacyjny. - Plik nadpisania powoduje zamieszanie: Poszukaj plików
AGENTS.override.md, o których mogłeś zapomnieć. Usuń tymczasowe nadpisania, gdy ich cel zostanie zrealizowany. - Umiejętności się nie pojawiają: Umiejętności muszą znajdować się w katalogach
.agents/skills/. Codex skanuje od bieżącego katalogu w górę do korzenia repozytorium. Uruchom ponownie Codex, jeśli nowo dodana umiejętność się nie pojawia. - Zadania w chmurze ignorują konwencje: Środowiska chmurowe używają AGENTS.md zacommitowanego do repozytorium, a nie twoich lokalnych plików. Upewnij się, że krytyczne wskazówki są zacommitowane.
Co dalej
Dział zatytułowany „Co dalej”- Zaawansowane techniki — Połącz AGENTS.md z profilami i automatyzacjami
- Współpraca zespołowa — Skaluj AGENTS.md w swoim zespole inżynieryjnym
- Instalacja i konfiguracja — Ustawienia konfiguracji uzupełniające AGENTS.md