Files

57 lines
1.5 KiB
Markdown

# 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`