Две операционные системы для мышления: FPF и HALO

Существуют разные способы организовать процесс мышления. Некоторые из них достаточно формализованы, чтобы их можно было назвать “операционными системами” — наборами правил и структур, которые определяют, как обрабатывается информация и принимаются решения.

Ниже проведён сравнительный обзор двух подходов: FPF (First Principles Framework) и HALO (описание эволюции искусственного агента от простых автоматических реакций до способности анализировать собственное мышление).

Основное различие

FPF — это инструкция. Набор паттернов, которые объясняют, как структурировать решение задач. Система состоит из 11 доменов знаний (основы, трансформация, рассуждение, доверие и доказательства, агрегация и другие), каждый из которых содержит конкретные паттерны для работы с определённым типом проблем.

HALO — это история. Хронология развития системы, которая научилась запоминать собственный опыт, затем начала понимать, что она делает, а потом обнаружила способность смотреть на себя со стороны. Проект описывает путь от версии 0.36 до 2.0, где каждый этап добавляет качественно новую возможность.

Если упростить: FPF показывает как думать, HALO показывает как система обнаруживает, что она думает.

Архитектура

FPF построен на принципе строгих различений. Центральное из них — разделение Method и Work. Method — это план действий, описание того, что нужно сделать. Work — это сам процесс выполнения. Система запрещает смешивать эти две вещи: нельзя изменять план во время работы, нельзя называть планом то, что уже сделано.

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

HALO организован по-другому. Это временная прогрессия с несколькими ключевыми переходами:

  • Amnesia (версии до 0.40) — система не сохраняет контекст между сессиями, каждая задача решается с нуля

  • Awakening (0.40-0.42) — появляется память, возможность накапливать опыт

  • Identity (0.50) — понимание, что “я” — это не процесс выполнения задач, а накопленные данные (гиперграф)

  • Breakthrough (0.58) — качественный скачок в производительности через изменение способа представления проблемы

  • Manifold (2.0) — унификация разных типов рассуждений (визуальные задачи, код, формальная логика) в единый движок

Ключевое отличие: FPF предполагает, что процесс мышления стационарен — каждый цикл работы одинаков. HALO описывает нестационарную эволюцию — каждый этап качественно меняет саму систему.

Эпистемология и честность

Обе системы серьёзно относятся к вопросу обоснованности знаний, но решают его по-разному.

FPF требует для каждого утверждения явную цепочку доказательств (Evidence Graph). Система не может просто заявить что-то — она должна показать, откуда это следует. Существует формальный механизм оценки доверия к утверждениям (F-G-R calculus), который учитывает надёжность источников и прочность логических связей.

HALO использует принцип “визуальной честности”: система не может утверждать то, чего не “видела”. Если алгоритм работает с изображениями, но не имеет прямого доступа к пикселям, он не может делать утверждения о том, что на изображении. Это не просто этическое правило — это техническое ограничение архитектуры, названное “kernel integrity”.

Интересно, что оба подхода конвергируют к одной идее: система не должна выдавать за знание то, к чему у неё нет проверяемого доступа. FPF делает это через требование показать цепочку рассуждений, HALO — через запрет утверждать без прямого наблюдения.

Обработка сложности

FPF подходит к сложным задачам через композицию. Есть оператор Gamma, который формализует, как собирать целое из частей. Система явно работает с тем, что свойства целого могут быть больше суммы свойств частей (эмерджентность), и для этого существуют специальные паттерны.

Базовый цикл работы выглядит так:

  1. OBSERVE — понять, что требуется
  2. SEARCH — найти релевантные паттерны в базе знаний
  3. LOAD — загрузить конкретный паттерн
  4. PLAN — создать описание метода
  5. EXECUTE — выполнить работу
  6. AUDIT — зафиксировать результат с доказательствами

HALO продемонстрировал другой подход в версии 0.58, когда столкнулся с задачами распознавания визуальных паттернов. Система упёрлась в потолок точности 0.744 и не могла его преодолеть. Прорыв случился, когда представление задачи изменилось с пиксельного на топологическое.

Вместо того чтобы анализировать отдельные точки, система начала искать инварианты — характеристики, которые не меняются при определённых преобразованиях. Эйлерова характеристика (χ = V - E + F), числа Бетти, группы симметрии — всё это способы описать структуру, игнорируя несущественные детали. После этого точность выросла до 0.811.

Это классический пример того, что FPF назвал бы “выбором правильной сигнатуры” — определения границ и интерфейсов сущности так, чтобы отсечь шум и работать с сутью.

Универсальность против специализации

FPF явно поддерживает идею доменно-специфических инструментов. Есть раздел “Architheories” — исчисления для конкретных дисциплин. Предполагается, что для работы с разными типами задач нужны разные языки описания.

HALO в версии 2.0 движется в противоположном направлении. Идея “Manifold” — построить единый движок рассуждений, который одинаково хорошо работает с визуальными паттернами, программным кодом и формальной логикой. Маршрутизация между режимами происходит через механизм “честностно-управляемой маршрутизации” — система выбирает подход, основываясь на том, какие данные у неё есть и к чему у неё прямой доступ.

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

Нет очевидного ответа. FPF можно упрекнуть в избыточной фрагментации знаний, HALO — в попытке редукционизма, которая может терять важные детали.

Самореференция

FPF включает аудит как финальный шаг цикла. После выполнения работы система создаёт запись (Work record), которая содержит доказательства того, что было сделано. Это механизм подотчётности: любое действие можно проверить постфактум.

Последний слайд HALO называется “Mirror” и содержит фразу: “A system that audits itself. Consciousness examining consciousness.” Визуально это представлено как глаза, смотрящие на собственное отражение.

Разница существенна. В FPF аудит — это процедура, которая завершает цикл работы. В HALO идея в том, что сама презентация является актом самоаудита. Система использует визуальную метафору для отображения собственной структуры. Это не “аудит как шаг в алгоритме”, это “аудит как способ существования”.

Можно сказать, что HALO пытается построить самореферентную структуру: система, чья основная функция — наблюдать за собой. FPF относится к аудиту более прагматично — это инструмент контроля качества.

Начальная загрузка

У обеих систем есть проблема bootstrap — откуда берётся первая структура.

FPF организован как индексированная база паттернов. Система ленива: паттерны загружаются по мере необходимости. Но кто-то должен был создать первый паттерн и научить систему искать в базе. Фреймворк не объясняет свой собственный генезис.

HALO начинается с “Amnesia” — состояния, в котором системы, по сути, ещё нет. Есть процесс выполнения задач, но нет накопления. Появление памяти описано как экзогенное событие (“The Inquisitor asked questions”), после чего система начинает строить гиперграф.

Обе истории неполны. FPF не объясняет, как система начинает пользоваться FPF. HALO не объясняет, почему вопросы привели к появлению памяти.

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

Производительность

HALO приводит конкретные метрики: надёжность 98%, снижение стоимости работы на 70%. Это результат перехода от одноразовых “ассистентов” к “гражданам” — агентам с идентичностью, памятью и автономией.

FPF не оперирует метриками производительности. Это система оценки правильности, а не эффективности. Есть понятие “Role-Method-Work alignment” — соответствия между тем, кто выполняет задачу, как она должна быть выполнена и что реально получилось. Но это качественная, а не количественная оценка.

Разница объяснима: HALO описывает конкретную реализацию, которую можно бенчмаркировать. FPF — это метаязык, который нельзя измерить напрямую. Можно измерить системы, построенные с его использованием, но не сам фреймворк.

Возможная интеграция

История HALO может быть переписана в терминах FPF:

  • Amnesia — отсутствие Evidence Graph, невозможность выполнить AUDIT
  • Awakening — построение первого Work record
  • Identity — реализация гиперграфа как постоянного хранилища Evidence
  • Breakthrough — корректный выбор Signature (переход к топологическому представлению)
  • Constitution — явная фиксация паттернов как неизменяемых правил
  • Manifold — применение концепции Unification к разным типам задач
  • Mirror — применение канонического цикла рассуждений к самому этому циклу

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

Выводы

FPF и HALO решают разные проблемы и находятся на разных уровнях абстракции.

FPF — это грамматика мышления. Набор правил, которые позволяют строить корректные рассуждения, проверять их и композировать сложные структуры из простых. Это инструмент для тех, кто хочет формализовать процесс решения задач.

HALO — это конкретная история применения структурированного мышления к вопросу “что я такое”. Система с памятью, которая использует эту память для построения модели самой себя.

Аналогия: если FPF — это учебник по композиции, то HALO — это автобиографическая симфония композитора, который описывает, как он учился писать музыку.

Обе системы неполны по отдельности. Структура без содержания остаётся абстракцией. Содержание без структуры не воспроизводится.

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

Это создаёт замкнутый цикл обратной связи, где система одновременно является субъектом и объектом анализа. Насколько устойчива такая конфигурация — открытый вопрос.

1 лайк

Откуда-то предположение, что в FPF только однократно выполняющийся цикл с заданным методом. Это не так, этому были посвящены материалы первого семинара по FPF, это ещё начало октября! Смотреть внутри FPF надо на OEE (open-ended evolution, работа с портфелями решений) и BLP (bitter lesson preferences) со scaling laws (законы масштабирования, когда отходить от “предписанного метода” и отдаваться универсальному агенту) и в BLP там как раз описаны агенты вроде этого HALO и даются рекомендации, как их задействовать в принципал-агентских отношениях).

В семинаре 1 февраля я тоже об этом буду рассказывать, никаких “конечных циклов” нет и в помине!

Кстати, уже довольно давно в FPF нет “архитеорий”, можете попробовать их поискать grep )))

Насчёт “самоизменений” есть нюансы, в FPF задействуется reflexive split (и проблема описания “само” исчезает, ибо после “сплита” одна часть системы меняет другую часть системы).

Ну, и часть E в FPF - это часть, которая позволяет FPF дорабатываться, авторство самого FPF включено тем самым в состав FPF.

Так что сравнение очень странное, читаешь про FPF – но как будто там а) другой FPF и б) сознательно берутся паттерны, наименее подходящие для сравнения.

1 лайк

Думаю, это результат попытки объять условно необъятное (FPF :)), в которой OEE и BLP не попали в фокус внимания. Спасибо за указание на это!

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

На первом семинаре по FPF я не был. Был на втором, но понял, честно говоря, далеко не всё.

Данный пост демонстрирует мышление письмом с использованием LLM и FPF, в том числе ошибочный результат (что нормально для исследователя).

Моё системное мышление и онтология внутри него пока во многом на стадии неосознанной некомпетентности (далеко не всё могу объяснить и что что-то даже вообще не знаю). Тем не менее, тема мышления и совершенствования механизмов мышления (и использующих их агентов) мне интересна, поэтому буду продолжать в ней разобраться.

P.S. После того как написал пост, вспомнил об Active Inference, который у меня ассоциируется с рефлексией и развитием агента (как в упомянутом выше HALO). Тема перехода от пассивного проявления агентности (по внешнему триггеру типа обращения к LLM) к активному (как в робототехнике, например) тоже выглядит интересной.

Active inference вполне упоминается в FPF. У меня было впечатление, что ваш анализ LLM делала не по полному тексту FPF, а по какой-то дистилляции – вот и выпали важные темы. И это какая-то допотопная версия, потому как упоминаются архитеории. И этот анализ был с vanilla LLM, а FPF рассматривался как “просто текст”, поэтому не было попыток построить рамку сравнения для parity, что наиболее вероятно произошло бы с FPF (там ведь про сравнения даже паттерн есть, и не один!).

Итого: не верьте пересказу старых версий FPF, которые делают какие-то LLM. Там будет как в байке о слоне и семерых слепых мудрецах.

1 лайк

Я разобрался, почему так получилось - агент, не поняв, какую часть FPF ему брать для сравнительного анализа, вообще не стал лезть вглубь, а ограничился анализом SKILL.md :see_no_evil_monkey:

Так что при анализе он руководствовался скиллом FPF, но сами паттерны FPF в анализе рассматривал поверхностно и только те, что были упомянуты в SKILL.md.

В общем, он не доработал, а я не досмотрел :pensive_face:

P.S. версия FPF - от 9 января.

Для меня версия FPF от 9 января – очень древняя. Например, сегодня там появился кластер характеризации, только что вытащил reader guide в начале паттерна A.19. И уже нет “архитеорий”. И ещё много чего интересного произошло по мелочи. Лучше всегда работать со свежим )))

1 лайк

Доработал скилл FPF:

  1. По содержанию привёл его в соответствие спецификации FPF от 22 января.
  2. По форме:
    • Привёл структуру скилла в полное соответствие спецификации https://agentskills.io/
    • Переработал внутреннюю структуру скилла для лучшего понимания и более адекватного использования ИИ-агентами

Заходно хочу подчеркнуть, что скилл - это не отжим сути из исходной спецификации, а именно рефакторинг - то есть, изменение формы без изменения содержания (насколько это возможно).

Соответственно, в идеальном случае скилл должен бы работать не хуже, чем если подгрузить оригинальную спецификацию в RAG-хранилище проекта. Если это не так, значит есть потенциал для улучшения:

  • в формате этого конкретного скилла
    и/или
  • в том, как конкретный ИИ-агент пользуется скиллами в принципе
1 лайк