# LangGraph Code Review Reflection Agent Этот проект реализует `LangGraph`-агента, который: 1. берёт Python-функцию; 2. пишет первичный code review; 3. отдельным узлом-критиком оценивает review по 4 критериям: - `pep8` - `type_hints` - `edge_cases` - `naming` 4. если verdict равен `needs_revision`, запускает `rewrite` и усиливает самое слабое место; 5. завершает работу после `ok` или по достижении `max_rounds`. ## Стек - Python 3.10+ - `langgraph` - `langchain-openai` - `python-dotenv` ## Установка ```bash pip install -r requirements.txt ``` Заполните `.env`: ```bash OPENAI_API_KEY=... OPENAI_BASE_URL=... OPENAI_MODEL=... ``` ## Запуск ```bash python main.py ``` ## Что видно в демо - исходный код функции `sort_numbers` - первичный `draft_review` - баллы критика по 4 критериям - `weakest_criterion` - при необходимости переписанный review - финальный результат и число использованных раундов ## Соответствие заданию - `CodeReviewState` содержит все требуемые поля - `reflect` использует structured output - `rewrite` дорабатывает review по `weakest_criterion` - цикл `rewrite -> reflect` ограничен через `max_rounds`