2026-06-02 16:17:26 +00:00
2026-06-02 16:17:26 +00:00
2026-06-02 15:59:43 +00:00
2026-06-02 15:59:50 +00:00

Self‑Correcting LangGraph Agent

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

  1. Receives a natural‑language task from the user.
  2. Executes the task via an unreliable tool that fails 30 % of the time.
  3. Asks an LLM (OpenAI GPT‑4o‑mini) 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
0 Stars 1 Watchers 0 Forks
Languages
Python 100%