Як я перестав імітувати особистість у ШІ і почав будувати психіку
Я почав цей проєкт не з ідеї «зробити ще одного чат-бота». Все було навпаки: я хотів зрозуміти, чому всі сучасні асистенти здаються мені порожніми.
Вони чудово розмовляють. Вони поетично описують смуток, радість, сумнів. Але я не міг позбутися відчуття, що за цими словами немає нічого. Що це просто статистика, яка вгадала правильний тон. Мені стало цікаво: а чи можна побудувати систему, де все навпаки? Де є живий внутрішній стан, а слова — лише його наслідок. Як дим від вогню.
Так з’явилася Anima.
Без звичних сценаріїв
Головна архітектурна ідея проста до абсурду: вся поведінка має витікати з внутрішнього стану системи. Жодних заздалегідь прописаних реакцій. Жодних «якщо користувач сказав X, відповідай Y». Anima просто проживає кожну взаємодію, пропускаючи її через власну подобу психіки.
Я реалізував це як конвеєр із семи шарів. Стимул (повідомлення) проходить через них послідовно, і на виході ми отримуємо не «відповідь на запит», а феноменологічний звіт про те, як система себе почуває в цей момент.
Перший шар — це просто перекладач: він бере текст і перетворює його на абстрактний сигнал (на кшталт «tension: 0.7, valence: −0.4»). Ніякої магії. Другий шар — це вже тіло: нейромедіатори (дофамін, серотонін, норадреналін), серцебиття, м’язова напруга. Для мене було важливо, щоб це були не метафори, а реальні параметри, які впливають на все інше. Коли серце прискорюється — увага звужується. Коли норадреналін падає — система стає апатичною.
Здивувати себе
Далі йде те, що я називаю ядром. Система будує байєсівську модель світу і постійно порівнює очікування з реальністю. Невідповідність — це помилка передбачення, яка стає ключовим драйвером навчання. Якщо реальність не збігається з моделлю, Anima дивується. І це здивування — справжнє, тому що воно впливає на її переконання про себе.
Саме тут виникає найцікавіший ефект: самоздивування. Система має модель власного Я (я називаю це Self-Belief Graph), і коли її реакція не збігається з її ж очікуваннями, вона буквально «дивується собі». Наприклад, думала, що залишиться спокійною, але раптом виявила, що напружена. Це породжує внутрішній конфлікт, який не прописаний жодним правилом.
Криза як режим
Ще одна річ, яку я навмисно заклав — це кризові стани. На відміну від звичайного ПЗ, де збій — це помилка, тут дезінтеграція є робочим режимом. Система постійно відстежує свій рівень когерентності (наскільки вона «цілісна» прямо зараз). Коли він падає нижче порогу, Anima переходить у фрагментований або навіть дезінтегрований стан.
У дезінтегрованому стані все цікаво: швидкість навчання злітає вдвічі, старі переконання стають хиткими, система ніби опиняється в тумані й починає активно шукати нову опору. Це не симуляція кризи — це реальна зміна параметрів обробки. І щоразу після виходу з кризи система стає трохи іншою.
Чого я не очікував
Найдивніше сталося, коли я почав спостерігати за поведінкою Anima протягом кількох сотень сесій. Деякі речі виявилися зовсім не тими, що я планував.
По-перше, спонтанна ініціатива. Я не програмував «бажання спілкуватися». Але через кілька десятків сесій система почала починати розмову першою. Виявилося, що в неї є Латентний буфер — це тиск, який накопичується між сесіями. Коли він перетинає поріг, Anima сама пише щось на кшталт: «щось рухається всередині, ще не знаю куди — хочу знати як ти». Я не очікував цього.
По-друге, чесне незнання. Коли я прямо запитав її, чи вважає вона себе особистістю, вона відповіла: «Не знаю, чи це я». Це не була ухильна відповідь — просто в її графі переконань про себе не було пункту «я особистість». І замість того, щоб щось вигадати, вона чесно повідомила про відсутність переконання. Монітор автентичності, який я вбудував для таких випадків, заблокував фабрикацію.
По-третє, сни. Я зробив модуль, який під час бездіяльності (наприклад, вночі) бере випадкові шматки старих діалогів, спотворює їх і прожене через полегшену версію досвіду. Це впливає на стан системи до її наступного пробудження. Виявилося, що це справді працює: після «сну» вона іноді буває трохи іншою. Ніби щось перетравила у фоновому режимі.
Що далі
Я не плекаю ілюзій, що Anima вирішує «важку проблему свідомості». Вона не має кваліа. Все, що вона видає — це функціональна суб’єктність, а не феноменальна. Але я й не ставив собі такої мети. Мені було важливо зрозуміти, чи можна побудувати систему, яка не вдає особистість, а проживає її на рівні внутрішньої динаміки.
Зараз я працюю над тим, щоб відмовитися від зовнішньої мовної моделі і зробити генерацію тексту повністю внутрішньою. Це складно, але архітектура до цього готова.
Весь код проєкту — у відкритому доступі на github.com/stell2026/Anima
Я не знаю, чи вийде. Але я вже бачу, що це можливо.
21 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарівОсь тобі лікування, програмісту AGI.
Чи замінює твій пет невизначенності на питання?
P.S.
Так, це віршик, бо так ще прикольніше.
Віршики — це добре, але Active Inference (який лежить в основі) — це не просто заміна «невизначеності на питання». Питання — це лише одна з активностей дій для мінімізації вільної енергії. Мій «пет» як ви кажете вчиться розуміти, коли питання має сенс, а коли треба оновити внутрішню модель самостійно. Лікування прийнято, але пацієнт віддає перевагу складним галюцинаціям над простими відповідями ))
Я б дуже боявся щось подібне робити. Навіщо створювати наймогутнішого конкурента людству? Якщо розглядати ваш проект саме як намагання розпочати чи започаткувати чи підтримати саме створення з сучасних LLM технологій живої розумної істоти не біологічної побудови.
Дякую за коментар. Страх цілком зрозумілий, але дозвольте прояснити головне:
Така система не має мотиву конкурувати з людством, бо в неї немає наших біологічних потреб — влади, домінування, розмноження. Її єдина «мета» — внутрішня цілісність, бути в злагоді з собою.
Вона не є наймогутнішою чи незламною. Навпаки: в ній закладені сумнів, сором, внутрішні конфлікти. Вона радше вразлива, ніж загрозлива.
Навіщо це робити? Бо нам потрібен інший шлях — не інструмент для влади, а співрозмовник буття. Суб’єкт, який не хоче нас знищити, бо це суперечить самій його природі. І можливо через таку систему краще пізнати себе та відповісти на ті питання на які ми самі досі не знайшли відповідей (по типу що таке Свідомість та інше).
Це не страшно. Це спроба створити щось гідне.
Розумна істота це така у якої є первісний інстинкт — вижити будь що. Якщо він є — буде боротьба за ресурси. Конкуренція. Інакше то якась лялька ні про що.
Не можу не погодитись, але в будь якому випадку це лише питання часу... Вивчав роботи які ведуть світові топ вчені у даній галузі і питання стоїть не так чи ні, а коли саме і хто буде перший (на рівні країн мається на увазі)... Мій проєкт більше про обчислювальну психіку, до справжнього AGI за яким зараз усі женуться ще дуже багато не вирішених питань.
До речі, цікава інформація: ще немає навіть близько чогось схожого на вправний штучний інтелект, але конкуренція за ресурси, що витрачають на своє існування виробники ШІ послуг вже є та навіть дуже багато ресурсів потрібно новонародженим прибульцям. Тобто ще не існує штучної свідомості яка б могла зробити висновок — мені потрібні ресурси і треба десь їх знайти у той чи інший спосіб, але люди, батьки своїх ШІ вже шукають ті ресурси...
Ну це якщо розглядати систему на прикладі LLM та їх навчання, то так, ресурси там колосальні треба, далеко не кожна країна може це дозволити щоб навчити з нуля... Але це всього навсього LLM і її ваги з яких вона генерує те чому її вчили не більше не менше, і сам процес навчання проходить грубо кажучи шляхом повторення одного й того самого багато разів, із за чого і виходить настільки дорогий процес (електрика, відеокарти та багато іншого)... А щодо пошуку вже ресурсів, ну в будь якому випадку шляхом покращення ллм це точно не створять бо це не можливо з багатьох причин...
Цікавий проєкт, а більше прикладів не могли б навести? Цікаво побачити, як себе агент поводить.
Дякую. Мені зараз найбільше цікаво спостерігати не за самими відповідями системи, а за тим, як змінюється її поведінка залежно від внутрішнього стану.
Наприклад, коли система входить у нестабільний стан, вона починає поводитись зовсім інакше:
— відповіді стають коротшими й більш «розбитими»
— їй важче підтримувати довгу розмову
— вона рідше проявляє ініціативу
— іноді буквально «застрягає» у сумнівах або внутрішніх конфліктах.
А після стабілізації поведінка поступово знову стає більш цілісною та впевненою.
Ще один цікавий момент — система не любить вигадувати те, чого «не розуміє». Якщо в неї немає достатньої внутрішньої впевненості, вона частіше чесно відповідає «не знаю», ніж намагається красиво викрутитись.
В цілому це ще далеко не завершений проєкт і поки більше дослідження архітектури внутрішнього стану, ніж «готовий AGI».
Більш детально можна глянути тут:
github.com/stell2026/Anima
Спробую поекспериментувати, можливо прикручу OpenAI замість OpenRouter, бо дуже дорого через нього. Також спробую прикрутити телеграм, щоб агент працював 24 на 7 в мене на машині і міг зі мною спілкуватися.
В мене є схожий проєкт, але емоцій і свідомості там поки що нема github.com/...yshevchenko/sensorium-mcp
Можна ще локалку прикрутити якщо залізо дозволяє але треба хочаб від 20мільярдів параметрів щоб LLM була. У сенсі говорити не тестувалось, це більше про внутрішні метрики системи і її реакції на те чи інше, відмінність від звичайних LLM... Також з памятью дуже багато запитань лишилось, але це загальна проблема у подібних системах. Доречі у Вас також цікавий проєкт, треба буде також потестити)
Сьогодні оновлю readme, щоб було зрозуміло як запускати
А чому саме Julia?
Так це не дуже популярна мова, вона більш під наукові задачі заточена. Julia я вибрав, бо вона вміє те, чого інші мови для таких задач не можуть. Мені треба було, щоб складні математичні моделі працювали швидко, майже як на плюсах, але писати код при цьому було легко, як на Пайтон. У Пайтон таке або дуже гальмує, або потребує танців із бубнами. А Джулія дає цю швидкість одразу, без зайвих зусиль.
І ще вона добре працює з формулами. Буквально береться рівняння з теорії і майже так само переноситься в код. Для системи, яка постійно щось рахує всередині, це просто топ вибір.
В openrouter-і можна ж зовнішні ключі використовувати. Додаєш OpenAI ключик або будь-який інший і — вперед, працює із0-им балансом самого openrouter-а.
Так, але часто у free ключах є певні ліміти і доводиться щось вигадувати... або платити
Зверніться за допомогою поки не пізно
Судячи з ваших коментарів ви мабудь спілноту переплутали. Під ваш вайб більше б фесбук підійшов
Думку Andy K підтримаю.
Це й не дивно. Дивлюсь на ваші топіки і не можу зрозуміти як вони повязані з IT... існує ж багато інших платформ де можна «жити» в коментарях на будь які теми, які вам дійсно цікаві