Predloga za implementacijo kontekstnega inženiringa
Kontekstni inženiring je lahko tudi do 10x boljši od “Prompt engineering” metode in pa vsaj 100x boljši od “Vibe Codinga” (kodiranja z neizogibnimi halucinacijami).
🚀 Hitri začetek
Razdelek z naslovom „🚀 Hitri začetek”# 1. Klonirajte to predlogogit clone https://github.com/coleam00/Context-Engineering-Intro.gitcd Context-Engineering-Intro
# 2. Nastavite pravila projekta (neobvezno - predloga je na voljo)# Uredite CLAUDE.md za dodajanje vaših projektno specifičnih smernic
# 3. Dodajte primere (zelo priporočljivo)# Ustvarite relevantne primere kode v mapo examples/
# 4. Ustvarite vašo začetno zahtevo po funkciji (PRD)# Uredite INITIAL.md z vašimi zahtevami po funkciji
# 5. Generirajte celovit [PRP] (Product Requirements Prompt)# V [Claude Code], zaženite:/generate-prp INITIAL.md
# 6. Izvedite [PRP] za implementacijo vaše funkcije# V [Claude Code], zaženite:/execute-prp PRPs/your-feature-name.mdKaj je kontekstni inženiring?
Razdelek z naslovom „Kaj je kontekstni inženiring?”Kontekstni inženiring predstavlja tektonski premik v primerjavi s klasično “Prompt engineering” metodo:
Inženiranje pozivov proti kontekstnemu inženiranju
Razdelek z naslovom „Inženiranje pozivov proti kontekstnemu inženiranju”Prompt engineering:
- Osredotoča se na pametno besedilo in specifično frazo
- Omejeno na to, kako definirate nalogo
- Kot da nekemu posredujete lepljiv listek (Sticky Note)
Kontekstni inženiring:
- Popoln vpogled v sistem (za zagotavljanje celovitega konteksta)
- Vključuje dokumentacijo, primere, pravila, vzorce in validacijo
- Kot pisanje celovitega scenarija z vsemi relevantnimi podrobnostmi
Zakaj je kontekstni inženiring pomemben
Razdelek z naslovom „Zakaj je kontekstni inženiring pomemben”- Zmanjšuje napake AI: Večina napak agentov niso napake modelov - so napake zaradi pomanjkanja konteksta
- Zagotavlja doslednost: AI sledi korak po korak vašim vzorcem in konvencijam projekta
- Omogoča kompleksne funkcije: AI lahko obravnava večstopenjske implementacije s pravilnim kontekstom, vnaprej napiše relevantne teste in se dosledno drži test driven development procedure
- Samopopravljanje: Validacijske zanke omogočajo umetni inteligenci, da sama popravi svoje lastne napake (evolving on errors)
Struktura predloge
Razdelek z naslovom „Struktura predloge”context-engineering-intro/├── .claude/│ ├── commands/│ │ ├── generate-prp.md # Generira celovite [PRP]│ │ └── execute-prp.md # Izvaja [PRP] za implementacijo funkcij│ └── settings.local.json # Dovoljenja [Claude Code]├── PRPs/│ ├── templates/│ │ └── prp_base.md # Osnovna predloga za [PRP]│ └── EXAMPLE_multi_agent_prp.md # Primer popolnega [PRP]├── examples/ # Vaši primeri kode (kritično!)├── CLAUDE.md # Globalna pravila za AI pomočnika├── INITIAL.md # Predloga za zahteve po funkcijah├── INITIAL_EXAMPLE.md # Primer zahteve po funkciji└── README.md # Ta datotekaTa predloga se ne osredotoča na implementaciji [RAG] (Retrieval-Augmented Generation) okolja. Implementacija le te, je naslednji logičen korak za izboljšanje dela s kontekstnim inženiringom. Za zagotavljanje kompaktnosti te dokumentacije opis RAG zahteva celoten lasten dokument (TODO).
Prvi koraki
Razdelek z naslovom „Prvi koraki”1. Nastavitev globalnih pravil v CLAUDE.md
Razdelek z naslovom „1. Nastavitev globalnih pravil v CLAUDE.md”Datoteka CLAUDE.md vsebuje pravila na projektni ravni. AI pomočnik jim bo sledil v vsakem pogovoru. Predloga vključuje:
- Pridobivanje informacij o projektu: Branje dokumentov za načrtovanje, preverjanje nalog
- Struktura kode: Omejitve velikosti datotek, organizacija modulov
- Zahteve testiranja: “Test Driven Development” - TDD. Za novo kodo najprej kreiraj test. Kategorije: Vzorci enotnih testov, pričakovanja pokritosti
- Slogovne konvencije: Jezikovne preference, pravila oblikovanja
- Standardi dokumentacije: Formati docstringov, prakse komentiranja, json & Markdown format za bolj standardizirano komunikacijo med LLM modeli
Priporočamo, da predlogo prilagodite za vaš projekt, lahko pa jo uporabite tako kot je.
2. Ustvarite vašo začetno zahtevo po funkcionalnosti (PRD)
Razdelek z naslovom „2. Ustvarite vašo začetno zahtevo po funkcionalnosti (PRD)”Uredite INITIAL.md za opis projekta, ki ga želite zgraditi:
## FUNKCIJA:[Opišite, kaj želite zgraditi - bodite specifični glede funkcionalnosti in zahtev]
## PRIMERI:[Naštejte morebitne primerne datoteke v mapi examples/ in razložite, kako naj se uporabljajo]
## DOKUMENTACIJA:[Vključite povezave do relevantne dokumentacije, API-jev ali eksternih strežnikov po protokolu Model Context Protocol [MCP]]
## DRUGI POMISLEKI:[Omenite morebitne pasti, specifične zahteve ali stvari, ki jih AI pomočniki pogosto spregledajo]Glejte INITIAL_EXAMPLE.md za popoln primer.
3. Generirajte [PRP]
Razdelek z naslovom „3. Generirajte [PRP]”[PRP] (Product Requirements Prompts) so celoviti načrti implementacije, ki vključujejo:
- Popoln kontekst in dokumentacijo
- Korake implementacije z validacijo
- Vzorci obravnavanja napak
- Zahteve testiranja
Podobni so [PRD] (Product Requirements Documents), vendar so oblikovani bolj specifično za navodila AI asistentu za kodiranje.
Zaženite v [Claude Code]:
/generate-prp INITIAL.mdOpomba: Poševni ukazi so prilagojene funkcije, definirane v .claude/commands/. Primer njihove implementacije:
.claude/commands/generate-prp.md- kako raziskuje in ustvarja [PRP].claude/commands/execute-prp.md- kako implementira funkcije iz [PRP]
Spremenljivka $ARGUMENTS doda kar koli podate po imenu ukaza (npr. INITIAL.md ali PRPs/your-feature.md).
Ta ukaz bo:
- Prebral vašo zahtevo po funkcionalnosti
- Raziskal kodo za vzorce
- Poiskal relevantno dokumentacijo
- Ustvaril celovit [PRP] v
PRPs/your-feature-name.md
4. Izvedite [PRP]
Razdelek z naslovom „4. Izvedite [PRP]”Ko je generiran, izvedite [PRP] za implementacijo vaše funkcije:
/execute-prp PRPs/your-feature-name.mdAI asistent bo:
- Prebral celoten kontekst iz [PRP]
- Ustvaril podroben načrt za implementacijo
- Korak po korak izvedel dodano kodo in pričel s samodejno validacijo
- Poganjal teste in popravil morebitne težave
- Zagotovil, da so vsi kriteriji uspeha izpolnjeni
Pisanje učinkovite INITIAL.md datoteke
Razdelek z naslovom „Pisanje učinkovite INITIAL.md datoteke”Poskrbite, da so ključni elementi dobro razloženi
Razdelek z naslovom „Poskrbite, da so ključni elementi dobro razloženi”FUNKCIJA: Bodite specifični, celoviti in natančni
- ❌ “Zgradite web-scraper”
- ✅ “Zgradite asinhroni spletni web-scraper z uporabo BeautifulSoup, ki shranjuje podatke o izdelkih iz e-commerce strani, upošteva omejevanje hitrosti (rate-limit) in shranjuje rezultate v PostgreSQL bazo podatkov”
PRIMERI: Uporabite mapo examples/
- Postavite relevantne delujoče vzorce kode v
examples/ - Sklicujte se na specifične datoteke in vzorce, ki preverjeno delujejo iz prejšnjih projektov
- Razložite kateri vidiki naj se posnemajo, da AI po nepotrebnem ne “kuri” žetonov LLM providerja, ampak upošteva rešitev iz delujočega primera
DOKUMENTACIJA: Vključite vse relevantne vire
- URL-ji dokumentacije API
- Vodniki knjižnic [Context 7 MCP]
- Dokumentacija strežnikov [MCP]
- Sheme baz podatkov [Prisma ORM]
DRUGI POMISLEKI: Načrtujte pomembne podrobnosti
- Zahteve avtentikacije
- Omejitve hitrosti ali kvote za LLM modele
- Pogoste pasti
- Zahteve zmogljivosti
Delovni tok [PRP]
Razdelek z naslovom „Delovni tok [PRP]”Kako deluje /generate-prp
Razdelek z naslovom „Kako deluje /generate-prp”Ukaz sledi temu procesu:
-
Faza raziskovanja
- Analizira vašo kodo in prepozna vzorce
- Išče podobne implementacije
- Identificira konvencije, ki jim mora slediti
-
Zbiranje dokumentacije
- Pridobi relevantno dokumentacijo API
- Vključi dokumentacijo knjižnic
- Doda pasti in posebnosti
-
Ustvarjanje načrta
- Ustvari korak-po-korak načrt implementacije
- Vključi validacijske prehode
- Doda zahteve testiranja
-
Preverjanje kakovosti
- Oceni raven zaupanja (1-10)
- Zagotovi, da je ves kontekst vključen
Kako deluje /execute-prp
Razdelek z naslovom „Kako deluje /execute-prp”- Nalaganje konteksta: Prebere celoten [PRP]
- Načrtovanje: Ustvari podroben seznam nalog z uporabo “TodoWrite”
- Izvedba: Implementira vsako komponento
- Validacija: Požene teste in linting
- Iteracija: Popravi morebitne najdene težave
- Konec: Zagotovi, da so vse zahteve izpolnjene
Glejte PRPs/EXAMPLE_multi_agent_prp.md za popoln primer načrtovanja generiranja.
Učinkovita uporaba primerov
Razdelek z naslovom „Učinkovita uporaba primerov”Mapa examples/ je kritična za uspeh. AI asistent delujejo veliko bolje, ko lahko vidi vzorce katerim nato sledi.
Kaj vključiti v primere
Razdelek z naslovom „Kaj vključiti v primere”-
Vzorci strukture kode
- Kako organizirate module
- Konvencije uvozov
- Vzorci razredov/funkcij
-
Vzorci testiranja
- Struktura testnih datotek
- Pristopi posnemanja
- Slogi trditev
-
Vzorci integracije
- Implementacije API točk
- Povezave baz podatkov
- Tokovi avtentikacije
-
Vzorci CLI
- Razčlenjevanje argumentov
- Oblikovanje izhoda
- Obravnava napak
Struktura primera
Razdelek z naslovom „Struktura primera”examples/├── README.md # Razloži, kaj vsak primer demonstrira├── cli.py # Vzor implementacije CLI├── agent/ # Vzorci arhitekture agentov│ ├── agent.py # Vzor ustvarjanja agentov│ ├── tools.py # Vzor implementacije orodij│ └── providers.py # Vzor več ponudnikov└── tests/ # Vzorci testiranja ├── test_agent.py # Vzorci enotnih testov └── conftest.py # Konfiguracija PytestNajboljše prakse
Razdelek z naslovom „Najboljše prakse”1. Bodite eksplicitni v INITIAL.md
Razdelek z naslovom „1. Bodite eksplicitni v INITIAL.md”- Ne predpostavljajte, da AI pozna vaše preference
- Vključite specifične zahteve in omejitve
- Sklicujte se na primere
2. Zagotovite celovite primere
Razdelek z naslovom „2. Zagotovite celovite primere”- Več primerov = boljša implementacija
- Definirajte, kaj storiti IN česa ne storiti
- Vključite vzorce obravnavanja napak
3. Uporabite validacijske prehode
Razdelek z naslovom „3. Uporabite validacijske prehode”- [PRP] vključujejo testne ukaze, ki morajo uspeti
- AI bo iteriral, dokler vse validacije ne uspejo
- To zagotavlja delujočo kodo že ob prvem poskusu
4. Izkoristite dokumentacijo
Razdelek z naslovom „4. Izkoristite dokumentacijo”- Vključite uradno dokumentacijo API
- Dodajte vire strežnikov [MCP]
- Sklicujte se na specifične razdelke dokumentacije
5. Prilagodite CLAUDE.md
Razdelek z naslovom „5. Prilagodite CLAUDE.md”- Dodajte svoje konvencije
- Vključite projektno specifična pravila
- Določite standarde kodiranja