Files
task-6a219d2dfd30e81cf3146bae/README.md
T
2026-06-04 16:16:22 +00:00

2.1 KiB

LangGraph с узлом рефлексии

LangGraph‑агент, который пишет ответ на вопрос, затем отдельным LLM‑критиком оценивает качество (полнота, конкретика, отсутствие воды). При вердикте needs_revision узел rewrite улучшает текст (до max_rounds раз).

Стек

Компонент Технология
LLM BroJS gpt-oss-20b
Граф LangGraph StateGraph
Состояние ReflectState (TypedDict)

Установка

pip install -r requirements.txt

Добавь в .env:

JOURNAL_MCP_PAT=твой_токен

Запуск

python main.py

Структура проекта

Файл Назначение
graph.py Узлы draft_answer, reflect, rewrite и сборка графа
main.py Точка входа, три демо‑примера
requirements.txt Зависимости

Архитектура графа

START -> draft_answer -> reflect
                           |
              ok ----------+-------> END
              needs_revision & round < max_rounds -> rewrite -> reflect
              needs_revision & round >= max_rounds -> END

Узлы

  • draft_answer — первичный ответ на вопрос (5‑10 предложений)
  • reflect — LLM‑критик: вердикт ok / needs_revision + замечания в critique
  • rewrite — учитывает замечания, обновляет draft, увеличивает round

Состояние ReflectState

class ReflectState(TypedDict):
    question: str    # исходный вопрос
    draft: str       # текущий вариант ответа
    critique: str    # замечания критика
    verdict: str     # ok | needs_revision
    round: int       # текущий раунд (0 = первый черновик)
    max_rounds: int  # максимум раундов доработки