0Pricing
AI Agents with LangChain & Autonomous Workflows · レッスン

自己修正・内省エージェント

自身の出力を批判的に評価し、応答や行動を反復的に改善できるエージェントを構築します。

「自己修正・内省エージェント」はCoddyKit上の無料AI Agents with LangChain & Autonomous Workflowsレッスンです。 これはレッスン3/6です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents with LangChain & Autonomous Workflows学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agents with LangChain & Autonomous Workflowsコースには全6レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Agents That Think Twice

Ever wished your AI agent could check its own work? That's exactly what self-correction and reflection agents do!

These agents are designed to not just generate an output, but also to critically evaluate it and make improvements. Think of it as an agent having an internal "editor" or "critic".

The Reflective Cycle

The core idea of reflection is an iterative process:

  • Generate: The agent produces an initial response or action.
  • Reflect: It then uses another prompt (or a different LLM) to analyze its own output against specific criteria.
  • Refine: Based on the reflection, the agent adjusts its original output, aiming for better quality or accuracy.

This cycle can repeat multiple times until a satisfactory result is achieved.

Inside a Reflection Agent

A self-correcting agent typically involves a few key parts:

  • Generator LLM: The primary Large Language Model that creates the initial output.
  • Critic/Reflector LLM: Often the same LLM, but prompted to act as a critic, evaluating the generator's output.
  • Reflection Prompt: A carefully designed prompt that guides the critic LLM on what to evaluate and how.
  • Refinement Mechanism: The logic that takes the critic's feedback and uses it to improve the next generation.

The Generator Prompt

Just like any LLM interaction, a clear initial prompt for the "generator" is crucial. This prompt tells the agent what task to perform.

For example, if we want an agent to write a short story, the generator prompt would define the story's theme, characters, and length. The goal is a solid first draft.

prompt_template = "Write a 3-sentence story about a brave knight and a dragon."

Crafting the Reflection Prompt

The reflection prompt is where the magic happens. It instructs the LLM to review the previous output and identify areas for improvement.

This prompt should include specific criteria. For our story example, it might ask: "Is the story engaging? Does it clearly mention a knight and a dragon? Is it exactly 3 sentences?"

reflection_prompt = "Critique the following story: '{story}'. Does it meet these criteria: 1. Engaging? 2. Knight and Dragon present? 3. Exactly 3 sentences? Provide specific feedback for improvement."

Simple Reflection Example

Let's trace our story example conceptually:

  1. Generate: LLM writes an initial story draft.
  2. Reflect: LLM reads the story and the reflection prompt, then gives feedback (e.g., "It's 4 sentences, not 3.").
  3. Refine: The agent receives the feedback. It then tries to rewrite the story, incorporating the feedback (e.g., shortening it to 3 sentences).

This loop continues until the story meets all criteria or a limit is reached.

Building a Refinement Loop

In practice, the refinement process often involves a loop. The agent continues to generate and reflect until a set condition is met. This condition could be:

  • A maximum number of iterations.
  • The reflection feedback indicates no further improvements are needed.
  • A specific quality metric is achieved.

This iterative process allows for continuous self-improvement, making agents more robust.

Code: A Simple Reflection Loop

Here's a simplified Python example demonstrating a basic self-correction loop. We'll use a placeholder LLM for clarity, focusing on the generate, reflect, and refine logic.

class MockLLM:
    def __init__(self):
        pass

    def generate_initial_output(self, task_prompt):
        # Simulate a generator LLM that sometimes gets it wrong
        if "start with 'Hello'" in task_prompt:
            return "Greetings! How are you?" # Incorrect initial attempt
        return "Hello World!" # Correct initial attempt based on prompt

    def reflect_and_suggest(self, original_task, generated_output):
        # Simulate a critic LLM
        reflection_prompt = (
            f"Given the task: '{original_task}'. "
            f"The generated output was: '{generated_output}'. "
            "Critique this output: Does it start with 'Hello'? "
            "If not, suggest a correction. Be concise."
        )
        # Simplified reflection logic for the mock LLM
        if not generated_output.strip().startswith("Hello"):
            return "Doesn't start with 'Hello'. Suggestion: Start with 'Hello'."
        return "Output meets criteria."

# --- Main Logic ---
llm = MockLLM()
task = "Create a greeting sentence that starts with 'Hello'."
current_output = llm.generate_initial_output(task)

print(f"Initial Output: {current_output}")

for i in range(3): # Max 3 attempts (initial + 2 refinements)
    reflection = llm.reflect_and_suggest(task, current_output)
    print(f"Reflection {i+1}: {reflection}")

    if "Output meets criteria" in reflection:
        print("Agent self-corrected successfully!")
        break
    else:
        # Simulate applying the suggestion
        if "Start with 'Hello'" in reflection and not current_output.startswith("Hello"):
            current_output = "Hello" + current_output[current_output.find(' '):] # Simple fix
            print(f"Refined Output: {current_output}")
        else:
            print("No specific refinement strategy for this feedback. Stopping.")
            break
print("\nFinal Output:", current_output)

Benefits & Trade-offs

Reflection agents are powerful for tasks requiring high accuracy or complex reasoning, especially when a single pass might miss nuances.

  • Improved Accuracy: Reduces errors and hallucinations.
  • Robustness: Handles complex prompts better.
  • Quality: Leads to higher-quality outputs.

However, they increase computational cost and latency due to multiple LLM calls. Use them where quality justifies the overhead.

Test Your Knowledge

Consider an agent designed to summarize a document and then self-correct. What is the primary purpose of the "reflection prompt" in this scenario?

Recap: Self-Correction

We've explored how self-correction and reflection agents work. These agents enhance AI capabilities by allowing them to critically evaluate and refine their own outputs.

  • They follow a generate, reflect, refine cycle.
  • Key components include a generator, a critic, and specific reflection prompts.
  • While increasing cost and latency, they significantly boost output quality and accuracy for complex tasks.

This ability to "think twice" is a crucial step towards more robust and intelligent AI systems!

よくある質問

「自己修正・内省エージェント」レッスンは無料ですか?

はい。「自己修正・内省エージェント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agents with LangChain & Autonomous Workflowsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agents with LangChain & Autonomous Workflowsコースには全6レッスンが含まれています。

「自己修正・内省エージェント」で何を学びますか?

自身の出力を批判的に評価し、応答や行動を反復的に改善できるエージェントを構築します。 ブラウザで直接実行するハンズオンコードでAI Agents with LangChain & Autonomous Workflowsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agents with LangChain & Autonomous Workflowsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agents with LangChain & Autonomous Workflowsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/6です。

「自己修正・内省エージェント」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agents with LangChain & Autonomous Workflowsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agents with LangChain & Autonomous Workflowsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ReActエージェントとPlan-and-Executeエージェント
  2. 階層型エージェント設計
  3. 自己修正・内省エージェント
  4. エージェントの認知アーキテクチャ
  5. マルチエージェント協調パターン
  6. ハイブリッドエージェントシステム
← AI Agents with LangChain & Autonomous Workflowsに戻る