add README.md
This commit is contained in:
@@ -1,2 +1,52 @@
|
|||||||
# task-6a1864fd8a94f887e50d4706
|
# Планирующий агент
|
||||||
|
|
||||||
|
## Что делает проект
|
||||||
|
|
||||||
|
В этом репозитории реализован **LangGraph**‑агент, который:
|
||||||
|
1. Принимает текст задачи.
|
||||||
|
2. С помощью LLM разбивает её на 3–6 конкретных шагов (узел *planning*).
|
||||||
|
3. Выполняет каждый шаг последовательно, собирая результаты (узел *execution*).
|
||||||
|
4. После завершения всех шагов выдаёт итоговый резюме.
|
||||||
|
|
||||||
|
Пример работы:
|
||||||
|
```
|
||||||
|
Task: Compare Python and JavaScript
|
||||||
|
Plan:
|
||||||
|
1. ...
|
||||||
|
2. ...
|
||||||
|
Execution results:
|
||||||
|
Result of step 1: ...
|
||||||
|
...
|
||||||
|
Final summary: ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Структура файлов
|
||||||
|
| Файл | Назначение |
|
||||||
|
|------|------------|
|
||||||
|
| `main.py` | Точка входа, реализация графа и демонстрация работы |
|
||||||
|
| `requirements.txt` | Зависимости проекта |
|
||||||
|
| `README.md` | Описание проекта и инструкции |
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
```bash
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
```bash
|
||||||
|
python main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### Примеры задач (внутри скрипта)
|
||||||
|
1. Сравнение Python и JavaScript.
|
||||||
|
2. Как создать простое приложение Flask.
|
||||||
|
3. Шаги развертывания Docker‑изображения Node.js в AWS Elastic Beanstalk.
|
||||||
|
|
||||||
|
## Архитектура
|
||||||
|
- **State** – `PlanningState` хранит текущее состояние: исходную задачу, список шагов, индекс текущего шага и накопленные результаты.
|
||||||
|
- **Node `planning`** – вызывает LLM с запросом вернуть JSON‑массив шагов. Парсинг гарантирует надёжность.
|
||||||
|
- **Node `execution`** – берёт следующий шаг из списка, формирует строку результата (в реальном проекте здесь можно вызывать инструменты).
|
||||||
|
- **Conditional edge `should_continue`** – проверяет, остались ли ещё шаги; если нет – переход в `END`.
|
||||||
|
|
||||||
|
## Тесты
|
||||||
|
В репозитории тестов нет, но скрипт содержит три демонстрационных задачи. Для проверки корректности можно запустить его и убедиться, что вывод соответствует описанию.
|
||||||
|
|||||||
Reference in New Issue
Block a user