Большинство туториалов по AI-агентам учат тому, как вызвать LangChain. Один проект на GitHub решил сделать наоборот — вскрыть агента и показать, что внутри. Никаких фреймворков, никаких облаков, никакой магии.
400 000+ органических переходов за 3 месяца. Со-основатель GoBanana (231K пользователей, 12+ млн ₽ без рекламы) и NeuroScribe (65K пользователей). SEO/GEO-стратегии для AI-поисковиков, 1 700+ единиц контента, 17+ реализованных стратегий.
Об авторе →Claude Code: новый CLI-агент от Anthropic
Anthropic выпустила Claude Code — терминальный AI-агент для разработчиков. Инструмент работает прямо в командной строке и умеет писать, редактировать и запускать код.
Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
Большинство туториалов по AI-агентам учат тому, как вызвать LangChain. Один проект на GitHub решил сделать наоборот — вскрыть агента и показать, что внутри. Никаких фреймворков, никаких облаков, никакой магии.
AI Agents From Scratch — это open-source репозиторий с 4030 звёздами, который строит агента с нуля: от первого вызова LLM до полноценного ReAct-цикла и AoT-планировщика. Доступен на JavaScript и Python, MIT-лицензия, запускается локально.

В этом гайде разберём каждый этап пути: что проходишь, что понимаешь после каждого блока уроков и как применить это в реальных вайбкодинг-проектах.
Есть два способа работать с AI-агентами. Первый — взять готовый фреймворк, прочитать доку и начать использовать. Быстро, но ты не понимаешь, что происходит под капотом. Второй — построить агента с нуля, шаг за шагом, и к концу знать каждую строку.
Именно второй путь выбрал автор репо под ником @pguso. Запустил проект в октябре 2025 года — и без маркетинга, без вирального поста, чисто на качестве контента собрал 4030 звёзд на JS-версии и ещё 794 на Python.
Философия проекта держится на трёх принципах:
Именно поэтому репо называют «анти-LangChain». Не потому что плохо к нему относится, а потому что сначала учит понимать, потом использовать.
Прежде чем клонировать репо — два решения, которые лучше принять сразу.
| JS-версия | Python-версия | |
|---|---|---|
| Звёзды | 4030★ | 794★ |
| Уроков | 14 | 12 |
| Создана | Октябрь 2025 | Декабрь 2025 |
| Активность | Выше | Умеренная |
| Структура | 14 отдельных примеров | 1 агент, 12 эволюций |
Если пишешь на JS/Node — берёшь JS-версию. Если на Python — Python. Философия одинаковая, путь немного отличается. JS-версия активнее обновляется, Python появился позже, но закрывает тот же материал.

Проект работает полностью локально. Модели скачиваются в формате GGUF и запускаются на твоей машине.
Если 16 GB нет — берёшь модель 7B вместо 13B. Чуть медленнее, но работает. На 8 GB вполне реально пройти все уроки с Llama 7B в GGUF-квантизации.
# JS-версия
git clone https://github.com/pguso/ai-agents-from-scratch
cd ai-agents-from-scratch
npm install
# скачать GGUF-модель в ./models/
node intro/intro.js
# Python-версия
git clone https://github.com/pguso/agents-from-scratch
cd agents-from-scratch
pip install -r requirements.txt
# скачать GGUF-модель в models/
python complete_example.pyРекомендуемые модели для старта: Llama 3.1 8B или Mistral 7B в GGUF-формате. Скачать можно с Hugging Face в разделе GGUF-quantized models.
Первый блок — не про агентов. Про то, что под агентами. Большинство вайбкодеров пропускают этот уровень и потом не понимают, почему агент ведёт себя непредсказуемо.

Загружаешь модель, отправляешь промпт, получаешь ответ. Звучит просто — но именно здесь объясняются токены, контекстное окно и inference pipeline.
Что понимаешь после: токен — это не слово. Это кусок текста (обычно 3–4 символа). Контекстное окно — это максимум токенов, которые модель видит за раз. Всё, что не влезает в контекст, модель не знает.
Почему это важно для вайбкодинга: длинные промпты едят контекст. Если агент «забывает» начало задачи в середине выполнения — это не баг, это кончился контекст.
Тот же принцип, но через облачный API. Показывает разницу между локальным запуском и vendor-зависимостью: rate limits, стоимость токенов, latency.
Этот урок опциональный — можешь пропустить, если хочешь остаться полностью local-first.
Здесь впервые появляется концепция специализации. Один и тот же LLM с разными системными промптами ведёт себя как разные агенты: переводчик, кодер, аналитик.
// Агент-переводчик
const systemPrompt = "You are a professional translator. Translate all user messages to Russian. Return only the translation, no explanations.";Что понимаешь после: агент — это не отдельная модель. Это поведенческие ограничения через системный промпт плюс логика вокруг LLM.
Это самый важный блок. Здесь происходит переход от «модель генерирует текст» к «агент принимает решения и действует».
Модель учится декомпозировать сложные задачи. Не просто отвечать на вопрос, а разбивать его на части и решать последовательно.
Почему это важно: без явной инструкции «думай шаг за шагом» большинство LLM прыгают к ответу и ошибаются на сложных задачах. После этого урока знаешь, когда и как форсировать рассуждение.
Параллельная обработка нескольких промптов одновременно. Для вайбкодера это актуально когда нужно обработать массив данных: 100 карточек товаров, 50 постов, набор документов.
Стриминг токен за токеном — как работает «печатающий» ответ в ChatGPT. После этого урока понимаешь, как реализовать такое в своём приложении и почему streaming улучшает UX лучше, чем ждать полного ответа.
Это точка перехода от LLM к агенту. Function calling — механизм, при котором модель сама решает, когда вызвать внешнюю функцию и с какими аргументами.
Работает через JSON Schema. Ты описываешь функции:
const tools = [
{
name: "get_weather",
description: "Get current weather for a location",
parameters: {
type: "object",
properties: {
location: { type: "string", description: "City name" }
},
required: ["location"]
}
}
];Модель читает описания, анализирует запрос пользователя и сама решает: вызвать функцию или ответить текстом. Никакой магии — это парсинг JSON Schema плюс решение на уровне attention механизма.
Что понимаешь после: Claude Code, Cursor, любой современный AI-ассистент — все работают через function calling. Ты видишь это изнутри впервые.
Три урока, после которых агенты перестают быть магией полностью.

Без памяти каждый новый запрос для агента — первый. Урок показывает два типа памяти:
Как это работает на практике: агент заканчивает задачу, извлекает ключевые факты («пользователь предпочитает TypeScript», «проект использует Postgres»), сохраняет в JSON или БД. При следующем запуске загружает релевантное в контекст.
Для вайбкодинга: любой бот с «памятью» о пользователе работает по этой схеме. Понимаешь механику — строишь сам без магических библиотек.
ReAct (Reasoning + Acting) — это паттерн, на котором строятся Claude Code, большинство LangChain агентов и вообще всё агентное в 2026 году.
Цикл простой:
Задача
→ Reason: «мне нужно проверить погоду в Москве»
→ Act: вызвать get_weather("Москва")
→ Observe: {"temp": 12, "condition": "облачно"}
→ Reason: «теперь могу ответить пользователю»
→ ОтветАгент повторяет цикл до тех пор, пока не решит задачу или не упрётся в лимит итераций. Именно так работает агент, когда пишет код, запускает тест, видит ошибку, исправляет, запускает снова.
Что понимаешь после: когда Claude Code «думает» и делает несколько действий подряд — это ReAct loop. Ты видел его изнутри, можешь строить такой же.
ReAct отлично работает для исследовательских задач. Но у него есть проблема: планирование имплицитное. LLM решает следующий шаг в тексте рассуждений, и если что-то пошло не так — ты читаешь стриминг сознания модели и пытаешься понять где.
Atom of Thought (AoT) решает это по-другому. Агент сначала создаёт JSON-план из атомов, каждый атом — одно действие с зависимостями:
{
"atoms": [
{ "id": 1, "name": "fetch_prices", "input": {"source": "api"}, "dependsOn": [] },
{ "id": 2, "name": "calculate_margin", "input": {}, "dependsOn": [1] },
{ "id": 3, "name": "generate_report", "input": {}, "dependsOn": [2] }
]
}Потом система исполняет план. Атомы без зависимостей идут параллельно. Если упал атом 2 — ты знаешь точно где, можешь перезапустить с него.
| Аспект | ReAct | AoT |
|---|---|---|
| Планирование | В тексте LLM | JSON-структура |
| Валидация | Нет | До исполнения |
| При ошибке | Может галлюцинировать | Падает на конкретном атоме |
| Воспроизводимость | Перезапустить весь диалог | Перезапустить с любого атома |
| Отладка | Читать поток сознания LLM | Инспектировать атом N |
| Подходит для | Исследовательские задачи | Production, compliance, аудит |
Максим: «Когда мы строили автоматизацию для GoBanana, главная боль была — агент делал что-то непонятное, и ты не мог понять, где сломалось. AoT решает именно это: видишь граф, видишь где упало, перезапускаешь с нужного атома. На боевых воркфлоу разница колоссальная.»
После ReAct и AoT — три дополнительных паттерна рассуждений. Они не заменяют базовые, а расширяют инструментарий под специфические задачи.
Не паттерн рассуждений — критическая инженерная тема. Агент в продакшене падает. Вопрос не «если», а «когда».
Что разбирается:
catch(e), а конкретные классы ошибок)Для вайбкодера это про разницу между демо и продуктом. Демо падает — ок. Продукт на 200 000 пользователей падает с деньгами внутри — нет.
Обычный агент — один путь рассуждений. Tree of Thought генерирует несколько кандидатных веток из одной точки, оценивает каждую и выбирает лучшую.
Задача: «какую архитектуру выбрать?»
├── Ветка A: микросервисы → оценка: сложно для MVP, плюс: масштабируемость
├── Ветка B: монолит → оценка: просто, минус: сложнее позже
└── Ветка C: модульный монолит → оценка: компромисс, рекомендуетсяПолезно для задач без одного очевидного ответа: дебаггинг нетривиальной ошибки, выбор между несколькими архитектурными решениями, генерация вариантов контента с ранжированием.
GoT — это DAG-оркестрация для задач с несколькими источниками. Вместо последовательного обхода — параллельное извлечение, потом слияние по правилам.
Ключевая фича: конфликты разрешаются ДО генерации финального вывода. В коде это выглядит через поля must_include, must_avoid, conflict_notes. Пример задачи: собрать обзор инструмента из десяти источников без внутренних противоречий.
Когда что брать:
| Паттерн | Когда использовать |
|---|---|
| ReAct | Открытые исследовательские задачи, динамический контекст |
| AoT | Воспроизводимые пайплайны, аудит, финансы |
| ToT | Задачи с несколькими конкурирующими решениями |
| GoT | Агрегация нескольких источников в один вывод |
| CoT | Пошаговое аудируемое принятие решений |
Самый известный паттерн, разобранный на уровне кода. CoT — это явная инструкция модели рассуждать пошагово, с записью каждого шага.
Ценность не в самом рассуждении, а в его аудируемости. Каждый шаг можно проверить, каждое решение — объяснить. Для задач, где нужна прозрачность процесса, а не только результат.
Python-репо устроено иначе, чем JS. Здесь один и тот же файл agent.py растёт от урока к уроку — никаких новых файлов «с нуля».
Это важная педагогическая разница. Ты не просто изучаешь новый паттерн — ты видишь, как он встраивается в уже существующую архитектуру.
| Блок | Уроки | Что добавляется |
|---|---|---|
| Foundation | 1–3 | Текст in/out, роли, структурированный вывод (JSON) |
| Agency | 4–6 | Решения, инструменты, agent loop |
| Intelligence | 7–10 | Память, планирование, атомарные действия, AoT |
| Observability | 11–12 | Evals, телеметрия |
Блок Observability (уроки 11–12) — часть, которую обычно игнорируют в туториалах. Здесь: evaluation framework для регрессионного тестирования агента и телеметрия для отслеживания поведения в runtime.
Без этого ты не знаешь, стал ли агент лучше после изменений. С этим — знаешь.
После Фазы 1 начинается кое-что другое. Фаза 2 — воссоздание LangChain и LangGraph с нуля. Не чтобы сделать новый фреймворк, а чтобы понять, как устроен старый.
| Компонент | Что это | Почему важно понять |
|---|---|---|
| Runnable Interface | Паттерн композиции | На нём держится всё в LangChain. Не знаешь его — не понимаешь почему цепочки строятся так |
| Message System | Human, AI, System, Tool | Типизированные структуры сообщений — основа любого multi-turn диалога |
| Chains | Промпты + LLM + парсеры | Как одно передаёт результат следующему |
| Memory | Персистентное состояние | Почему LangChain Memory устроена именно так |
| Tools | Function calling + внешние интеграции | Механика, которую ты уже знаешь из урока 7 — теперь с абстракцией |
| Graphs | State machines | Основа LangGraph — для сложных агентных workflow |
Структура туториала Фазы 2:
tutorial/
├── 01-foundation/
│ ├── 01-runnable/ # Паттерн Runnable
│ ├── 02-messages/ # Типизированные сообщения
│ ├── 03-llm-wrapper/ # Абстракция над моделью
│ └── 04-context/ # Управление состоянием диалога
├── 02-composition/
│ ├── 01-prompt-template/ # Переиспользуемые промпты
│ ├── 02-output-parser/ # Структурированный вывод
│ ├── 03-llm-chain/ # LLMChain
│ ├── 04-piping/ # Композиция Runnables
│ └── 05-memory/ # Контекстная память
└── 03-agents/ # Coming SoonРаздел Agents в Фазе 2 ещё в разработке — помечен «Coming Soon». Foundation и Composition уже готовы. Этого хватает, чтобы понять 80% того, почему LangChain устроен именно так.
Репо честно говорит о своей аудитории. Лучше сразу понять, попадаешь ли ты в неё.
Для тебя, если:
Не для тебя, если:
Кроме основного репо у автора есть два сопутствующих ресурса.
Python-версия — github.com/pguso/agents-from-scratch: 794 звезды, 200 форков, 12 уроков. Та же философия на Python. Создана в декабре 2025, чуть отстаёт от JS по активности.
Сайт-компаньон — agentsfromscratch.com: не замена коду, а дополнение. Объясняет почему каждый пример существует, визуализирует learning path, помогает строить ментальные модели перед погружением в код.
Рекомендуемый воркфлоу: сайт — для ментальных моделей и понимания «зачем». GitHub — для запуска, чтения и модификации кода.
LLM (Large Language Model) — большая языковая модель. Нейронная сеть, которая принимает текст и генерирует текст. Примеры: Claude, GPT-4, Llama.
Токен — единица обработки текста в LLM. Обычно 3–4 символа или одно слово. Контекстное окно измеряется в токенах.
Agent loop — цикл агента: получить задачу → выбрать действие → выполнить → наблюдать результат → повторить до достижения цели или лимита итераций.
Function calling — механизм, при котором LLM анализирует JSON Schema доступных функций и сама решает, когда вызвать функцию с какими параметрами.
ReAct (Reasoning + Acting) — паттерн: рассуждение → действие → наблюдение результата → снова рассуждение. Фундамент большинства современных агентных систем.
AoT (Atom of Thought) — подход к планированию через JSON-граф атомарных действий. Каждый атом — одно действие, все атомы образуют DAG с зависимостями.
DAG (Directed Acyclic Graph) — направленный ациклический граф. Структура с направленными связями без циклов. Используется для описания зависимостей между задачами агента.
GGUF — формат хранения весов локальных LLM, оптимизированный для запуска на CPU с квантизацией. Скачивается с Hugging Face.
Tree of Thought (ToT) — паттерн: агент генерирует несколько ветвей рассуждений параллельно, оценивает каждую и выбирает лучшую (beam search).
Graph of Thought (GoT) — паттерн для агрегации нескольких источников через DAG-оркестрацию с явным разрешением конфликтов до генерации финального вывода.
Runnable Interface — паттерн композиции в LangChain. Базовый интерфейс, на котором строятся все цепочки: принимает вход, возвращает выход, может быть соединён с другим Runnable через pipe.
Exponential backoff — стратегия retry: после каждой неудачи ждёшь в два раза дольше, чем в прошлый раз. Предотвращает шквал повторных запросов при падении сервиса.
Нужен ли опыт в ML или математике для прохождения?
Нет. Первые уроки объясняют всё с нуля — что такое токены, как работает inference, почему контекст важен. Достаточно умения писать на JS или Python.
Это замена LangChain?
Нет. Это понимание того, как LangChain устроен. После прохождения используешь его осознанно — знаешь, почему Runnable интерфейс такой, зачем нужны типизированные сообщения, когда выбирать граф вместо цепочки.
Какую модель лучше скачать для старта?
Llama 3.1 8B или Mistral 7B в GGUF-квантизации (Q4_K_M достаточно). На 16 GB RAM комфортно. На 8 GB — берёшь Q3 квантизацию, будет медленнее, но работает.
Сколько времени занимает Фаза 1?
При 1–2 часах в день — около двух недель. Каждый урок построен как один сеанс: прочитал концепт, запустил код, поломал, починил, пошёл дальше.
AoT сложнее ReAct? С чего начать?
Начинай с ReAct (урок 9) — он проще и даёт базовое понимание agent loop. AoT (урок 10) — следующий шаг, когда нужна воспроизводимость и явное планирование.
Как подключить Claude или GPT вместо локальной модели?
Урок 2 показывает подключение к облачным API. Любой пример из Фазы 1 можно адаптировать под Claude или OpenAI, просто заменив клиент. Автор намеренно оставил это опциональным.
Есть ли сообщество вокруг проекта?
GitHub Issues и Discussions — пока небольшое, но активное. Проект solo-maintained, поэтому community растёт органически вместе с репо.
Три шага для старта:
Репозитории:
Если хочешь разобраться с агентами глубже — посмотри наш каталог AI-инструментов. Там собраны все среды разработки, с которыми агентные паттерны из этого репо стыкуются лучше всего: Windsurf, Cursor, Claude Code.
Хочешь разобраться, как применить конкретные агентные паттерны в своём продукте — запишись на консультацию к Максиму. Он строил автоматизацию для GoBanana (231 000 пользователей) и знает, что из этого реально работает в продакшене, а что красиво выглядит только в туториалах.
Обновлено: май 2026 | vibecoderz.ru