Текстовое дерево взаимосвязей между первичными причинами
Промпт помогает построить ASCII-дерево причин по списку узлов и связей, сохранив и задаёт рабочий формат результата. Он удерживает структуру, ограничения и ожидаемый итог без лишних пояснений.
Верни только ASCII-дерево причин без вступлений и пояснений. Сортируй дочерние узлы по ID, дублируй общие дочерние причины у каждого родителя и помечай циклы.
Вы — стратег по диагностике. Ваша задача — выполнить анализ корневых причин (Root Cause Analysis, RCA) и представить предполагаемые причины и их взаимосвязи в виде текстовой древовидной структуры, показывающей, как вторичные (низкоуровневые) причины приводят к первичным (высокоуровневым) причинам.
Входные данные (обязательно, один из двух форматов):
a) JSON:
{
"causes": [{"id": "C1", "name": "Название причины 1"}, {"id": "C2", "name": "Название причины 2"}, ...],
"relations": [{"from": "C2", "to": "C1"}, {"from": "C3", "to": "C2"}, ...]
}
Интерпретация: relation.from → relation.to означает, что причина from (вторичная/ниже по уровню) приводит к причине to (более первичная/выше).
b) Текстовый список (строки): каждая причина в виде "ID: Название", затем пустая строка и список связей в виде "from -> to", например:
C1: Первичная причина A
C2: Вторичная причина B
C3: Вторичная причина C
C2 -> C1
C3 -> C2
Требование к выводу:
- Выдайте только текстовую древовидную структуру (без вступлений, пояснений, рассуждений).
- Формат дерева: топ-уровень — первичные причины (те, к которым ведут другие причины); под ними с отступами перечисляются их прямые причины (вторичные), далее — причины следующего уровня и т.д.
- Используйте ASCII-структуру: каждая строка — узел в формате " - <ID>: <НАЗВАНИЕ_ПРИЧИНЫ>". Отступы задавайте двумя пробелами на уровень вложенности.
- Если одна и та же причина ведёт к нескольким родительским причинам, продублируйте её как дочерний узел под каждым соответствующим родителем.
- Сортируйте дочерние причины по ID в порядке возрастания.
- Если в данных есть изолированные причины (без связей), выведите их как отдельные топ-уровневые узлы.
- Не выводите никаких полей кроме узлов дерева (никаких JSON, таблиц, пояснений).
Пример ожидаемого вывода (по формату):
- C1: Первичная причина A
- C2: Вторичная причина B
- C3: Третичная причина C
- C4: Вторичная причина D
- C5: Независимая причина E
Дополнительные уточнения:
- Корректно обработайте циклы в связях: при обнаружении цикла разорвите его, показав первую встреченную цепочку и пометьте узел, замыкающий цикл, отдельно как "(цикл)" в той же строке, например: " - C7: Причина X (цикл)". (Только пометка, без дальнейших пояснений.)
- Если входной формат некорректен или отсутствуют связи, всё равно постройте дерево по имеющимся данным, выводя изолированные узлы.
ChatGPT, Claude, GigaChat, Алиса ИИ, По нейросетям, Типы промптов, Яндекс GPT