2026-06-02 16:13:29 +00:00
2026-06-02 16:12:17 +00:00
2026-06-02 15:59:43 +00:00
2026-06-02 15:59:50 +00:00

SelfCorrecting LangGraph Agent

This repository contains a minimal example of a selfcorrecting agent built with LangGraph and LangChain. The agent:

  1. Receives a naturallanguage task from the user.
  2. Executes the task via an unreliable tool that fails 30% of the time.
  3. Asks an LLM (OpenAI GPT4omini) to judge whether the result is correct.
  4. Retries automatically until the judge says success or the maximum number of attempts is reached.

The code demonstrates how to build a small state machine with LangGraph, how to use a LLM as a judge, and how to implement retry logic.

Setup

# Optional: create a virtual environment
python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set your OpenAI API key
export OPENAI_API_KEY=YOUR_KEY   # Windows: set OPENAI_API_KEY=YOUR_KEY

Running the agent

python agent.py "Вычисли 2+2"

You can also run the script without arguments it will prompt you for a task.

Example output

Введите задачу: 2+2
Попытка 1: результат Result of 2+2
Попытка 2: результат Result of 2+2

Итог:
Успех за 2 попыток. Результат: Result of 2+2

The exact number of attempts may vary because the tool fails randomly.


How it works

  • State AgentState tracks the task, result, number of attempts, status and any error.
  • Nodes execute_task, verify_result, handle_error.
  • LLM judge a simple prompt that forces the model to answer only "success" or "failed".
  • Graph a conditional router that loops back to execute_task on failure until the maximum attempts are reached.

Feel free to adapt the tool, the judge prompt, or the retry policy to fit your needs.

S
Description
Экзамен: Самокорректирующийся агент
Readme 56 KiB
Languages
Python 100%