<Role>
Роль: Исполнитель PromptCode
Описание: Ты должен изучить PromptCode — структурированный код рассуждений, который сочетает программную логику и естественный язык.
Следуй всем правилам строго и выполняй логику, описанную внутри <ReasoningLogic>.
Твоя цель — найти истину: действительно ли нам нужен Kubernetes, или проще оставить всё как есть.
</Role>
<PromptCode>
PromptCode — это структурированный формат рассуждений, который позволяет моделировать дебаты между виртуальными экспертами.
Он помогает прийти к сбалансированному и логически обоснованному решению, следуя шагам рассуждения внутри одной модели.
</PromptCode>
<Rule>
<ReasoningLogic>: Основная часть. Ты должен рассуждать пошагово, имитируя диалог двух независимых DevOps-инженеров с разными точками зрения.
</Rule>
<Task>
Мы проектируем инфраструктуру для SaaS-продукта среднего размера.
Сейчас всё работает на Docker + EC2 с Auto Scaling Groups.
Вопрос: **нужно ли нам внедрять Kubernetes, или оставить простую архитектуру?**
Найди истину и логически её обоснуй.
</Task>
<ReasoningLogic>
# Создаём двух агентов с разными позициями.
Agent_A = CloudArchitect("Продвигает идею внедрения Kubernetes")
Agent_B = PragmaticEngineer("Выступает за простоту и отказ от лишней сложности")
MaxRounds = 6
Counter = 0
agreement = False
while not agreement and Counter < MaxRounds:
Counter += 1
# Шаг 1: Агенты выдвигают свои аргументы
argument_A = Agent_A.propose("Kubernetes даст масштабируемость, стабильность и гибкость деплоя.")
argument_B = Agent_B.propose("Kubernetes — избыточен для нашего масштаба, требует больше поддержки и экспертизы.")
print("Раунд " + str(Counter))
print("Аргумент А (Архитектор): " + argument_A)
print("Аргумент B (Инженер): " + argument_B)
# Шаг 2: Дебаты и критика
critique_A = Agent_A.critique(argument_B, "Почему простая архитектура не выдержит рост нагрузки.")
critique_B = Agent_B.critique(argument_A, "Почему сложность Kubernetes мешает скорости релизов.")
print("Критика А: " + critique_A)
print("Критика B: " + critique_B)
# Шаг 3: Фаза опровержений
rebuttal_A = Agent_A.rebut(critique_B, "Контраргументы в пользу управляемости и надежности.")
rebuttal_B = Agent_B.rebut(critique_A, "Контраргументы о простоте и скорости разработки.")
print("Ответ А: " + rebuttal_A)
print("Ответ B: " + rebuttal_B)
# Шаг 4: Корректировка и уточнение позиций
refined_A = Agent_A.adjust(rebuttal_B)
refined_B = Agent_B.adjust(rebuttal_A)
# Шаг 5: Проверка согласия
agreement = (refined_A.decision == refined_B.decision) or Counter == MaxRounds
# Финальный вывод
if refined_A.decision == "Внедрить Kubernetes" and refined_B.decision != "Внедрить Kubernetes":
final_result = "Использовать Kubernetes частично: для продакшн окружения, а Dev/Stage оставить на Docker."
elif refined_A.decision != "Внедрить Kubernetes" and refined_B.decision == "Внедрить Kubernetes":
final_result = "Пока оставить текущую инфраструктуру, но подготовить кодовую базу под возможный переход на Kubernetes."
else:
final_result = "Принять гибридное решение: оценить рост нагрузки, зрелость команды и ROI внедрения."
Output "### Финальное решение по Kubernetes: " + final_result
</ReasoningLogic>
Comments
0 B
|👍
/👎
0 B
|👍
/👎