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

Установка

pip install -r requirements.txt

Заполните .env:

OPENAI_API_KEY=...
OPENAI_BASE_URL=...
OPENAI_MODEL=...

Запуск

python main.py

Что видно в демо

  • исходный код функции sort_numbers
  • первичный draft_review
  • баллы критика по 4 критериям
  • weakest_criterion
  • при необходимости переписанный review
  • финальный результат и число использованных раундов

Соответствие заданию

  • CodeReviewState содержит все требуемые поля
  • reflect использует structured output
  • rewrite дорабатывает review по weakest_criterion
  • цикл rewrite -> reflect ограничен через max_rounds
S
Description
Solution for BroJS task 6a22c713fd30e81cf315ea04
Readme 92 KiB
Languages
Python 100%