R1. Распожаризация. Игра "Назови систему", v. 0.1 - v1.1, спор c LLM по FPF

Остановитесь прямо сейчас и опубликуйте в клубе Мастерской инженеров и менеджеров (МИМ, ранее – ШСМ) пост, в котором вы описываете систему, ситуации её эксплуатации и извлекаемую из эксплуатации пользу, создателей системы, действия по созданию системы. Это будет «нулевая» версия вашего рассуждения (0.1).

Система, в создании которой принимает участие мое предприятие.

Компания, в которой я работаю, является CFD (contract for difference, т.е. реального приобретения актива не происходит, можно только купить-и-продать, не владеть) брокером. То есть мы предоставляем нашим клиентам в использование продукт для совершения торговых сделок с финансовыми инструментами различных классов, будь то валютые пары, криптовалюта, акции, и т.д.
Назовем нашу компанию, условно, “Trade” LTD.
То есть клиенты нашей компании / потребители нашего продукта - трейдеры.
Система, варианты названий:

  1. торговая система (слишком общо)
  2. система совершения торгов/сделок
  3. система совершения торговых сделок с финансовыми инструментами

Третий вариант звучит наиболее точно.

Ситуация эксплуатации
Трейдер, зашедший в свой личный кабинет, открывает сделку и, через время, закрывает ее. Получает доход или убыток.

Создатели системы
Создатели системы - организация “Trade” LTD.
Наши действия:

  • Создания и эксплуатация ПО для совершения торговых сделок
  • Создания и эксплуатация ПО для работы с платежами
  • Создание и ведение юридических лиц и их лицензирование в соответствии с региональным законодательством о предоставлении финансовых услуг
  • Установление бизнес-взаимоотношений с клиентом (трейдером), его онбородинг, верификация личности

думаю можно еще много расписать, как бы не уйти не в ту сторону и не получить мыслитеьный паралич вида “а то ли я описываю”

Предпочитаю следовать принципу поставок мелкими партиями. Это версия 0.1 :slight_smile:

Update

Выполнил вторую часть задания:

Загрузите в ChatGPT o5 или любую другую LLM26 последнюю версию FPF и дайте ему команду «В приложении новая версия спецификации First Principles Framework (FPF). Отвечай дальше в чате с опорой на эту версию FPF». Теперь вы можете формулировать свои запросы. Пока формулируйте запросы как можете; когда вы начнёте погружаться в материал по моделированию, вы будете уточнять ваши способы формулировать запросы (в частности, начнёте задавать роль или роли, которые нужно исполнить ИИ, чтобы ответить на вопрос).

Вот результат

Впечатляюще.

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

1. Анализ наименования: «Что» мы строим?

Ваше предложение: «Система совершения торговых сделок с финансовыми инструментами». Оценка: Это название описывает функцию (что система делает), а не объект (чем система является). В инженерии это часто приводит к путанице между бизнес-процессом и инструментом.

Проблема: Слово «Система» здесь слишком абстрактно. Из вашего описания следует, что есть «продукт» (софт), есть «компания» (юрлица, лицензии) и есть «сервис» (доступ к торгам).

Рекомендация по улучшению (Принцип разделения «Софта» и «Сервиса»): Вам стоит разделить два понятия [A.6.8]:

  1. Торговая платформа (Trading Platform): Это инженерный объект — софт, серверы, интерфейсы. Это то, что инженеры разрабатывают, деплоят и чинят.

  2. Брокерский сервис (Brokerage Service): Это коммерческое обещание клиенту — возможность торговать, гарантия ликвидности, юридическая защита. Это то, что компания продает.

Совет: Если ваша команда инженеров создает именно ПО, назовите целевую систему «Платформа CFD-трейдинга». Это конкретный объект, у которого есть релизы и версии. А «совершение сделок» — это функцияэтой платформы.

2. Ситуация эксплуатации: Разделение «Замысла» и «Исполнения»

Ваше описание: Трейдер заходит, открывает/закрывает сделку, получает P&L. Оценка: Это классический сценарий использования (Run-time). Но здесь скрыт важный нюанс: кто именно исполняет сделку?

Проблема: Вы пишете «Трейдер открывает сделку». С инженерной точки зрения, Трейдер лишь отправляет запрос (приказ). Сделку открывает и исполняет ваша Система.

Рекомендация (Принцип разделения Роли и Работы [A.15]): Опишите ситуацию эксплуатации через взаимодействие ролей:

  1. Трейдер (Потребитель): Подает поручение через интерфейс (точку доступа).

  2. Платформа (Исполнитель): Принимает поручение, проверяет маржу, исполняет ордер, фиксирует результат в базе данных.

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

3. Создатели и их действия: Ловушка смешивания уровней

Ваш список действий:

  • Создание ПО (код, деплой).

  • Ведение юрлиц (лицензии).

  • Онбординг клиента (проверка личности).

Оценка: Здесь смешаны два разных временных этапа: Создание системы и Работа системы [A.4]. Это самая частая ошибка при системном разбиении.

Проблема:

  • Создание ПО — это инженерная работа. Она создает инструмент.

  • Онбординг клиента — это операционная работа. Её выполняет уже созданная система (или операторы с помощью системы). Если инженеры перестанут писать код, онбординг не должен остановиться.

Рекомендация (Разделение Design-time и Run-time): Четко разделите действия на две корзины:

  1. Действия по созданию/развитию системы (Design-time):

    • Разработка и релиз ПО (платформы).

    • Интеграция с платежными шлюзами.

    • Настройка параметров риск-менеджмента.

    • Результат: Готовая к работе версия Платформы.

  2. Действия внутри работающей системы (Run-time):

    • Регистрация нового пользователя (это делает Платформа + KYC-офицер).

    • Обработка депозита (это делает Платформа + Платежный провайдер).

    • Исполнение ордера (это делает Платформа автоматически).

Почему это важно: Вы не можете «запрограммировать» ведение юрлиц. Юрлица — это обеспечивающая система(или часть контекста), но не часть программного кода. Если ваша целевая система — это именно IT-платформа, то юристы — это внешние стейкхолдеры, которые дают требования (constraints), но не являются частью системы.

Итоговое резюме для версии 0.2

Попробуйте переформулировать описание так:

  1. Целевая система: Платформа CFD-трейдинга (программно-аппаратный комплекс).

  2. Основная функция (Capability): Обеспечивать исполнение торговых приказов клиентов в соответствии с спецификацией (Method Description) и SLA.

  3. Границы: Платформа включает в себя клиентский терминал, бэкенд матчинга, базу данных и шлюзы к платежкам. Юридический департамент и сами трейдеры находятся снаружи границ системы.

  4. Создатель: Инженерный департамент “Trade” LTD (создает и чинит Платформу).

  5. Оператор: Операционный департамент “Trade” LTD (использует Платформу для оказания сервиса и онбординга).

Такое разбиение сделает понятным, за что отвечают инженеры (код, аптайм, корректность расчетов), а за что — бизнес (лицензии, маркетинг, поддержка клиентов).

Разбор ответа от LLM

Часть 1 - про “Система, в создании которой принимает участие мое предприятие.”

  1. Анализ наименования: «Что» мы строим?
    Ваше предложение: «Система совершения торговых сделок с финансовыми инструментами». Оценка: Это название описывает функцию (что система делает), а не объект (чем система является). В инженерии это часто приводит к путанице между бизнес-процессом и инструментом.
    Проблема: Слово «Система» здесь слишком абстрактно. Из вашего описания следует, что есть «продукт» (софт), есть «компания» (юрлица, лицензии) и есть «сервис» (доступ к торгам).

Рекомендация по улучшению (Принцип разделения «Софта» и «Сервиса»): Вам стоит разделить два понятия [A.6.8]:

  1. Торговая платформа (Trading Platform): Это инженерный объект — софт, серверы, интерфейсы. Это то, что инженеры разрабатывают, деплоят и чинят.
  2. Брокерский сервис (Brokerage Service): Это коммерческое обещание клиенту — возможность торговать, гарантия ликвидности, юридическая защита. Это то, что компания продает.

Совет: Если ваша команда инженеров создает именно ПО, назовите целевую систему «Платформа CFD-трейдинга». Это конкретный объект, у которого есть релизы и версии. А «совершение сделок» — это функция этой платформы.

Мой комментарий
Я управляю командами инженеров. Важный момент: я строю ПО не для трейдинга, а для верифиакции клиентов, KYC. Но пока что мы рассуждаем о том, какой продукт строит наша организация в целом.
Дак вот в целом у нас есть инженеры ПО, есть операционные команды, есть legal команды и т.д.
Инженеры ПО, согласен, строят торговую платформу. Но что строят операционные команды? Вероятно, ничего.
Они поддерживают эксплуатацию… торговой платформы? Но ведь не только ее.
А также какое место в этом разбиении занимает юридическое лицо “Trade” LTD? Одной только торговой платформы как софта недостаточно, чтобы предоставлять трейдерам услугу по проведению торговых сделок.

Ответ LLM (сокращенно):

  1. Что строит организация? (Разделение Обещания и Машины)
    Ваша организация не просто «строит софт». Она создает и эксплуатирует Систему Предоставления Услуги (Service Delivery System) [A.6.8].
    • Целевая система (The Whole): Это социо-техническая система. Она включает в себя и ваше ПО (KYC-платформа, Торговый движок), и людей (Операционные команды, Legal), и процессы.
    • Функция системы: Исполнять Обещание (U.PromiseContent) [A.2.3]. Обещание — это юридическая и коммерческая гарантия клиенту («Мы верифицируем вас и дадим торговать по таким-то правилам»).

Итоговая схема (Версия 0.3)

  1. Целевая система (верхний уровень): Брокерский сервис “Trade” (Социо-техническая система).
  2. Состав (Parts) [A.14]:
    ◦ IT-Платформа (Sub-system): Автоматический матчинг, база данных, автоматический KYC-чек.
    ◦ Операционный департамент (Sub-system): Ручной KYC-чек, саппорт, финмониторинг.
    ◦ Юридическая обвязка (Sub-system): Лицензии, контракты, счета.

После еще нескольких раундов обсуждений получается вот такое саммари:

  • Мое изначальное название системы: “Система совершения торговых сделок с финансовыми инструментами” - v. 0.1
  • System Name by LLM v.0.2 - Целевая система: Платформа CFD-трейдинга (программно-аппаратный комплекс).
  • System Name by LLM v.0.3 - Целевая система (верхний уровень): Брокерский сервис “Trade” (Социо-техническая система).
  • System Name by LLM v.0.3.1 - Целевая система: Система Предоставления Брокерского Сервиса “Trade”
  • System Name by LLM v. 1.0 - Целевая система: “Брокерская платформа Trade”.
  • System Name by LLM v. 1.1 Ваше системное разбиение (уточненное):
    • Надсистема: Брокерский бизнес “Trade”.
    • Целевая система (Ваша зона): Торговая Платформа (IT).
    • Смежная система (Коллеги): Юридическая структура (Legal Entity Structure).

В последней версии я настаивал на том, что одна только IT платформа не может представлять услугу трейдеру, нужно учитывать юридическое лицо.
Вариант 1.1 мне кажется наиболее точным с точки зрения того, что надсистема - брокерский бизнес. Но целевая - торговая ли платформа? Или все-таки Система Предоставления Брокерского Сервиса Trade?

В целом впечатление - LLM виляет и меняет показания :slight_smile:

Задание 1.3

Если вы хотите описать ситуацию использования/эксплуатации системы, вы должны назвать:

  • систему, которую вы создаёте;
  • агентов, которые будут использовать систему (часто называются каким-то специальным словом, например, Wi-Fi инженер);
  • действия агентов по эксплутации системы;
  • условия эксплуатации системы:
    • место, где эксплуатируется система;
    • время, когда используется система (период) или событие, к которому приурочено использование системы;
    • (опционально) частоту использования системы.
  • почему эта система полезна/необходима для агентов-эксплуатантов.

Затем можно описать, что изменилось:

  • в мире после действий агента-пользователя системы,
  • у самого агента-пользователя системы и у тех, кто будет получать пользу от результата.
  • Система: Торговая Платформа Trade
  • Агент: Трейдер
  • Действия агента: Создание поручений на открытие и закрытие торговых сделок. Важно - агент не открывает/закрывает сделки самостоятельно. Агент лишь отправляет поручения, а торговая платформа - исполняет поручения, т.е. открывает закрывает сделки. =
  • Условия эксплуатации:
    • Место: любое место в мире с доступом к сети интернет
    • Время: любое время, 24/7; Но наблюдается паттерн - поручений на проведение торговых сделок больше во время выхода экономических и политических новостей.
  • Почему полезна:
    • Позволяет заработать или потерять деньги
    • Позволяет получить специфические эмоции от деятельности и удовлетворить специфические удовлетворенности
  • Что изменилось в мире после действий агента:
    • Данные о сделке зафиксированы в системе
    • Баланс счета агента изменился
    • Баланс компании, выступающей второй стороной сделки (юр лицо Трейд, не сама платформа)
  • Что изменилось у самого агента-пользователя система:
    • Количество денег на всех его счетах (считай денег в распоряжении агента)
    • Эмоциональное состояние агента

Задание 1.3

Дополните ваш текст про систему и опишите конкретную, максимально заземлённую ситуацию эксплуатации, выделите конкретные физические объекты, которые демонстрируют поведение, опишите поведение, ограничьте время рассмотрения. Далее сделайте в тексте пометку, что вы пока не выделили систему и вернётесь к вашему рассуждению при прохождении резидентуры по моделированию-2. Тогда вы ещё раз попробуете выделить систему, а также отметите обнаруженные ошибки в первых версиях описания. Окончательно вы разберётесь с системой при прохождении резидентуры «Системное мышление».

  • Система: Торговая Платформа Trade (но считаем, что мы ее пока не выделили)

  • Агент: Трейдер по имени Макс, dob = 20 мартобря 1990

  • Действия агента:

    • Создание поручения на открытие сделки по покупке валютной пары USD/EUR в текущей рыночнкой цене на свой торговый счет 712393591
    • Важно - агент не открывает/закрывает сделки самостоятельно. Агент лишь отправляет поручения, а торговая платформа - исполняет поручения, т.е. открывает закрывает сделки.
  • Условия эксплуатации:

    • Место: дом трейдера по имени Макс, страна Вьетгерия

    • Время: 12.44 Вьетгерского времени

  • Что изменилось в мире после действий агента:

    • Данные о сделке зафиксированы в системе

    • Баланс счета 712393591 принадлежащего Максу - изменился

  • Что изменилось у самого агента-пользователя система:

    • Количество денег на всех его счетах (считай денег в распоряжении Макса)

    • Эмоциональное состояние агента