Серия «Simba»

4

Мой AI-помощник спроектирован так, чтобы не свести вас с ума

Серия Simba

Всем привет.

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

Новости за последнее время показывают, что AI становится мощнейшим инструментом, но в то же время опасным зеркалом. ИИ часто отражает и усиливает наши внутренние проблемы, тем самым загоняет в цикл навязчивых мыслей, иногда подтолкивая к краю.
Когда я решил посвятить себя созданию AI-помощника Simba, было ясно:

главная задача сделать AI безопасным

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

Принцип №1: От мягкого знакомства к глубокому анализу

Первое, что делают те кто работает с психикой, создают безопасное пространство. Не бросают клиента с порога в анализ детских травм.

Simba устроен так же встречает, легким, ни к чему не обязывающим диалогом.
Задача познакомиться, а не нагрузить.

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

Это шаг, для тех, кто хочет лучше понять себя.

Принцип №2: Сначала «Зачем?», потом «Что?»

Запросы:
"Я хочу похудеть" или "хочу больше зарабатывать" — это редко о деньгах или лишнем весе.
Чаще— это желание нравиться себе, потребность в безопасности или стремление к свободе.

Поэтому, когда пользователь готов сформулировать цель, с ним начинает работать "AI-Коуч". Задача помочь докопаться до истинной мотивации.

Задать вопросы, которые помогают отделить навязанные обществом цели от собственных, глубинных ценностей.
Только когда появляется ясное "Зачем?", пора переходить к "Что?". Этот принцип не дает пользователю броситься выполнять цели, которые на самом деле не нужны и которые уже завтра забросит, почувствовав себя неудачником.

Принцип №3: Действие как лекарство от тревоги

И вот здесь начинается магия, которая в КПТ называется "поведенческая активация". Когда цель ясна, на сцену выходит "AI-Менеджер".

Задача помочь разбить пугающую цель на микроскопические первые шаги.
Не "Написать книгу", а "Открыть ноутбук и написать одно предложение".
Не "Начать бегать", а "Достать кроссовки и поставить у двери".

Это нужно чтобы разорвать порочный круг "тревога -> паралич -> еще тревога". Выполнение такого крошечного, не требующего воли действия дает мозгу микро-дозу дофамина и создает импульс. Это превращает борьбу с собой в игру, в которой легко побеждать.

А теперь — главный вопрос к вам

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

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

  1. Какие "грабли" здесь самые опасные? Как не превратить полезную рефлексию в деструктивное самокопание и бесконечное пережевывание мыслей?

  2. На месте клиента. Какие вопросы в конце трудного дня ему бы действительно помогли, а какие — лишь усугубили бы его состояние?

  3. Где проходит этическая черта? Может, стоит программно запрещать боту обсуждать определенные темы или мягко предлагать обратиться к специалисту, если диалог становится слишком тревожным?

  4. Ваши мысли с предостережениями или критикой подхода.

Я строю этот проект не как всезнающий гуру, а как исследователь, открытый к диалогу. И ваш взгляд со стороны — от практикующих специалистов до людей, которые глубоко в теме, — для меня бесценен.

Спасибо.

Показать полностью

Театр AI-агентов: Как я применил DDD для создания управляемого AI на NestJS

Серия Simba

Привет, коллеги!

Сегодня я хочу поделиться не просто кодом, а архитектурной философией, которая помогла мне построить сложный AI-проект и не сойти с ума. Речь пойдет о том, как я организовал свой "Театр AI-агентов" для своего бота Simba.

Пролог: Проблема предсказуемости

Все мы знаем, что LLM — это хаос. Они могут быть невероятно мощными, но при этом совершенно непредсказуемыми. Моя работа с разными моделями, включая ранние эксперименты с OpenAI, быстро показала: для моей задачи — создания человечного, но управляемого собеседника — нужен был не просто "хороший промпт", а система. Система, которая бы изолировала ядро приложения от капризов AI.

Опираясь на свой опыт, я с самого начала решил применить принципы DDD, чтобы качественно и безопасно отделить работу агентов от бизнес логики. Идея была в том, чтобы построить настоящий театр, где у каждого есть своя четкая роль.

Акт I: Кастинг и роли (Архитектура)

Мой театр стоит на простом разделении ролей.

  • Сцена (Scene): Текущий контекст диалога. Например, "Знакомство" или "Декомпозиция цели". Каждое сообщение содержит не только chat_id но и scene_id

  • Режиссер (ConversationFlowService): Управляет сценами и решает, какие "актеры" сейчас играют.

  • Актеры (Asker-Agent): для каждой сцены свой. Его задача — красиво говорить, вести диалог.

  • Статисты (CRUD-Агент): Рабочие сцены. Они молча слушают диалог и меняют декорации (данные в БД), когда asker подает сигнал.

Акт II: Сценарий и борьба с Франкенштейном

Первые версии сценариев были кошмаром. Я хранил промпты в i18n-файлах, и они быстро превратились в "Промптов Франкенштейна" — огромные, нечитаемые портянки, где смешались код, тексты и правила. Редактировать их было невозможно.

Так родился PromptManagerService — фабрика сценариев, которая решила эту боль:

  1. Сценарии переехали в .md файлы. Тексты отдельно, код отдельно.

  2. Сложные сценарии собираются из частей с помощью {{include}}. Больше никакой копипасты.

  3. В сценарий динамически вставляется реквизит. Контекст (профиль, цели, задачи...) подставляется в промпт в формате YAML. Я выбрал его из-за экономии токенов — для сложных объектов он оказался эффективнее JSON.

    Этот сервис сразу при запуске вычитывает все md файлы и кэширует их, а дальше рендерит промпт для каждого из агентов по его запросу.

Акт III: Эволюция управления (Контракты и команды)

Как заставить актеров играть слаженно? Через строгие контракты и четкие команды.

Контракт — это Zod. С самого начала я использовал Zod-схемы для получения структурированного вывода от AI. Это мой "Единый Язык": одна и та же схема используется для генерации responseSchema для Gemini и для валидации DTO в NestJS.

Команда — это ChatWithReplies. И вот здесь произошла главная эволюция.

Изначально это работало проще и грубее. Asker-агент заканчивал реплику и просто говорил "режиссеру": "Я все, проверь сцену". После этого "режиссер" запускал всех CRUD-агентов, доступных на текущей сцене. Это работало, но было неэффективно и вело к лишним операциям.

Это привело к текущему, более изящному решению. Теперь Asker-агент умнее. Проанализировав диалог, он возвращает режиссеру DTO ChatWithReplies, в котором есть поле updateAgents: string[].

Это не просто сигнал. Это точечная команда: "Я закончил реплику. А теперь вызови, пожалуйста, конкретно ProfileCrudAgent и TaskCrudAgent".

Asker-агент сам решает, каких именно статистов нужно активировать. Эта простая, на первый взгляд, доработка полностью изменила поток данных, сделав его эффективным и предсказуемым.

Эпилог: Уроки и выводы

В итоге я полностью перешел на Gemini, так как его модели лучше подошли для задачи создания "человечного" собеседника, с ним получилось добиться человечности и следованию логики. Но главный урок не в выборе конкретной LLM.

Главный урок в том, что нельзя доверять AI. Нельзя строить бизнес-логику на надежде, что модель поведет себя правильно. Единственный рабочий путь — построить архитектуру, которая относится к AI как к непредсказуемому внешнему сервису.

Мой "театр" — это просто один из способов построить такую отказоустойчивую систему. Он позволяет мне менять актеров (модели), переписывать сценарии (промпты), но быть уверенным, что само представление не развалится, даже если кто-то из актеров забудет свою реплику.


Надеюсь, эта метафора и мой опыт будут кому-то полезны. Было бы интересно услышать в комментариях, как вы решаете подобные архитектурные задачи, и объективную критику. Ну и если хотите увидеть театр в действии — ссылка на Simba.


  1. Статья 1: Я устал быть «ленивым пиздаболом» и создал AI-коуча...

  2. Статья 2: Психология AI: Как я научил Simba быть наставником, а не просто чат-ботом (скоро)

  3. Статья 3: Театр AI-агентов: Как я применил DDD для создания управляемого коуча на NestJS (вы здесь)

  4. Статья 4: Каким я вижу будущее AI-коучинга: философия и дорожная карта Simba (скоро)

Показать полностью
6

Я устал быть «ленивым п**да***ом» и создал AI-коуча, который заставил меня доделать мой же проект

Серия Simba

Привет, Пикабу. Особенно пламенный привет братьям и сестрам из Лиги Лени.

Меня можно описать как «токсично позитивного материалиста-романтика». А если по-честному, для своих я просто «ленивый пиздабол». Знаете, тот самый тип, который может придумать миллион гениальных способов решить задачу, а потом… пойти пить чай. У меня на компе есть священная папка ~/projects. Это не просто папка. Это настоящее кладбище блестящих идей, умерших в муках от первого же реального шага.

Знакомо?

by imagen 4 ultra

by imagen 4 ultra

Иллюзия контроля и благородный похуизм

Моя история стара как мир. Я три года "собираюсь" сдать на права. Мой балкон — это портал в Нарнию, заваленный вещами, которые ждут своего часа. И, конечно, я — ветеран войны с таск-менеджерами.

Jira, Notion, AnyType… О, сколько раз я с энтузиазмом заводил там аккаунты! Тратил часы на создание идеальной структуры, раскладывал всё по колоночкам, ставил теги, смайлики. Чувствовал себя богом продуктивности. Ровно до следующего утра. А через неделю открывал всё это великолепие, видел список просроченных задач и испытывал…
Ничего. Чистый, кристальный, благородный похуизм. И закрывал вкладку.

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

Точка кипения: уволился, чтобы прокрастинировать на фултайме

Последней каплей стал не какой-то конкретный день. Это был медленный, тягучий период осознания: я больше не хочу делать тупые задачи для тупых менеджеров. Я хочу делать что-то своё. Что-то, что изменит мир хотя бы для нескольких человек. Идея была простой и пафосной: «увеличить количество рациональных и осознанных людей в мире».

И я это сделал. Я уволился.

Казалось бы, вот она, свобода! Делай, твори, меняй мир! И первую неделю на энтузиазме это работало, но день сурка никуда не делся. Он просто сменил декорации. Теперь я прокрастинировал не на работе, а дома, работая над СВОИМ проектом. Целый день я мог с упоением заниматься рефакторингом, отладкой какого-то никому не нужного модуля или выбором идеального оттенка для кнопки, вместо того чтобы делать главное — показывать бота людям и двигаться дальше. Я уволился, чтобы перестать выполнять бессмысленные задачи, и тут же начал придумывать их сам для себя.

В этот момент до меня дошло. Проблема не в отсутствии плана. Проблема в том, что я один на один с этим планом.

Мне нужен был не надсмотрщик, а собеседник. Не таск-менеджер, а напарник по мышлению.

Рождение Simba

Так я начал делать Simba. AI-коуча в Telegram. Не очередную "напоминалку", а партнера, который задает правильные вопросы и помогает сдвинуться с мертвой точки. Я связался со знакомым коучем, изучил запросы его клиентов и понял: я не один такой. Всем нам нужен кто-то, кто поможет сделать тот самый, первый, самый страшный шаг.

И знаете, какую первую, самую главную задачу я поставил в Simba, когда заработал первый прототип?

«Доделать Simba».

Это сработало. Бот заставлял меня самого декомпозировать эту гигантскую цель на микроскопические, нестрашные шаги. "Выложить историю в тг для гаражного тестирования", "спросить 5 человек", "поправить одну ошибку". И я начал двигаться.

Как это работает (очень просто):

  • Шаг 1: Разговор по душам. Сначала Simba просто общается с тобой. Без анкет и тупых форм. Его задача — вытащить из тебя то, что действительно болит и чего действительно хочется. За этим диалогом стоит продуманная коучинговая методология, которая помогает отделить зёрна от плевел. Об этом я расскажу в следующей статье.

  • Шаг 2: От мечты к первому шагу. Потом он помогает превратить это «хочу» в конкретную цель и разбить её на маленькие, понятные шаги. "Начать ходить в зал" превращается в "Найти 3 зала рядом с домом за 15 минут".

Это не волшебная таблетка

Моя цель — не создать еще один таск-менеджер, который вы забросите через неделю. Моя цель — дать инструмент, который помогает в самом сложном: в честном диалоге с самим собой. Помогает пройти путь от "я ленивый пиздабол" до "о, я сегодня что-то сделал, я молодец". О том, каким я вижу будущее проекта и как вы можете на него повлиять, я расскажу в заключительной части нашей истории.

Если вам всё это откликается, если у вас тоже есть свой "засранный балкон" или папка-кладбище проектов, попробуйте @SimbaDimbaBot. Он сейчас на самой ранней стадии, и я буду чертовски благодарен за любую обратную связь.


  1. Статья 1: Я устал быть «ленивым пиздаболом» и создал AI-коуча... (вы здесь)

  2. Статья 2: Психология AI: Как я научил Simba быть наставником, а не просто чат-ботом (скоро)

  3. Статья 3: Закулисье AI-коуча: театр AI-агентов на NestJS (скоро)

  4. Статья 4: Каким я вижу будущее AI-коучинга: философия и дорожная карта Simba (скоро)


UPD:

Статья 3: Театр AI-агентов: Как я применил DDD для создания управляемого коуча на NestJS

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества