diff --git a/README.md b/README.md index 91c63b4..e144654 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,43 @@ -# DeepAgent from Scratch +# Поисковый агент Deep Agents From Scratch -## Overview -This repository contains a minimal implementation of a **DeepAgent** inspired by the *Deep Agents from Scratch* course. The agent can: +## Описание +Реализация поискового агента с нуля на основе паттерна ReAct (Reasoning + Acting). +Агент самостоятельно решает задачи: ищет информацию в интернете, создаёт файлы с результатами. -1. Search the web using DuckDuckGo. -2. Create virtual files in an in‑memory file system. -3. Persist those virtual files to the real file system when the task is finished. +## Архитектура +- **agent_core.py** — ядро агента: цикл рассуждений и действий (ReAct loop) +- **tools.py** — инструменты: веб-поиск, виртуальная файловая система +- **main.py** — точка входа, примеры использования -The implementation uses: -- **LangChain OpenAI** (`ChatOpenAI`) for LLM interactions. -- **DuckDuckGo Search** for web queries. -- A simple `VirtualFileSystem` class to hold files in memory. +## Как работает ReAct +1. LLM получает задачу и список доступных инструментов +2. LLM генерирует Thought (мысль) + Action (действие) + Action Input (параметры) +3. Агент выполняет инструмент, получает Observation (наблюдение) +4. Цикл повторяется до FINAL ANSWER -## Requirements -``` -langchain-openai>=0.3.0 -langchain>=1.2.10 -langgraph>=0.2.0 -duckduckgo-search -``` - -## Running the Agent +## Установка ```bash -# Install dependencies pip install -r requirements.txt +cp .env.example .env # добавь JOURNAL_MCP_PAT +``` -# Run the agent +## Запуск +```bash python main.py ``` -The script will perform a sample search for *"LangChain deep agent"* and create a file named `summary.txt` with the first search result. All virtual files are written to the current directory. +## Пример работы +``` +Task: Найди информацию о LangGraph +Thought: Нужно найти информацию о LangGraph в интернете +Action: web_search +Action Input: LangGraph python framework +Observation: [результаты поиска...] +Thought: Теперь создам файл с найденной информацией +Action: create_virtual_file +Action Input: summary.md | # LangGraph... +FINAL ANSWER: Информация сохранена в summary.md +``` -## Extending the Agent -- Add more tools by decorating functions with `@tool` and passing them to `DeepAgent`. -- Modify the `run` method to change the interaction loop or add more sophisticated prompting. - -## License -MIT +## Переменные окружения +- `JOURNAL_MCP_PAT` — токен доступа к LLM препода