Prompt Engineering & LLM Optimization for Developers · Leçon

Auto-cohérence et connaissances générées

Mettez en œuvre des techniques permettant aux LLM de générer plusieurs chemins de raisonnement et de choisir la réponse la plus cohérente, ou de générer des connaissances pour faciliter le raisonnement.

Leçon 2 sur 411 étapes

Auto-cohérence et connaissances générées est une leçon Prompt Engineering & LLM Optimization for Developers gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Prompt Engineering & LLM Optimization for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Prompt Engineering & LLM Optimization for Developers comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Intro: Consistency & Knowledge

Welcome to Lesson 2! In complex problem-solving, Large Language Models (LLMs) can sometimes struggle, leading to incorrect or inconsistent answers.

This lesson introduces two powerful techniques to boost their reliability: Self-Consistency and Generated Knowledge. These methods help LLMs 'think' more deeply and systematically.

Why Advanced Reasoning?

LLMs are great at generating text, but they can sometimes make logical errors or 'hallucinate' (produce factually incorrect information), especially with multi-step reasoning.

Advanced prompting strategies like Self-Consistency and Generated Knowledge aim to:

  • Improve accuracy for complex tasks.
  • Reduce the likelihood of factual errors.
  • Make LLM responses more robust and reliable.

Understanding Self-Consistency

Self-Consistency is a technique where you prompt an LLM to generate multiple distinct reasoning paths or answers for the same question.

Instead of relying on a single output, you then aggregate these different outputs and select the most consistent (e.g., the most frequent) answer. It's like asking several experts and taking the majority opinion.

Self-Consistency in Action

Imagine asking an LLM: "If a train leaves station A at 8 AM traveling at 60 mph, and another leaves station B (300 miles away) at 9 AM traveling at 70 mph, when do they meet?"

A single prompt might give a wrong answer. With self-consistency, you'd ask this multiple times, perhaps with slightly varied phrasing, then compare the results to find the most common meeting time.

Code: Simple Self-Consistency

This Python example simulates calling an LLM multiple times for a math problem. It then picks the most frequent answer, enhancing reliability.

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()

Introducing Generated Knowledge

Generated Knowledge is a technique where the LLM first generates relevant facts, context, or intermediate thoughts, and then uses this self-generated information to answer the main query.

This is akin to doing research before writing an essay. The LLM essentially 'pre-computes' or 'recalls' relevant knowledge to build a stronger foundation for its final answer.

Generated Knowledge in Practice

Consider a question like: "Describe the main differences between a black hole and a wormhole."

Instead of directly answering, you could first prompt the LLM to:

  1. "List key characteristics of a black hole."
  2. "List key characteristics of a wormhole."

Then, use these generated lists as context for the original question, leading to a more informed and accurate comparison.

Code: Pre-computation with LLM

This Python example demonstrates a two-step process: first, asking the LLM to generate knowledge, and then using that knowledge in a subsequent prompt to answer a complex question.

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()

Synergies: Combining Techniques

While powerful individually, Self-Consistency and Generated Knowledge can also be combined for even greater robustness.

For instance, you could first use Generated Knowledge to create a robust set of facts, and then apply Self-Consistency to the final answer generation phase, ensuring both factual grounding and reliable output.

Check Your Understanding

Test your knowledge about Self-Consistency and Generated Knowledge.

Summary: Powering LLMs

In this lesson, you learned about two advanced prompting strategies:

  • Self-Consistency: Generating multiple answers and selecting the most common one to improve reliability.
  • Generated Knowledge: Having the LLM create relevant context first, then using that context to answer the main question.

These techniques empower LLMs to tackle complex problems with greater accuracy and less risk of errors. Continue experimenting with them to unlock more robust LLM applications!

Gratuit pour commencer

Apprends Prompt Engineering & LLM Optimization for Developers avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Auto-cohérence et connaissances générées » est-elle gratuite ?

Oui — le texte complet de « Auto-cohérence et connaissances générées » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Prompt Engineering & LLM Optimization for Developers, passe à CoddyKit PRO. Le cours Prompt Engineering & LLM Optimization for Developers comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Auto-cohérence et connaissances générées » ?

Mettez en œuvre des techniques permettant aux LLM de générer plusieurs chemins de raisonnement et de choisir la réponse la plus cohérente, ou de générer des connaissances pour faciliter le raisonneme… Tu pratiques Prompt Engineering & LLM Optimization for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Prompt Engineering & LLM Optimization for Developers ?

Aucune expérience préalable n'est requise. Prompt Engineering & LLM Optimization for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Auto-cohérence et connaissances générées » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Prompt Engineering & LLM Optimization for Developers ?

Oui. Chaque leçon Prompt Engineering & LLM Optimization for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Prompting par chaîne de raisonnement
  2. Auto-cohérence et connaissances générées
  3. Prompts en arbre de pensée et en graphe
  4. ReAct : raisonner et agir avec des outils
← Retour à Prompt Engineering & LLM Optimization for Developers