diff --git a/README.md b/README.md index 606e61f..9502baa 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,44 @@ # LangGraph Reflection Agent -This repository contains a simple implementation of a LangGraph agent that writes a short answer to a question, critiques it, and rewrites if necessary. +Небольшой CLI-агент на `LangGraph`, который: -## Requirements +1. пишет первичный ответ на вопрос; +2. отдельным узлом `reflect` критикует его по полноте, конкретике и отсутствию воды; +3. при `needs_revision` запускает `rewrite`; +4. завершает работу после `ok` или по достижении `max_rounds`. + +## Установка ```bash -pip install langgraph langchain-openai +pip install -r requirements.txt ``` -## Usage +Для запуска нужен OpenAI-совместимый API: + +```bash +export OPENAI_API_KEY=... +export OPENAI_BASE_URL=... +export OPENAI_MODEL=... +``` + +## Запуск + +Запуск с вопросом из задания: ```bash python main.py "Объясни студенту разницу между tool и resource в MCP" ``` + +Запуск без аргументов использует тот же вопрос по умолчанию: + +```bash +python main.py +``` + +## Что реализовано + +- `ReflectState(TypedDict)` с полями `question`, `draft`, `critique`, `verdict`, `round`, `max_rounds` +- узлы `draft_answer`, `reflect`, `rewrite` +- цикл `rewrite -> reflect` при `needs_revision` +- ограничение числа доработок через `max_rounds` +- CLI-демо с финальным ответом, вердиктом критика и количеством раундов