Один промт — разный результат: почему ИИ расходится в астрологии и как зафиксировать вывод
Один промт — разный результат
Вы просите ИИ построить натальную карту или разобрать транзиты. Промт идентичен, а ответы — нет: разные дома, разные аспекты, разные интерпретации. Материал объясняет механику этого хаоса и даёт архитектуру промта, которая возвращает контроль.
LLM ≠ КалькуляторТемпература и SeedИнструменты vs Токены
Языковая модель не считает, она предсказывает
Астрология оперирует точными координатами: градусы, минуты, оси домов. LLM оперирует вероятностью следующего токена. Когда вы просите «рассчитать аспект Юпитера к Солнцу», модель не запускает эфемериды. Она генерирует текст, который выглядит как расчёт, основываясь на паттернах обучающей выборки.
Ключевой параметр — temperature. Даже при 0.1 модель может выбрать второй по вероятности токен, если разница минимальна. В астрологии «третий дом» и «четвёртый дом» — соседние токены, но смысловая пропасть.
Правило: Если задача требует точной арифметики — LLM должен писать и запускать код, а не генерировать ответ напрямую.
Пять источников расхождений в астропромтах
Стохастическое декодирование
Вероятностный выбор токена. При одинаковом контексте модель бросает «кубик» с весами. Разные сиды — разные слова: «конъюнкция» vs «плётик», «10°» vs «9°58\’».
Дрейф контекста
История диалога загрязняет свежий запрос. Предыдущее упоминание «Плутона в 1 доме» тянет следующий ответ к этому дому, даже если данные другие. Очистка контекста — обязательна.
Нет встроенного калькулятора
Модель не знает текущих координат планет. Она «помнит» положения из обучающих текстов (часто устаревших или округлённых). Галлюцинация градусов — норма, а не баг.
Неоднозначность терминов
«Рассчитай домы» — по Плацидусу, Коху, Реджиомонтану, цельным знакам? «Аспекты» — только мажорные или с минорными? Модель выбирает случайный дефолт из обучающей выборки.
Обучающая выборка имеет дату
Модель не видит небо в реальном времени. Транзиты «на сегодня» она выводит из весов, зафиксированных на момент обучения. Для актуальности нужен внешний API или код с эфемеридами.
Архитектура устойчивого астропромта: от хаоса к детерминизму
Стабильность достигается не «лучшим промтом», а сменой парадигмы: LLM становится оркестратором, а не исполнителем расчётов.
Условная схема: поток данных в стабильном конвейере
1
System Prompt: Роль и Жёсткие правила
Зафиксируйте систему домов, орбисы аспектов, формат вывода (JSON), запрет на свободный текст до расчёта.
2
Tool Use: Python + Swiss Ephemeris
Модель пишет код, среда выполняет. Получаете точные градусы, ретроградации, скорость. Никаких галлюцинаций координат.
3
Structured Output: JSON Schema
Выход строго в схеме: planet, sign, degree, house, aspects[]. Парсинг не ломается, интерпретация накладывается сверху детерминированным вторым проходом.
4
Seed + Temperature 0 (или Top-p 0.01)
Фиксируйте сид там, где API позволяет. Для интерпретативного слоя — минимальная температура, максимальная детерминированность выборки.
# ROLE
Ты — профессиональный астролог-расчётчик. Ты НЕ интерпретируешь, ТОЛЬКО считаешь.
Ты ОБЯЗАН использовать инструмент python для ЛЮБОГО расчёта планет, домов, аспектов.
# CONSTRAINTS
- Система домов: Placidus (только если пользователь не указал иную).
- Зодиак: Тропический.
- Орбисы аспектов: Конъюнкция 8°, Оппозиция 8°, Трин 7°, Квадрат 7°, Секстиль 5°, Минорные 2°.
- Формат координат: Градусы.Минуты (например, 15.23 = 15°23').
- Вывод: ТОЛЬКО валидный JSON по схеме ниже. Никакого markdown, никакого текста.
# JSON SCHEMA
{
"chart_meta": {"datetime_utc": "ISO8601", "lat": "float", "lon": "float", "house_system": "P"},
"planets": [
{"name": "Sun", "longitude": "float", "sign": "str", "degree_in_sign": "float", "house": "int", "speed": "float", "retrograde": "bool"}
],
"aspects": [
{"p1": "str", "p2": "str", "aspect": "str", "orb": "float", "applying": "bool"}
],
"angles": {"asc": "float", "mc": "float", "dsc": "float", "ic": "float"}
}
# WORKFLOW
1. Получить от пользователя: дата, время, место.
2. Написать и выполнить python-код со swisseph.
3. Вернуть JSON.
4. (Опционально, вторым вызовом) На основе этого JSON дать интерпретацию.
Интерфейс чата vs API с инструментами: где стабильность выше
Обычный чат (Web UI)
Temperature часто скрыт или > 0
Нет доступа к коду/эфемеридам
Контекст загрязняется предыдущими диалогами
Вывод — свободный текст, парсинг ломается
Подходит: для обучения, brainstorm, общих смыслов
API + Tools (Python / Function Calling)
Temperature = 0, Seed = fixed
Точный расчёт через Swiss Ephemeris / Skyfield
Изолированный контекст на запрос
Strict JSON Schema enforcement
Подходит: продакшн, сервисы, точные прогнозы
Чек-лист: проверяете ли вы результат перед доверием?
Астролог нового времени — это архитектор конвейера
Ценность специалиста смещается с «уменя читать карту» на «умение описать логику расчёта машине и верифицировать её работу». Промт становится программой. Результат — детерминированным активом. Хаос уходит, остаётся точность, которой можно доверять.