main
Планирующий агент – экзаменационный проект
Описание проекта
В этом репозитории реализован планировщик задач на основе LLM (Large Language Model).
Агент принимает целевое задание и генерирует список шагов, которые необходимо выполнить для достижения цели.
Ключевые технологии:
langgraph– библиотека для построения графов состояний с использованием LLM.langchain-openai– обёртка над OpenAI API (можно заменить наlangchain-ollama, если хотите использовать локальный LLM).
Структура проекта
├── solution.py # Основной скрипт, реализующий планировщик
└── README.md # Текущий файл
Установка зависимостей
# Создайте виртуальное окружение (рекомендуется)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Установите зависимости из requirements.txt (если есть) или вручную:
pip install langgraph langchain-openai openai # для OpenAI API
Важно
Для работы сChatOpenAIнеобходимо иметь переменную окруженияOPENAI_API_KEY.export OPENAI_API_KEY="sk-..."
Если вы хотите использовать Ollama вместо OpenAI, замените импорт и вызов LLM:
from langchain_ollama import ChatOllama
# ...
llm = ChatOllama(model="llama3.1", temperature=0.2)
Запуск скрипта
solution.py – это самодостаточный скрипт, который можно запустить напрямую:
python solution.py
При запуске будет предложено ввести цель (goal). После ввода агент сгенерирует список шагов и выведет их на экран.
Пример запуска
$ python solution.py
Введите цель: Создать веб‑страницу для портфолио разработчика.
Генерация плана...
Шаги:
1. Составить структуру HTML (header, main, footer).
2. Подобрать цветовую схему и шрифты.
3. Реализовать адаптивный дизайн с CSS Grid/Flexbox.
4. Добавить интерактивные элементы на JavaScript.
5. Оптимизировать загрузку ресурсов и проверить SEO.
Как использовать в другом коде
from solution import plan_steps, PlannerState
state = {"goal": "Написать научную статью по машинному обучению"}
new_state = plan_steps(state)
print(new_state["steps"])
Возможные улучшения
- Добавить сохранение истории планов в файл.
- Интегрировать с
langgraphдля более сложных цепочек действий (например, проверка корректности шагов). - Подключить к UI (Streamlit/Gradio) для интерактивного взаимодействия.
Лицензия
MIT © 2026
Description
Languages
Python
100%