Selvkonsistens og generert kunnskap
Implementer teknikker der LLM-er genererer flere resonnementsløp og velger det mest konsistente svaret, eller genererer kunnskap som støtte for resonnementet.
Selvkonsistens og generert kunnskap er en gratis leksjon i Prompt engineering og optimalisering av LLM-er for utviklere på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Prompt engineering og optimalisering av LLM-er for utviklere, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Prompt engineering og optimalisering av LLM-er for utviklere inneholder totalt 4 leksjoner.
Introduksjon: konsistens og kunnskap
Velkommen til leksjon 2! Ved kompleks problemløsing kan Large Language Models (LLM-er) noen ganger ha vansker, noe som kan føre til feilaktige eller inkonsekvente svar.
I denne leksjonen introduseres to kraftfulle teknikker som kan gjøre dem mer pålitelige: Self-Consistency og Generated Knowledge. Disse metodene hjelper LLM-er med å «tenke» mer grundig og systematisk.
Hvorfor avansert resonnering?
LLM-er er svært gode til å generere tekst, men de kan noen ganger gjøre logiske feil eller «hallusinere» (produsere faktuelt feilaktig informasjon), særlig ved resonnement i flere trinn.
Avanserte promptstrategier som Self-Consistency og Generated Knowledge har som mål å:
- Forbedre nøyaktigheten i komplekse oppgaver.
- Redusere sannsynligheten for faktuelle feil.
- Gjøre svar fra LLM-er mer robuste og pålitelige.
Forstå Self-Consistency
Self-Consistency er en teknikk der du ber en LLM generere flere ulike resonnementer eller svar på det samme spørsmålet.
I stedet for å basere deg på ett enkelt resultat, samler du deretter disse ulike resultatene og velger det mest konsistente svaret (for eksempel det som forekommer oftest). Det er som å spørre flere eksperter og følge flertallets mening.
Self-Consistency i praksis
Se for deg at du spør en LLM: «Hvis et tog forlater stasjon A kl. 08.00 med en hastighet på 60 miles i timen, og et annet tog forlater stasjon B (300 miles unna) kl. 09.00 med en hastighet på 70 miles i timen, når møtes de?»
En enkelt prompt kan gi et feil svar. Med Self-Consistency kan du stille spørsmålet flere ganger, kanskje med litt ulik formulering, og deretter sammenligne resultatene for å finne det vanligste tidspunktet for møtet.
Kode: Enkel Self-Consistency
Dette Python-eksempelet simulerer flere kall til en LLM for et matematikkproblem. Deretter velger det svaret som forekommer oftest, noe som øker påliteligheten.
import collections
import random
def call_llm(prompt):
# Simulate LLM responses for a math problem
# In a real app, this would be an actual LLM API call
if "What is (15 * 3) - 7?" in prompt:
return random.choice(["38", "The answer is 38.", "40 (Oops!)"])
return "Simulated response."
def main():
print("--- Self-Consistency Example ---")
question_prompt = "What is (15 * 3) - 7? Give your final numeric answer only."
answers = []
num_attempts = 5
for i in range(num_attempts):
raw_output = call_llm(question_prompt)
# Simple extraction of numeric part
numeric_answer = ''.join(filter(str.isdigit, raw_output))
if numeric_answer:
answers.append(int(numeric_answer))
print(f"Attempt {i+1}: {numeric_answer}")
else:
print(f"Attempt {i+1}: Could not parse '{raw_output}'")
# Find the most common answer (voting)
if answers:
most_common = collections.Counter(answers).most_common(1)
print(f"\nMost consistent answer: {most_common[0][0]}")
else:
print("\nNo valid answers generated.")
if __name__ == "__main__":
main()Introduksjon til Generated Knowledge
Generated Knowledge er en teknikk der LLM-en først genererer relevante fakta, relevant kontekst eller mellomliggende tanker, og deretter bruker denne egenproduserte informasjonen til å besvare hovedspørsmålet.
Dette tilsvarer å gjøre research før du skriver en oppgave. LLM-en «forhåndsberegner» eller «henter frem» relevant kunnskap for å bygge et bedre grunnlag for det endelige svaret.
Generated Knowledge i praksis
Se for deg et spørsmål som: «Beskriv de viktigste forskjellene mellom et sort hull og et ormehull.»
I stedet for å svare direkte kan du først be LLM-en om å:
- «Liste opp viktige kjennetegn ved et sort hull.»
- «Liste opp viktige kjennetegn ved et ormehull.»
Deretter bruker du disse genererte listene som kontekst for det opprinnelige spørsmålet. Det gir en mer informert og nøyaktig sammenligning.
Kode: Forhåndsberegning med LLM
Dette Python-eksempelet viser en prosess i to trinn: Først ber du LLM-en generere kunnskap, og deretter bruker du denne kunnskapen i en påfølgende prompt for å besvare et komplekst spørsmål.
def call_llm(prompt):
# Simulate LLM responses for knowledge generation
if "What are the key components of prompt injection?" in prompt:
return "Malicious user input, LLM vulnerability to new instructions, attempt to bypass security or extract data."
elif "Using the information about Malicious user input, LLM vulnerability to new instructions, attempt to bypass security or extract data., explain the concept of 'prompt injection' in cybersecurity." in prompt:
return "Prompt injection is an attack where crafted malicious user input manipulates an LLM to override its original instructions, potentially leading to unauthorized actions, data exposure, or harmful content generation. It exploits the LLM's tendency to follow new directions even if they contradict its safety guidelines."
return "Simulated response."
def main():
print("--- Generated Knowledge Example ---")
# Step 1: Generate knowledge
knowledge_prompt = "What are the key components of prompt injection?"
print(f"LLM generating knowledge...")
generated_knowledge = call_llm(knowledge_prompt)
print(f"Generated Knowledge:\n{generated_knowledge}\n")
# Step 2: Use generated knowledge to answer the main question
main_question = "explain the concept of 'prompt injection' in cybersecurity."
final_prompt = f"Using the information about {generated_knowledge}, {main_question}"
print(f"LLM answering main question using generated knowledge...")
final_answer = call_llm(final_prompt)
print(f"Final Answer:\n{final_answer}")
if __name__ == "__main__":
main()Synergier: Kombinere teknikker
Self-Consistency og Generated Knowledge er effektive hver for seg, men de kan også kombineres for å oppnå enda større robusthet.
Du kan for eksempel først bruke Generated Knowledge til å lage et robust sett med fakta, og deretter bruke Self-Consistency i fasen der det endelige svaret genereres. På den måten sikrer du både et faktabasert grunnlag og et pålitelig resultat.
Test forståelsen din
Test kunnskapene dine om Self-Consistency og Generated Knowledge.
Oppsummering: Gi LLM-er mer kraft
I denne leksjonen har du lært om to avanserte promptstrategier:
- Self-Consistency: Generere flere svar og velge det som forekommer oftest, for å forbedre påliteligheten.
- Generated Knowledge: La LLM-en først lage relevant kontekst, og deretter bruke denne konteksten til å besvare hovedspørsmålet.
Disse teknikkene gjør LLM-er bedre i stand til å løse komplekse problemer med større nøyaktighet og lavere risiko for feil. Fortsett å eksperimentere med dem for å utvikle enda mer robuste LLM-applikasjoner!
Lær deg Prompt engineering og optimalisering av LLM-er for utviklere med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Selvkonsistens og generert kunnskap» gratis?
Ja – hele teksten i «Selvkonsistens og generert kunnskap» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Prompt engineering og optimalisering av LLM-er for utviklere-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Prompt engineering og optimalisering av LLM-er for utviklere inneholder totalt 4 leksjoner.
Hva lærer jeg i «Selvkonsistens og generert kunnskap»?
Implementer teknikker der LLM-er genererer flere resonnementsløp og velger det mest konsistente svaret, eller genererer kunnskap som støtte for resonnementet. Du øver på Prompt engineering og optimalisering av LLM-er for utviklere med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Prompt engineering og optimalisering av LLM-er for utviklere?
Ingen tidligere erfaring er nødvendig. Prompt engineering og optimalisering av LLM-er for utviklere på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Selvkonsistens og generert kunnskap»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Prompt engineering og optimalisering av LLM-er for utviklere-leksjonen?
Ja. Alle Prompt engineering og optimalisering av LLM-er for utviklere-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Chain-of-Thought-prompting
- Selvkonsistens og generert kunnskap
- Tree-of-Thought- og grafprompter
- ReAct: resonnering og handling med verktøy