add README.md

This commit is contained in:
2026-05-26 13:01:20 +00:00
parent b217425478
commit bc1e6a8ba5
+32 -28
View File
@@ -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 inmemory 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 препода