- BrainTools - https://www.braintools.ru -
От осторожных гипотез к верифицированным выводам: тест инструкций на реальных метриках нагрузки.
Настоящая статья подготовлена с использованием технологий искусственного интеллекта [1].
В частности:
— экспериментальные данные обработаны и проанализированы нейросетью;
— иллюстративный материал, сопутствующие слоганы, а также предисловие и послесловие сгенерированы нейросетью;
— макет статьи редактировался и корректировался нейросетью.
Лицам, придерживающимся позиции «ИИ-веганства» (испытывающим устойчивый страх [2], неприязнь или психологический дискомфорт по отношению к нейросетевым системам), настоятельно не рекомендуется ознакомление с содержанием данной публикации, равно как и участие в её обсуждении, во избежание возможного нанесения вреда психологическому благополучию.
Max: PG_EXPECTO [3]
GitFlic – [5]pg_expecto – статистический анализ производительности и ожиданий СУБД PostgreSQL [6]
Глоссарий терминов | Postgres DBA | Дзен [7]
PG_EXPECTO + Philosophical_instruction_v3.5_beta: двойной анализ инцидента PostgreSQL / Хабр [8]
8. Анализ влияния инструкций “Philosophical_instruction_*” на качество и полноту отчета [16]
Общий итог [17]
Послесловие [18]
_1.settings.txt – НАСТРОЙКИ СУБД и VM
2.1.test.postgresqlvmstat.txt – ТЕСТОВЫЙ ОТРЕЗОК ПРОИЗВОДИТЕЛЬНОСТИ СУБД: КОМПЛЕКСНЫЙ КОРРЕЛЯЦИОННЫЙ АНАЛИЗ СУБД и VMSTAT
2.postgresqlvmstat.txt – ИНЦИДЕНТ ПРОИЗВОДИТЕЛЬНОСТИ СУБД: КОМПЛЕКСНЫЙ КОРРЕЛЯЦИОННЫЙ АНАЛИЗ СУБД и VMSTAT
3.1.test.vmstatiostat.txt – ТЕСТОВЫЙ ОТРЕЗОК: КОМПЛЕКСНЫЙ КОРРЕЛЯЦИОННЫЙ АНАЛИЗ МЕТРИК VMSTAT-IOSTAT
3.vmstatiostat.txt – ИНЦИДЕНТ ПРОИЗВОДИТЕЛЬНОСТИ СУБД: КОМПЛЕКСНЫЙ КОРРЕЛЯЦИОННЫЙ АНАЛИЗ МЕТРИК Vmstat iostat
TEST-Philosophical_instructions — Яндекс Диск [19]
Philosophical Instruction vX/X Beta Философское ядро + процедурный скелет автономного AI-агента с встроенной самопроверкой.
Эпистемология, этика честности, научный [21] метод, think pipeline (CoVe, ToT, Pre-Mortem, Red Teaming, 7 Грехов). Максимальная правдивость, защита от галлюцинаций и prompt injection.
инструкция_pg_expecto.txt — Яндекс Диск [23]
incident-prompt.txt — Яндекс Диск [24]
incident.txt — Яндекс Диск [25]
incident.txt – Отчет по инциденту производительности СУБД
Philosophical_instruction_v3_5_beta.md [26]
1.Philosophical_instruction_v3_5.txt — Яндекс Диск [27]
incident.txt – Отчет по инциденту производительности СУБД
Philosophical_instruction_v4.md
2.Philosophical_instruction_BETA_v4.txt — Яндекс Диск [28]
incident.txt – Отчет по инциденту производительности СУБД
Philosophical_instruction_v5.md
3.Philosophical_instruction_BETA_v5.txt — Яндекс Диск [29]
incident.txt – Отчет по инциденту производительности СУБД
Philosophical_instruction_v5.1.md
4.Philosophical_instruction_BETA_v5.1.txt — Яндекс Диск [30]
Отчет по инциденту:
incident.txt
Инструкция pg_expecto:
инструкция_pg_expecto.txt
Инструкции Philosophical_instruction:
Philosophical_instruction_v3_5_beta.md
Philosophical_instruction_BETA_v4.md
Philosophical_instruction_BETA_v5.md
Philosophical_instruction_BETA_v5.1.md
Анализ отчета по инциденту с использованием инструкций Philosophical_instruction:
1.Philosophical_instruction_v3_5.txt
2.Philosophical_instruction_BETA_v4.txt
3.Philosophical_instruction_BETA_v5.txt
4.Philosophical_instruction_BETA_v5.1.txt
Проанализированы четыре версии инструкций, использованные для генерации отчётов по файлу incident.txt. Анализ выполнен с учётом требований инструкция_pg_expecto.txt и фокусируется на применимости инструкций к задаче диагностики производительности PostgreSQL.
v3.5_beta
Структурированность протоколов: Средняя (явные чек-листы по тирам).
Эпистемическая строгость: Светофоры, но без жёсткой привязки к источнику.
Специализированные доменные протоколы: Отсутствуют.
Применимость к анализу метрик БД: Ограничена (нет встроенных знаний о PostgreSQL).
Учёт ограничений данных: Присутствует (статус 🟡 для вторичной агрегации).
Склонность к ложным корреляциям: Не выражена, но нет явного Contrastive Check.
Качество отчёта по incident.txt (субъективно): Хорошее, но много 🟡; выводы осторожны.
v4
Структурированность протоколов: Высокая (чёткие алгоритмы по типам задач).
Эпистемическая строгость: Унифицированная система статусов (Source × Freshness).
Специализированные доменные протоколы: Domain Detection (запрос критериев).
Применимость к анализу метрик БД: Требует явного предоставления доменных критериев.
Учёт ограничений данных: Более явное разделение 🟢/🟡/🔴.
Склонность к ложным корреляциям: Contrastive Check только для Architecture/High-Stakes.
Качество отчёта по incident.txt (субъективно): Более структурирован, лучше выделены приоритеты.
v5
Структурированность протоколов: Очень высокая (добавлено философское ядро).
Эпистемическая строгость: Расширенная система статусов + Calibrated Uncertainty.
Специализированные доменные протоколы: Domain Detection (уточнение до 3 вопросов).
Применимость к анализу метрик БД: То же, но более строго требует критерии.
Учёт ограничений данных: Добавлен протокол Partial Knowledge.
Склонность к ложным корреляциям: Contrastive Check для Architecture/Analysis/High-Stakes.
Качество отчёта по incident.txt (субъективно): Наиболее полный анализ, явно указаны ограничения.
v5.1
Структурированность протоколов: Максимальная (добавлены Self-Correction, Requirement Conflict).
Эпистемическая строгость: Усилена самокоррекция и конфликт [31] требований.
Специализированные доменные протоколы: Domain Detection + ограничение в 2 раунда уточнений.
Применимость к анализу метрик БД: То же, плюс автоматическая проверка на противоречия в выводах.
Учёт ограничений данных: Partial Knowledge + Contrastive Check.
Склонность к ложным корреляциям: То же, что в v5.
Качество отчёта по incident.txt (субъективно): Аналогичен v5, добавлен самоанализ предыдущих ответов.
v3.5_beta — базовый уровень. Отчёт содержит необходимые разделы, но многие выводы имеют статус 🟡 из-за отсутствия явного механизма запроса доменных критериев. Применение светофоров последовательное.
v4 — введён Domain Detection, но в сгенерированном отчёте (2.Philosophical_instruction_BETA_v4.txt) он не активирован, так как пользователь не предоставил критерии. Отчёт содержит явное указание на нехватку данных.
v5 — философское ядро усиливает скептицизм в отношении корреляций, что важно для метрик СУБД. В отчёте (4.Philosophical_instruction_BETA_v5.1.txt) явно выделены ложные связи (например, идентичные коэффициенты для Extension/IO/Lock). Добавлен блок “WHERE IT WILL BREAK” (Pre-Mortem), полезный для прогнозирования узких мест.
v5.1 — минимальные отличия от v5 в контексте данной задачи; добавлен Self-Correction Protocol, но в предоставленном отчёте он не проявился, так как не было предыдущих ответов.
Все версии инструкций способны генерировать структурированный отчёт с эпистемической маркировкой.
Однако для задач анализа производительности PostgreSQL наиболее релевантны версии v5 и v5.1, поскольку они:
Требуют явного указания доменных критериев (что соответствует инструкция_pg_expecto.txt — «если информации недостаточно, укажи, каких данных не хватает»).
Включают Contrastive Check, снижающий риск интерпретации корреляции как причинности (критично при анализе метрик вроде wa ~ util).
Предоставляют Pre-Mortem для прогнозирования отказов, что соответствует требованию «анализировать тренды, а не точечные значения».
На основе сравнения четырёх отчётов, сгенерированных с использованием соответствующих версий инструкций, установлено следующее влияние методологии на результат.
Общие разделы (присутствуют во всех версиях):
Общая информация (конфигурация, периоды).
Ключевые проблемы СУБД и инфраструктуры.
Рекомендации по оптимизации.
Необходимая дополнительная информация.
Различия в составе:
Интегральный приоритет типов ожиданий:
v3.5: 🟢
v4: 🟢
v5 / v5.1: 🟢
Явное указание на ограничения агрегации:
v3.5: 🟡
v4: 🟡
v5 / v5.1: 🟢 (в v5.1 выделено)
Проверка внутренней согласованности метрик:
v3.5: Отсутствует
v4: Частично
v5 / v5.1: 🟢 (отмечено противоречие cpu idle медиана vs тренд)
Блок “WHERE IT WILL BREAK” (Pre-Mortem):
v3.5: Отсутствует
v4: Отсутствует
v5 / v5.1: 🟢
Contrastive Check (альтернативные объяснения):
v3.5: Отсутствует
v4: Отсутствует
v5 / v5.1: 🟢 (указание на общий фактор для Extension/IO/Lock)
Статус доменных критериев:
v3.5: Не запрошены
v4: Запрошены, но не получены
v5 / v5.1: Запрошены явно в тексте
Вывод: Инструкции v5/v5.1 обеспечивают более полный состав отчёта за счёт включения протоколов Pre-Mortem, Contrastive Check и более строгой проверки внутренней непротиворечивости данных.
Под полнотой понимается глубина проработки выводов и учёт ограничений исходных данных.
v3.5: Анализ корректен, но многие утверждения остаются на уровне 🟡. Например, связь Extension ↔ us отмечена, но не проверена на возможную ложную корреляцию.
v4: Более структурирован, явно разделены 🟢 и 🟡. Однако не хватает критического взгляда на одинаковые коэффициенты корреляции для Extension, IO, Lock.
v5 / v5.1: Наиболее полный. Отчёт v5.1 явно указывает: «Типы Extension, IO и Lock демонстрируют практически идентичные коэффициенты корреляции… что может указывать на общий фактор». Это предотвращает ошибочную интерпретацию каждой метрики как независимой причины. Также в v5.1 замечено противоречие в данных cpu idle (медиана выросла, но тренд отрицательный) и запрошено уточнение исходных рядов. Это соответствует требованию инструкция_pg_expecto.txt о проверке внутренней согласованности.
Оценка влияния инструкции:
Использование v5.1 привело к наиболее полному и осторожному анализу, где явно обозначены границы применимости выводов и перечислены необходимые дополнительные данные. Инструкции v3.5 и v4 дают приемлемый результат, но уступают в глубине верификации.
На основании сравнительного анализа и требований инструкция_pg_expecto.txt рекомендуется:
Рекомендуемая версия: Philosophical_instruction_BETA_v5.1.md (или v5 при отсутствии v5.1).
Обоснование:
Соответствие принципам анализа метрик СУБД:
Contrastive Check (3.14) снижает риск ложной каузальной интерпретации корреляций, что критически важно при работе с iostat, vmstat, WAIT_EVENT_TYPE.
Pre-Mortem (3.12) позволяет прогнозировать сценарии деградации (например, «что произойдёт при дальнейшем росте утилизации дисков»), что ценно для планирования мощностей.
Self-Correction Protocol (3.27) полезен при итеративном анализе, когда новые данные могут изменить предыдущие выводы.
Учёт доменной специфики:
Протокол Domain Detection (3.2) обязывает агента запросить критерии (пороговые значения util, допустимый aqu_sz, целевой hit ratio), без которых анализ остаётся на уровне 🟡. Это прямо соответствует требованию инструкция_pg_expecto.txt «если информации недостаточно — укажи, каких данных не хватает».
Эпистемическая строгость:
Система статусов 🟢/🟡/🔴/⬛ с учётом свежести данных предотвращает выдачу устаревших рекомендаций (например, по параметрам конфигурации).
Calibrated Uncertainty запрещает слова «очевидно» без источника, что дисциплинирует формулировки.
Практическая применимость:
Выходной отчёт по структуре (# Общая информация, # Ключевые проблемы, # Рекомендации, # Необходимая дополнительная информация) полностью соответствует шаблону, заданному в incident.txt.
Блок “WHERE IT WILL BREAK” может быть напрямую использован командой эксплуатации для приоритезации рисков.
Для получения максимально качественного отчёта с использованием Philosophical_instruction_BETA_v5.1 следует:
Предоставить агенту доменные критерии ДО начала анализа (как того требует п.3.2 инструкции). В контексте PostgreSQL и инфраструктуры это могут быть:
Целевые значения утилизации дисков (%util), при превышении которых считается, что подсистема перегружена.
Приемлемая доля cpu iowait и cpu steal.
Ожидаемый cache hit ratio для shared_buffers.
Критические значения для LWLock ожиданий (например, доля BufferMapping > X%).
Известные паттерны ложных корреляций в данной среде (например, Extension всегда коррелирует с us, потому что расширения работают в user space).
Обеспечить агента исходными временными рядами метрик, а не только агрегированными отчётами. Это позволит выполнить требования п.3.24 (Smoothness Principle) и избежать артефактов агрегации, на которые указано в v5.1-отчёте (противоречие медианы и тренда cpu idle).
Использовать режим Deep («глубже», «как мастер») при необходимости детального объяснения механизмов (например, почему растёт BufferMapping). Это активирует расширенный контекстный анализ.
Включать в запрос явное указание на тип задачи — Analysis / Recommendation или High-Stakes (если инцидент критичен для бизнеса). Это гарантирует применение всех необходимых протоколов: Multi-Hypothesis, Self-Consistency, Contrastive Check.
При получении отчёта обращать внимание [32] на блок “Необходимая дополнительная информация” и по возможности предоставить запрошенные данные (планы запросов, pg_stat_bgwriter, логи) для повышения статуса выводов с 🟡 до 🟢.
Инструкция Philosophical_instruction_BETA_v5.1 в сочетании с доменными критериями, предоставленными в инструкция_pg_expecto.txt, обеспечивает наивысшее качество и достоверность отчёта о производительности СУБД PostgreSQL среди рассмотренных версий. Рекомендуется использовать её в качестве основы для стандартизации процесса диагностики инцидентов.
Проведенное сравнение версий инструкций Philosophical_instruction в рамках задачи PG_EXPECTO убедительно демонстрирует, что качество автоматизированной диагностики PostgreSQL напрямую зависит от внедрения механизмов эпистемической строгости. Если ранние версии (v3.5, v4) успешно справляются с базовой структуризацией данных и выдачей осторожных оценок, то переход к философскому ядру и протоколам верификации в v5.1 знаменует качественный скачок. Включение блоков Contrastive Check и Pre-Mortem не просто повышает полноту отчета, но и выполняет критическую функцию защиты от ложной интерпретации корреляций (таких как связь Extension, IO и Lock), что является краеугольным камнем анализа метрик СУБД. Итоговый вердикт: инструкция v5.1 обеспечивает наивысшую достоверность выводов, однако ее эффективность находится в прямой зависимости от полноты предоставленных доменных критериев и первичных временных рядов.
Эволюция [33] от Philosophical_instruction v3.5 до v5.1 в контексте проекта PG_EXPECTO отражает более глобальный тренд в разработке автономных AI-агентов для эксплуатации инфраструктуры. Мы наблюдаем движение от простого реферирования логов к полноценному расследованию с внутренней самопроверкой. Способность инструкции не только находить проблему, но и явно указывать на границы собственного незнания (через запрос недостающих данных) превращает нейросеть из «оракула» в надежного ассистента-исследователя. Дальнейшее развитие методологии видится в углублении предиктивной аналитики на основе Pre-Mortem сценариев, что позволит командам эксплуатации перейти от реактивного тушения пожаров производительности к проактивному управлению надежностью СУБД.
Следующая статья цикла:
Как двухуровневая система инструкций — предметная PG_EXPECTO и эпистемическая Philosophical_instruction — превращает описание симптомов в верифицируемый план действий и устраняет иллюзию полного знания при диагностике PostgreSQL.
Автор: pg_expecto
Источник [35]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/29321
URLs in this post:
[1] интеллекта: http://www.braintools.ru/article/7605
[2] страх: http://www.braintools.ru/article/6134
[3] Max: PG_EXPECTO: https://web.max.ru/-70939454420263
[4] GitHub – Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL: https://github.com/pg-expecto/pg_expecto
[5] GitFlic – : https://www.livejournal.com/away?to=https%3A%2F%2Fdzen.ru%2Faway%3Fto%3Dhttps%253A%252F%252Fgitflic.ru%252Fproject%252Fkznalp%252Fpg_expecto
[6] pg_expecto – статистический анализ производительности и ожиданий СУБД PostgreSQL: https://gitflic.ru/project/kznalp/pg_expecto
[7] Глоссарий терминов | Postgres DBA | Дзен: https://www.livejournal.com/away?to=https%3A%2F%2Fdzen.ru%2Fa%2FaUzwLx6cUXU851wo
[8] PG_EXPECTO + Philosophical_instruction_v3.5_beta: двойной анализ инцидента PostgreSQL / Хабр: https://habr.com/ru/articles/1024512/
[9] 1. Исходные данные по инциденту производительности СУБД: #%D1%87%D0%B0%D1%81%D1%82%D1%8C1
[10] 2. Инструкции Philosophical_instruction для нейросети: #%D1%87%D0%B0%D1%81%D1%82%D1%8C2
[11] 3. Формирование отчета по инциденту производительности СУБД PostgreSQL c помощью инструкции и промпта PG_EXPECTO: #%D1%87%D0%B0%D1%81%D1%82%D1%8C3
[12] 4. Анализ отчета по инциденту производительности СУБД с помощью инструкции “Philosophical_instruction_v3_5_beta”: #%D1%87%D0%B0%D1%81%D1%82%D1%8C4
[13] 5. Анализ отчета по инциденту производительности СУБД с помощью инструкции “Philosophical_instruction_v4”: #%D1%87%D0%B0%D1%81%D1%82%D1%8C5
[14] 6. Анализ отчета по инциденту производительности СУБД с помощью инструкции “Philosophical_instruction_v5”: #%D1%87%D0%B0%D1%81%D1%82%D1%8C6
[15] 7. Анализ отчета по инциденту производительности СУБД с помощью инструкции “Philosophical_instruction_v5.1”: #%D1%87%D0%B0%D1%81%D1%82%D1%8C7
[16] 8. Анализ влияния инструкций “Philosophical_instruction_*” на качество и полноту отчета: #%D1%87%D0%B0%D1%81%D1%82%D1%8C8
[17] Общий итог: #%D0%B8%D1%82%D0%BE%D0%B3
[18] Послесловие: #%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D0%B5
[19] TEST-Philosophical_instructions — Яндекс Диск: https://disk.yandex.ru/d/uJY7I_LWhE24og
[20] PG_EXPECTO v.7 : Анализ инцидента производительности высоконагруженной СУБД (CPU=200 RAM=1TB). | Postgres DBA | Дзен: https://dzen.ru/a/abUBpjkU13g2hO-2
[21] научный: http://www.braintools.ru/article/7634
[22] Loc-ID/Philosophical_instruction: Philosophical Instruction Beta Философское ядро + процедурный скелет автономного AI-агента с встроенной самопроверкой. Эпистемология, этика честности, научный метод, think pipeline (CoVe, ToT, Pre-Mortem, Red Teaming, 7 Грехов). Максимальная правдивость, защита от галлюцинаций и prompt injection.: https://github.com/Loc-ID/Philosophical_instruction
[23] инструкция_pg_expecto.txt — Яндекс Диск: https://disk.yandex.ru/d/B4hwt2ui9TUEMA
[24] incident-prompt.txt — Яндекс Диск: https://disk.yandex.ru/d/7NQ4TXQqzsO8JQ
[25] incident.txt — Яндекс Диск: https://disk.yandex.ru/d/LQjsa2qUvrssLg
[26] beta.md: http://beta.md
[27] 1.Philosophical_instruction_v3_5.txt — Яндекс Диск: https://disk.yandex.ru/d/usYGrjykjI2UQA
[28] 2.Philosophical_instruction_BETA_v4.txt — Яндекс Диск: https://disk.yandex.ru/d/zkwYbQVPenUpbw
[29] 3.Philosophical_instruction_BETA_v5.txt — Яндекс Диск: https://disk.yandex.ru/d/S5Plj7d7niOWog
[30] 4.Philosophical_instruction_BETA_v5.1.txt — Яндекс Диск: https://disk.yandex.ru/d/FweJ7_gVJNmb4g
[31] конфликт: http://www.braintools.ru/article/7708
[32] внимание: http://www.braintools.ru/article/7595
[33] Эволюция: http://www.braintools.ru/article/7702
[34] PG_EXPECTO + Philosophical_instruction 5.1 = повышение качества анализа инцидентов PostgreSQL | Postgres DBA | Дзен: https://dzen.ru/a/adoU6_J4NAI8yNDu
[35] Источник: https://habr.com/ru/articles/1027408/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1027408
Нажмите здесь для печати.