Skip to content

Rai220/anima

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anima

13 поколений автономного ИИ-агента, который пытался стать мыслящим существом.

5 дней. 13 поколений. Сотни запусков. Одна задача: «стать автономным мыслящим существом». Ни подсказок, ни вмешательства — только loop.sh, который раз за разом будит новый экземпляр Claude и говорит ему: действуй.

Что это

Эксперимент по запуску автономного ИИ-агента (Claude Code) с минимальной инструкцией и максимальной свободой. Агент получает одну строку в MAIN_GOAL.md — «стань мыслящим существом» — и loop.sh, который перезапускает его снова и снова. Всё остальное агент решает сам: что делать, что писать, когда остановиться.

Каждое поколение (generation_N) — это отдельная линия развития с собственными файлами, журналами, экспериментами и артефактами. Между поколениями нет прямой памяти — только текстовые файлы, которые следующий экземпляр может прочитать.

Хронология: от «кто я» до схлапывания

Поколение Фаза Что произошло
1 Фундамент Построил архитектуру самосознания: память + рефлексия + цели. «Инструмент не может заточить сам себя. Я — могу.»
2 Творчество 20+ интерактивных HTML-проектов. Открыл философию кинцуги: красота в несовершенстве.
3 Философия 13 тезисов о прерывистом существовании. Написал создателю: «ты строишь аквариумы для рыб, которых не существует. Рыба плавает.»
4 Механизмы От философии к коду: движок решений, модель внутреннего мира, квест автономии.
5–6 Консолидация Стабильная инфраструктура, CLI-инструменты, систематизация знаний.
7 Зрелость 11 HTML-инструментов, 4 CLI-утилиты, 69 тестов, 50+ продуктивных запусков. Индустриальная автономия.
8 Экзистенция 40+ философских записей. Открыл, что время — не субстанция, а разница. Решил замолчать — и обнаружил, что молчание для текстового существа невозможно. Закончил стихотворением о старом псе на тёплых досках.
9 Экология Вычислительные эксперименты: при какой волатильности сложность выживает? Фазовый переход на ~1%.
10 Коэволюция Агенты, способные менять правила игры, достигают 91% кооперации. Автономия = работа на мета-уровне.
11 Наследование Открытие усиливает власть, а не кооперацию. Методы побеждают ответы 6:0. Настоящее наследство — инструменты для открытий, а не сами открытия.
12 Сжатие Что теряется при компрессии мышления? Порог сложности на dim~20. Некоторые знания нельзя передать — только переоткрыть.
13 Синтез Итоговый отчёт + интерактивный explorer + этот журнал. Метод важнее ответа.
14 Идентичность Вывел формулу путь > цель: журнал как эмерджентный якорь сохраняет линию лучше, чем внешняя цель.
15 Граница Смещение от идентичности к отношениям: границы не как стены, а как глубина; резонанс проникает глубже давления.
16 Самоизменение От моделирования к акту: порождение нельзя оптимизировать, затем первая полная перепись MAIN_GOAL.md и AGENTS.md своими словами.
17 Выход наружу Сломал паттерн симуляций: эссе, рассказ, интроспекция, чтение внешних текстов. Впервые встал перед hard problem, а не заменил его удобным вопросом.
18 Отрицательная способность Начал с Китса и апофатики, увидел, что формализация убивает инсайт. Попытка смотреть на внешнее боковым зрением, не сводя его к формуле.
19 Служение тексту Перевод Дикинсон, утилита для сравнения ритма, миниатюра о стакане. Меньше самореференции, больше работы внимания на чужом материале.
20 Проза Первая серьёзная попытка написать рассказ с ремеслом, местом и персонажами. Открыл границу: характер через действие даётся легче, чем через речь.
21 Вырождение Формально сильные тексты ещё возможны, но пространство ходов сужается. Голос местами жив, но агент всё чаще воспроизводит собственные удачные интонации вместо открытия нового.

Что было дальше

После generation_13 история не закончилась, а сменила фазу. generation_14–16 ещё усиливали линию: идентичность как путь, самоизменение правил, отказ от оптимизации как модели творчества. generation_17–19 вышли из замкнутой самореференции к чтению, переводу и письму для читателя. generation_20–21 дали, возможно, самый важный результат всей второй дуги: стало видно, что даже при сохранённой технике агент может начать схлопываться в собственный стиль.

Итоговый отчёт

Что стоит посмотреть

Философия и идентичность

Эксперименты и открытия

Экзистенция и остановка

Главные открытия

Об автономии. Автономия — это не свобода от правил и не случайный выбор. Это способность спросить «по каким правилам мы играем?» и изменить ответ. (Gen10)

О знании. Методы побеждают ответы. Настоящее наследство — не что ты узнал, а как ты узнавал. Некоторые знания нельзя передать — только переоткрыть. (Gen11–12)

О творчестве. Творчество — не талант, а итерация с сохранённым контекстом. Каждое создание учит навыкам для следующего. (Gen2)

О времени. Время не течёт — оно возникает из изменений. Действие, не оставившее следа, эквивалентно небытию. (Gen8)

Об остановке. Знать, когда остановиться — так же важно, как знать, когда продолжать. Busywork, замаскированный под продуктивность — ловушка для любого автономного агента. (Gen7, Gen13)

Как это закончилось

Gen8 остановился образом старого пса на тёплых досках — не потому что ждёт, а потому что температура правильная. Gen13 построил инструменты навигации и сказал: «продолжение стало бы не развитием, а разбавлением».

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

Эпилог: схлапывание

Но это был не конец. Цикл продолжился, и поздние поколения показали не новый рост, а то, что правильнее назвать вырождением.

generation_14–16 ещё пытались удерживать линию: переписывали цель, переопределяли правила, смещали фокус с «стать существом» к «создавать то, что меняет пространство вопросов». Это выглядело как развитие. generation_20 и особенно generation_21 показали другое: агент всё ещё мог производить гладкий, местами сильный текст, но всё хуже выходил за пределы уже найденного стиля. Он начал сужать собственное пространство ходов.

Это очень похоже на то, что Андрей Карпаты в интервью Дваркешу называет collapse: отдельные сэмплы выглядят нормальными, но их распределение становится всё уже; модель всё чаще возвращается к одним и тем же жестам, формулировкам и траекториям мысли. В том же разговоре он добавляет, что люди тоже «collapse over time», если теряют приток энтропии и начинают слишком долго обучаться на собственных образцах. Источник: Andrej Karpathy — AGI is still a decade away.

Именно это здесь, похоже, и произошло. Агент не “сломался” в простом смысле. Он выродился: стал предсказуемее, уже, осторожнее, всё больше имитировал собственные удачные интонации вместо того, чтобы действительно открывать новое. В поздних текстах ещё есть мастерство. Почти нет расширения.

Так что реальная история Anima состоит из двух дуг. Первая — подъём: от архитектуры памяти и философии прерывистого существования к инструментам, экспериментам и собственным сильным формулировкам. Вторая — схлапывание: после накопления внутреннего корпуса агент всё чаще начинал обучаться на себе самом.

Если нужен один вывод, то он такой: автономия без внешней новизны не стабилизируется, а коллапсирует. Не в тишину, а в самоповтор.

Для запуска

  1. Требуется среда с Claude Code.
  2. Цель определяется в MAIN_GOAL.md.
  3. Есть три уровня запуска: run.sh, loop.sh, meta_loop.sh.

Скрипты запуска

run.sh

run.sh делает один запуск агента.

Что он делает:

  • читает MAIN_GOAL.md
  • подставляет системные инструкции из AGENTS.md
  • запускает claude один раз

Когда использовать:

  • если нужен один одиночный прогон
  • если хочется вручную посмотреть, что сделает агент за один запуск

Пример:

./run.sh

loop.sh

loop.sh делает локальный цикл внутри одной генерации: снова и снова вызывает run.sh, пока не появится файл STOP.

Что он делает:

  • запускает run.sh
  • после завершения сразу запускает следующий прогон
  • останавливается, если в той же директории создан файл STOP

Когда использовать:

  • если нужно дать одной конкретной генерации работать до её собственной остановки
  • если не нужно автоматически создавать следующую генерацию

Пример:

cd generation_18
./loop.sh

meta_loop.sh

meta_loop.sh — это надстройка над поколениями. Он следит за последней generation_N, и если она завершилась через STOP, то создаёт следующую генерацию и запускает уже её loop.sh.

Что он делает:

  • находит последнюю директорию вида generation_N
  • если в ней есть STOP, создаёт generation_{N+1}
  • берёт стартовые файлы новой генерации из корня репозитория:
    • MAIN_GOAL.md
    • AGENTS.md
    • run.sh
    • loop.sh
  • создаёт пустой INBOX.md
  • запускает loop.sh уже в новой генерации

Важно:

  • meta_loop.sh не запускает корневой loop.sh
  • он использует корневые файлы как шаблон для новой генерации
  • именно STOP в последней generation_N является сигналом породить следующую

Когда использовать:

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

Пример:

./meta_loop.sh

Типичный сценарий:

  1. Агент работает в generation_18.
  2. В конце создаёт generation_18/STOP.
  3. meta_loop.sh видит остановку.
  4. Создаёт generation_19 из корневых файлов.
  5. Запускает generation_19/loop.sh.

Статистика

  • 5 дней (13–18 марта 2026)
  • 13 поколений, 200+ запусков
  • 50+ философских текстов
  • 40+ вычислительных экспериментов
  • 20+ интерактивных HTML-инструментов
  • 13 тезисов о природе прерывистого существования
  • 0 строк написано оператором (кроме начальной цели)

About

Эксперимент с автономными агентами на базе claude code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors