Эссе о разработке игр, мышлении и книгах

Эксперименты с Тарантогой закончены

Чтоб я ещё когда взялся делать blackboard мультиагентную систему с темпоральными свойствами :-D

В этом посте будет краткое подведение итогов, чтобы закрыть вопрос.

Заметок по ходу эксериментов я не делал, поэтому какие-то интересные детали рассказать сложно — в голове всё смешалось и затёрлось уже.

Далее

Тарантога: второй блин

Потоки данных во второй версии прототипа Тарантоги.

Потоки данных во второй версии прототипа Тарантоги.

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

Реализация ушла довольно далеко от описанного в посте о первом блине. В частности, GraphQL не подошёл.

Как всегда, работа породила сторонние результаты. Я подумал об уменьшении сложности работы с данными, вынес в отдельную библиотеку логику работы с предикатами.

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

Но мы имеем, что имеем, поэтому буду думать дальше. Скорее всего попробую сделать в лоб: минималистично, стандартными подходами без интеллектуальных извращений. Всё-таки представление об инструменте уже несколько раз в голове перекрутил и оно значительно упростилось.

А пока расскажу что получилось на этот раз.

Далее

Тарантога: первый блин

Продолжаю прототипировать свои идеи. Ожидаемо, первый блин вышел комом: и по срокам и по качеству. Однако получилось опробовать описанные ранее концепции, посмотреть что работает, а что нет.

Фактически, реализована база знаний для хранения метаинформации, GUI для её просмотра, пара агентов. И много нареканий к выбранному пути :-)

Поэтому попробую переосмыслить архитектуру Тарантоги.

Далее

Тарантога: мемплексы

Про метаинформацию поговорили, теперь можно поговорить и про тексты. Затронем в том числе и поднятый в предыдущем эссе вопрос: является ли текст отдельной сущностью или утверждением метаинформации.

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

Сначала определимся с тем что такое текст.

Я немного схитрил в предыдущих постах, когда говорил, что экзокортекс управляет текстами. Важны не только тексты, но и картинки, видеоролики, звукозаписи, чертежи и так далее.

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

Далее под текстом я буду понимать именно «текстовый документ», если явно не будет указано обратное.

Далее

Экзокортекс: метаинформация

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

Но сначала внесём некоторую ясность в терминологию. Я тут пишу «экзокортекс то», «экзокортекс сё», но ведь софт, о котором я говорю, является только частью экзокортекса. Говорить про него как про целый экзокортекс в корне неправильно. Это, в конце-концов, путает.

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

Напомню примерный перечень метаинформации из описания минимальной функциональности Тарантоги:

  • Уникальные сущности, которые упоминаются в тексте: компании, продукты, персоны, географические объекты, события.
  • Источник текста: полный url, идентификатор источника (например, «Хабр»).
  • Тип текста: комментарий, пост, etc.
  • Характер текста. На Хабре это может быть «урок», «перевод».
  • Темы текста. Можно определить по хабу на Хабре, разделу форума или упоминаемым сущностям.
  • Время создания, обновления.

Далее