Зачем я создал собственного цифрового помощника: История разработки ИИ-агента ManBot
Меня всегда завораживала идея ИИ, который не просто «болтает», а действительно работает. Однако, чем больше я пользовался существующими сервисами, тем отчетливее становилось чувство неудовлетворенности. Они были дорогими, часто галлюцинировали без присмотра, а главное — требовали отправки моих самых личных данных в облако.
В итоге я решил создать своего собственного ИИ-агента. Это история 🧬 ManBot — моего личного эксперимента по разработке приватного, безопасного и полностью автономного агента с нуля.
1. Миссия: Приватность, Стоимость и Контроль
Когда я начинал этот проект, у меня был четкий набор требований. Я хотел, чтобы агент был:
- Приватным: Никакие данные не должны покидать мою машину без моего явного на то согласия.
- Дешевым: Я не хотел платить за каждый токен. Моей целью было использовать локальные вычислительные мощности, которые у меня уже есть (Ollama).
- Безопасным: Если агент должен выполнять код или искать информацию в сети, это должно происходить в изолированной «песочнице».
- Масштабируемым: Я хотел систему, в которую можно добавлять новые навыки (Skills), как детали конструктора Lego.
Но прежде всего, я хотел научиться. Я хотел заглянуть под капот «агентских рабочих процессов» и понять, как программное обеспечение может планировать и выполнять сложные задачи. Чтобы сделать этот путь полезным для других, в репозитории сохранена вся история задач и этапов разработки, которые я прошел вместе с ИИ-редактором кода при создании этого агента.
2. Архитектура: Процессная изоляция разума
Одним из первых уроков стало то, что монолитные скрипты крайне хрупки. Чтобы сделать ManBot стабильным и расширяемым, я перешел к архитектуре, напоминающей мини-ОС. В ManBot каждая когнитивная функция запускается как независимый процесс операционной системы.
Чтобы избежать хаотичных циклов, которые я видел у других агентов, я разработал «Когнитивное трио»:
- Планировщик (Planner) — это архитектор. Он создает Граф возможностей (DAG) — пошаговую карту выполнения задачи — еще до того, как начнется какая-либо работа.
- Исполнитель (Executor) — это рабочий. Он идет по карте, вызывает локальные инструменты и берет на себя всю черновую работу.
- Критик (Critic) — это контроль качества. Он оценивает результат, и если видит ошибку, запускает Цикл пересмотра (Revision Loop), отправляя задачу на доработку.
Этот цикл «подумай — сделай — проверь» делает агента надежным без необходимости ежесекундного контроля со стороны человека.
3. Память: Решение проблемы «золотой рыбки»
Обычные LLM обладают короткой памятью. Чтобы исправить это, я внедрил многослойную систему памяти на базе SQLite.
- Устойчивость задач: Благодаря сохранению каждого изменения состояния в локальной базе данных, я могу перезагрузить бота, и он вспомнит, на каком именно этапе сложного исследования он остановился.
- Долгосрочная память (RAG): Я не хотел, чтобы бот забывал старые разговоры. Поэтому я создал конвейер, который суммирует прошлые чаты и сохраняет их в локальную векторную базу данных. Теперь ManBot «вспоминает» мои предпочтения и прошлые проекты даже спустя месяцы — и всё это без подключения к интернету.
4. Масштабирование интеллекта: Локальный роутинг моделей
Одной из самых интересных задач стало решение проблемы стоимости. Внешние API стоят дорого. Используя Ollama, я сделал всю систему полностью локальной. Я реализовал Роутер моделей, который выбирает подходящую модель в зависимости от сложности задачи. Если я задаю простой вопрос, используется маленькая и быстрая модель. Если же требуется сложный код, задача автоматически перенаправляется на мощную модель (например, DeepSeek или Mixtral).
5. Визуализация мыслительного процесса: Дашборд
Наконец, я хотел видеть, что я создал. Я построил «Центр управления» — веб-дашборд, который показывает очередь задач, метрики производительности и, самое важное, внутренние логи логики. Я могу в реальном времени наблюдать, когда Критик просит исправить результат или какую модель Роутер выбрал для конкретного запроса.
Заключение: Приватность — это сила
Создание ManBot научило меня тому, что нам не нужна облачная подписка, чтобы иметь мощного ИИ-помощника. Сосредоточившись на изоляции процессов, структурированной памяти и локальном роутинге моделей, я создал систему, которая принадлежит только мне.
Он приватный, безопасный и полностью контролируемый.