LangGraph vs Skills

Последнее время всё интереснее наблюдать за альтернативным подходом к разработке AI-агентов.

Вместо того чтобы самостоятельно выстраивать логику работы агента на LangGraph, можно взять готовую среду — Claude Code, OpenCode или GigaCode — и расширить её через Skills.

По сути, мы получаем готовый цикл работы агента, вызов инструментов, управление контекстом и базовые механизмы взаимодействия с окружением. А специфичную для наших задач логику описываем через md файлы, инструкции, скрипты и дополнительные инструменты. И здесь возникает интересный компромисс между скоростью разработки, гибкостью и контролем.

Подход 1. LangGraph и собственная архитектура агента Мы сами проектируем граф выполнения, состояния, переходы между этапами, обработку ошибок и логику принятия решений. Плюсы: — Полный контроль над последовательностью выполнения. — Явные состояния и переходы между ними. — Возможность управлять ветвлением сценариев. — Гибкая настройка проверок, ограничений и подтверждений действий.

Но за это приходится платить. По мере усложнения системы растёт количество состояний, условий и связей между компонентами. Добавление новых возможностей может требовать изменений в существующей логике.

Подход 2. Coding Agent + Skills Берём Claude Code, OpenCode или GigaCode и описываем необходимые возможности через Skills. Вместо новых узлов графа и переходов между ними зачастую достаточно добавить SKILL.md, инструкции и скрипты. И у тебя уже есть MVP решение, которое выполняет свою задачу.

Получаем: — Меньше инфраструктурного кода. — Быстрый запуск первых рабочих решений. — Простое добавление новых возможностей. — Готовые механизмы работы с инструментами. — Больше свободы в планировании и выборе способа решения задачи.

Но есть нюанс. Мы не избавляемся от сложности управления агентом. Мы просто передаём часть решений готовой среде и самой модели. А вместе с этим частично теряем контроль над тем, как именно выполняется задача. Становится сложнее гарантировать, что агент выберет нужный Skill, выполнит действия в ожидаемом порядке и не отклонится от предусмотренного сценария.

Отладка тоже меняется. Вместо анализа переходов между состояниями приходится разбирать историю действий, вызовы инструментов и решения модели.

И здесь возникает главный вопрос: что в итоге дешевле разрабатывать и поддерживать? Собственную архитектуру на LangGraph, где мы явно контролируем процесс выполнения? Или набор Skills и проверок поверх готового coding agent?

Мне кажется, для задач с высокой вариативностью, где важны скорость разработки и возможность быстро экспериментировать, подход со Skills может оказаться значительно удобнее. Особенно когда сценарии часто меняются, а заранее предусмотреть все варианты поведения практически невозможно.

Но если у нас сложный процесс с обязательными этапами, строгими требованиями к состоянию системы и необходимостью контролировать каждое критичное действие, LangGraph может быть более подходящим инструментом.

Возможно, главный вопрос сегодня не в том, что лучше — LangGraph или Skills. А в том, действительно ли нам нужно разрабатывать собственную систему управления агентом, если значительную часть задач уже умеют решать готовые инструменты? Интересно, кто уже пробовал оба подхода? Что в итоге оказалось проще развивать и поддерживать? #AIEngineering #AIAgents #LangGraph #ClaudeCode #OpenCode