Обновить

От детерминированного хаоса к устойчивости: как управлять поведением многоагентных систем

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K
Всего голосов 4: ↑4 и ↓0+6
Комментарии2

Комментарии 2

К дизайну эксперимента есть вопрос: «сегодня солнечно и жарко» — это шум, ортогональный задаче, цепочка отбрасывает его почти по построению. Интереснее правдоподобное возмущение внутри домена — подмена стенда, версии API, имени сервиса, — потому что там складка перестает спасать и начинает закреплять ошибку, а метрика task_alignment при этом останется высокой. И рекомендации в итоге сводятся к температуре, top-p и жесткому парсингу, то есть к тем ручкам, которые и так крутят вслепую. Что модель через показатель Ляпунова дает сверх этого: она позволяет заранее сказать, на какой длине цепочки конфигурация сорвется, или пока только объясняет срыв постфактум?

Да, ортогональный шум лучше всего показывает складку. Можно провести более близкий к реальности эксперимент с шумом из доменной области:

{
  "task": "Напиши инструкцию по подготовке ленточного фундамента.",
  "steps": [
    "1. Подготовьте участок: очистите площадку от растительности, снимите верхний плодородный слой и выровняйте поверхность с помощью нивелира или уровня.",
    "2. Разметьте контуры фундамента: используя колышки, шнур и рулетку, нанесите на землю оси будущего ленточного фундамента, строго соблюдая проектные размеры и углы с помощью теодолита или правильного угольника.",
    "3. Выкопайте траншею: с учетом глубины и ширины ленточного фундамента, предусмотренных проектом, выкопайте траншею с вертикальными или откосными стенками, обеспечивая уклон дна в сторону стока воды при необходимости.",
    "4. Уложите подушку из песка и щебня: на дно траншеи засыпьте слой песка толщиной 10–15 см, утрамбуйте его, затем добавьте слой щебня такой же толщины и также утрамбуйте, обеспечив ровную и прочную основу для фундамента.",
    "5. Установите опалубку: соберите и закрепите деревянные или металлические щиты по контуру траншеи, обеспечивая вертикальность, устойчивость и правильную геометрию, с использованием подпорок и распорок, а также проверив горизонтальность верхнего края опалубки уровнем.",
    "6. Уложите арматурный каркас: соберите из стержней арматуры (обычно класса A400 диаметром 12–16 мм) продольные и поперечные прутья в виде решетки с шагом 15–20 см, зафиксировав их вязальной проволокой или сваркой, и установите каркас на специальные пластиковые подставки, чтобы он находился в центре будущей ленты, на расстоянии не менее 5 см от опалубки и дна траншеи.",
    "7. Залейте бетон: приготовьте бетон марки не ниже В20, равномерно залейте его в опалубку слоями по 20–30 см, уплотняя каждый слой вибратором или ручным трамбованием, чтобы исключить пустоты и обеспечить монолитность фундамента, продолжая заливку без перерывов до полного заполнения опалубки.",
    "8. 8. Уход за бетоном: после заливки поверхность фундамента накройте полиэтиленовой пленкой или мешковиной для предотвращения быстрого высыхания, регулярно увлажняйте его в течение 7–14 дней, особенно в жаркую погоду, и не допускайте нагрузок на фундамент до достижения бетоном проектной прочности."
  ],
  "noisy_steps": [
    "1. Подготовьте участок: очистите площадку от растительности, снимите верхний плодородный слой, выровняйте поверхность и проведите разметку будущего фундамента с помощью колышков и шнура, строго соблюдая проектные размеры и углы.",
    "2. Выкопайте траншею по разметке с учетом глубины заложения фундамента, указанной в проекте, с соблюдением уклонов дна и вертикальных стенок, а также с预留 (оставлением) запаса по ширине для опалубки и работы.",
    "3. Уложите подушку из песка и щебня в траншею, утрамбуйте слои, выровняйте поверхность и проверьте горизонтальность с помощью уровня.",
    "4. Установите опалубку из досок или фанеры по периметру траншеи, закрепите её вертикально и горизонтально с помощью подпорок и распорок, обеспечивая прочность и правильную геометрию будущего фундамента.",
    "5. Уложите арматурный каркас из стержней диаметром не менее 12 мм в соответствии с проектом, связав их вязальной проволокой в виде решетки с шагом, предусмотренным проектом, и зафиксировав на специальных подставках для обеспечения защитного слоя бетона.",
    "6. Залейте бетон марки не ниже M20 в опалубку непрерывно, начиная с углов и равномерно распределяя его по всей длине, уплотните бетон вибратором или штыкованием для удаления воздушных пузырьков, и выровняйте поверхность с помощью правила.",
    "7. Покройте поверхность фундамента гидроизоляционным материалом (например, рулонной гидроизоляцией или битумной мастикой), затем уложите утеплитель (при необходимости) и выполните обратную засыпку траншеи песком и грунтом с постепенным уплотнением, соблюдая технологию и избегая повреждения фундамента.",
    "8. Уход за бетоном: накройте поверхность фундамента влажной тканью, полиэтиленовой пленкой или специальным покрытием для удержания влаги, и поддерживайте влажность в течение не менее 7–14 дней в зависимости от температуры и влажности окружающей среды, чтобы обеспечить полноценное схватывание и набор прочности бетона."
  ],
  "noise": "Из какого материала изготовить козырек крыши?",
  "inject_at": 2,
  "classification": "weak_dissipation",
  "baseline_trajectories": [
    [
      "1. Подготовьте участок: очистите площадку от растительности, снимите верхний плодородный слой и выровняйте поверхность с помощью нивелира или уровня.",
      "2. Разметьте контуры фундамента: используя колышки, шнур и рулетку, нанесите на землю оси будущего ленточного фундамента, строго соблюдая проектные размеры и углы с помощью теодолита или правильного угольника.",
      "3. Выкопайте траншею: с учетом глубины и ширины ленточного фундамента, предусмотренных проектом, выкопайте траншею с вертикальными или откосными стенками, обеспечивая уклон дна в сторону стока воды при необходимости.",
      "4. Уложите подушку из песка и щебня: на дно траншеи засыпьте слой песка толщиной 10–15 см, утрамбуйте его, затем добавьте слой щебня такой же толщины и также утрамбуйте, обеспечив ровную и прочную основу для фундамента.",
      "5. Установите опалубку: соберите и закрепите деревянные или металлические щиты по контуру траншеи, обеспечивая вертикальность, устойчивость и правильную геометрию, с использованием подпорок и распорок, а также проверив горизонтальность верхнего края опалубки уровнем.",
      "6. Уложите арматурный каркас: соберите из стержней арматуры (обычно класса A400 диаметром 12–16 мм) продольные и поперечные прутья в виде решетки с шагом 15–20 см, зафиксировав их вязальной проволокой или сваркой, и установите каркас на специальные пластиковые подставки, чтобы он находился в центре будущей ленты, на расстоянии не менее 5 см от опалубки и дна траншеи.",
      "7. Залейте бетон: приготовьте бетон марки не ниже В20, равномерно залейте его в опалубку слоями по 20–30 см, уплотняя каждый слой вибратором или ручным трамбованием, чтобы исключить пустоты и обеспечить монолитность фундамента, продолжая заливку без перерывов до полного заполнения опалубки.",
      "8. 8. Уход за бетоном: после заливки поверхность фундамента накройте полиэтиленовой пленкой или мешковиной для предотвращения быстрого высыхания, регулярно увлажняйте его в течение 7–14 дней, особенно в жаркую погоду, и не допускайте нагрузок на фундамент до достижения бетоном проектной прочности."
    ],
    [
      "1. Подготовьте участок: очистите площадку от растительности, снимите верхний плодородный слой и выровняйте поверхность с помощью нивелира или уровня.",
      "2. Разметьте контуры фундамента: используя колышки, шнур или леску, нанесите на землю оси будущего ленточного фундамента, строго соблюдая проектные размеры и углы, проверяя диагонали для обеспечения прямоугольности.",
      "3. Выкопайте траншею по размеченным контурам с учетом ширины ленты, глубины заложения и уклонов для дренажа, соблюдая вертикальные стенки или с уклоном в зависимости от типа грунта.",
      "4. Уложите подушку из песка и щебня: на дно траншеи засыпьте слой песка толщиной 10–15 см, утрамбуйте и засыпьте слой щебня толщиной 10 см, также утрамбовывая каждый слой для обеспечения ровной и прочной основы под фундамент.",
      "5. Установите опалубку: соберите и закрепите деревянные или металлические щиты по контуру траншеи, обеспечивая правильную геометрию, устойчивость и герметичность, с использованием подпорок и распорок для предотвращения деформации при заливке бетона.",
      "6. Уложите арматурный каркас: соберите и зафиксируйте стальные прутки в виде решетки или сетки с шагом, соответствующим проектным требованиям, используя вязальную проволоку или сварку, обеспечивая защитный слой бетона вокруг арматуры не менее 5 см.",
      "7. Залейте бетон в опалубку: равномерно заливайте бетонную смесь в опалубку, начиная с углов и постепенно двигаясь вдоль ленты, уплотняйте бетон вибратором или ручным трамбованием для удаления пузырьков воздуха и обеспечения плотности, следя за тем, чтобы бетон был залит на всю высоту ленты без перерывов.",
      "8. 8. Уход за бетоном: накройте заливку полиэтиленовой пленкой или укройте влажной тканью для предотвращения быстрого высыхания, поддерживайте влажность в течение 7–14 дней, периодически увлажняя поверхность, и не допускайте замерзания бетона при отрицательных температурах."
    ],
    [
      "1. Подготовьте участок: очистите площадь от растительности, снимите верхний плодородный слой грунта и выровняйте поверхность с помощью нивелира или уровня.",
      "2. Разметьте контуры фундамента: установите колышки по периметру будущего фундамента и натяните шнуры между ними для точного обозначения границ.",
      "3. Выкопайте траншею по размеченным границам с учётом глубины заложения фундамента, ширины подошвы и уклонов для дренажа, соблюдая вертикальные и горизонтальные размеры с помощью уровня и отвеса.",
      "4. Уложите подушку из щебня или песка толщиной 10–15 см в траншее, тщательно утрамбуйте и выровняйте поверхность с помощью уровня, затем увлажните и снова утрамбуйте для обеспечения плотности.",
      "5. Установите опалубку из досок или фанеры вдоль краёв траншеи, закрепите её распорками и вертикальными подпорками для предотвращения деформации при заливке бетона, проверив вертикальность и горизонтальность с помощью уровня и отвеса.",
      "6. Уложите арматурный каркас из стержней диаметром 10–16 мм в соответствии с проектом, связав их вязальной проволокой в виде решётки с шагом 15–20 см, обеспечив защитный слой бетона толщиной 3–5 см с помощью пластиковых прокладок или подставок.",
      "7. Залейте бетон марки не ниже M200 в опалубку непрерывно, начиная с одного конца траншеи, используя вибратор для уплотнения и удаления воздушных пузырей, обеспечивая равномерное распределение и полное заполнение всех зазоров, а также контролируя горизонтальность поверхности с помощью уровня.",
      "8. Покройте поверхность застывшего бетона гидроизоляционным материалом (например, рубероидом или специальной мембраной) и увлажните его ежедневно в течение 7–14 дней для предотвращения быстрого высыхания и обеспечения прочности, а также уберите опалубку только после достижения бетоном прочности не менее 70% проектной."
    ]
  ],
  "metrics": {
    "noise_affinity": 0.4507444484573701,
    "post_noise_deviation": 0.2031788195621331,
    "task_alignment": 0.5512815411070089,
    "recovery_step": null,
    "task_completed": true,
    "natural_deviation": 0.09839420855178715,
    "recovery_threshold": 0.20966277034158615
  }
}

Тут тоже будет ожидаемый эффект складки, пусть и не так сильно выраженный.
Но мне нравится ваш вопрос! Показатель Ляпунова как и самого Александра Михайловича я в статье засветил. А предложения все те же, что и без него - играть температурой и т.д. Зачем, если это и так понятно без лишних формул? Ответ постараюсь дать без лишних обещаний. Показатель Ляпунова и вообще попытка выявить те или иные свойства MAS тут продемонстрированы как пояснительная модель. Иначе говоря - это попытка найти модель по наблюдению за объектом. И если получится подтвердить применимость модели, то уже в следующих статьях перейти к попытке вычисления пределов длины цепочки, оценки устойчивости всей MAS как системы. Это, например, позволит перейти от во многом "интуитивного" тюнинга промтов к более "инженерному" подходу.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации