Порогові стани з гістерезисом
Оновіть логічний стан за скінченними нижнім і верхнім порогами гістерезису.
from math import isfinite
def hysteresis(active, sample, low, high):
if type(active) is not bool:
raise ValueError("hysteresis.state")
if any(type(x) not in (int, float) or (type(x) is float and not isfinite(x))
for x in (sample, low, high)) or low >= high:
raise ValueError("hysteresis.thresholds")
if sample >= high:
return True
if sample <= low:
return False
return activeПроєкт
Збережіть стан строго між порогами та перевірте рівність на кожній межі, відхиляючи зворотний порядок порогів, нескінченні числа й нелогічні стани.
Перевірте перед застосуванням
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Моделі
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
from math import isfinite
def hysteresis(active, sample, low, high):
if type(active) is not bool:
raise ValueError("hysteresis.state")
if any(type(x) not in (int, float) or (type(x) is float and not isfinite(x))
for x in (sample, low, high)) or low >= high:
raise ValueError("hysteresis.thresholds")
if sample >= high:
return True
if sample <= low:
return False
return activeПеревіряйте послідовність рішень, а не лише один результат
ThresholdReed — середовище програмування з ШІ для Windows, призначене для дослідження програм, у яких наступний результат залежить від попереднього стану. Виберіть теку проєкту й опишіть небажаний перехід. Попросіть підключеного помічника знайти власника стану та пояснити, як до нього надходять оновлення. Це чітко пов’язує запропоноване виправлення з поведінкою, яку ви спостерігаєте на послідовності вхідних даних.
Завдання на основі hysteresis.py може досліджувати, чому статус багаторазово перемикається поблизу порога. Надайте потрібні нижню й верхню межі, початковий стан і коротку послідовність, що відтворює проблему. Використайте приклад для обговорення контракту переходів у проєкті, включно з відхилюваними значеннями. Цінність середовища — у перевірці цих міркувань разом із кодом, а не в поданні прикладу як уже встановленої функції моніторингу.
Модель ШІ без обмежень можна вибрати в підтримуваному OpenAI-сумісному сервісі або сервісі Anthropic, який її пропонує. Його сервер визначає доступність контексту й інструментів, а обмеження постачальника все одно можуть діяти. Після налаштування підключення перевіряйте кожну правку та виконуйте в проєкті тести на послідовностях. Додайте переходи в обох напрямках і значення між межами. Один правильний результат не доводить, що змінений автомат станів правильно працює з часом.
Питання щодо змін логіки зі станом
Навіщо вказувати початковий стан у звіті про помилку?
Ті самі вхідні дані можуть правомірно давати різні результати залежно від попереднього стану. Вкажіть початок послідовності й очікувані переходи. Без цього помічник може сприйняти правильну гілку збереження стану як дефект.
Які граничні значення корисно тестувати?
Додайте значення точно на обох порогах, значення безпосередньо всередині проміжної області й послідовність, що перетинає кожну межу. Вкажіть очікуваний результат після кожного вимірювання. Це перевіряє і порівняння, і збереження попереднього стану.
Чи слід автоматично виправляти некоректні пороги?
Лише якщо контракт явно вимагає нормалізації. Інакше явне відхилення може бути кращим. Запитайте, як код виклику обробляє некоректну конфігурацію, і перевірте цей шлях, перш ніж приймати код, що міняє межі місцями або мовчки змінює їх.
Чи відстежує ця програма сигнали наживо за мене?
Описаний процес призначений для розробки й перевірки логіки вашого проєкту. Джерело поточних даних, планування та експлуатаційний моніторинг потребують власної реалізації. Тестуйте ці інтеграції окремо від невеликої допоміжної функції переходів із прикладу.
ThresholdReed · Оновлено 2026-10-25