4fd43da54789287922fbf665ff0db28d1e820742
Self‑Correcting LangGraph Agent
This repository contains a minimal example of a self‑correcting agent built with LangGraph and LangChain. The agent:
- Receives a natural‑language task from the user.
- Executes the task via an unreliable tool that fails 30 % of the time.
- Asks an LLM (OpenAI GPT‑4o‑mini) to judge whether the result is correct.
- 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 –
AgentStatetracks 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_taskon failure until the maximum attempts are reached.
Feel free to adapt the tool, the judge prompt, or the retry policy to fit your needs.
Description
Languages
Python
100%