AI-система соответствия стандартам пищевой безопасности (HACCP AI)
HACCP (Hazard Analysis and Critical Control Points) — обязательная система управления пищевой безопасностью (ТР ТС 021/2011). AI автоматизирует мониторинг критических контрольных точек и формирование обязательной документации.
Мониторинг критических контрольных точек (ССР)
Автоматизированный мониторинг CCPs:
Каждая CCP имеет критические пределы (Critical Limits). AI контролирует их соблюдение в реальном времени:
import pandas as pd
import numpy as np
from dataclasses import dataclass
from datetime import datetime
@dataclass
class CriticalControlPoint:
"""Описание критической контрольной точки HACCP"""
ccp_id: str
description: str
hazard: str # биологическая / химическая / физическая
critical_limit_min: float
critical_limit_max: float
monitoring_frequency_min: int # минимальная частота мониторинга (мин.)
corrective_action: str
class HACCPMonitor:
"""Мониторинг CCP с автоматической регистрацией отклонений"""
def __init__(self, ccps: list[CriticalControlPoint]):
self.ccps = {ccp.ccp_id: ccp for ccp in ccps}
self.monitoring_log = []
self.deviations = []
def record_measurement(self, ccp_id, value, operator_id, timestamp=None):
"""Зарегистрировать измерение CCP"""
ts = timestamp or datetime.now()
ccp = self.ccps[ccp_id]
is_compliant = ccp.critical_limit_min <= value <= ccp.critical_limit_max
record = {
'ccp_id': ccp_id,
'timestamp': ts.isoformat(),
'value': value,
'unit': 'celsius' if 'temp' in ccp_id.lower() else 'generic',
'operator_id': operator_id,
'is_compliant': is_compliant,
'critical_limit_min': ccp.critical_limit_min,
'critical_limit_max': ccp.critical_limit_max,
}
self.monitoring_log.append(record)
if not is_compliant:
deviation = {
**record,
'deviation_magnitude': abs(value - (ccp.critical_limit_max
if value > ccp.critical_limit_max
else ccp.critical_limit_min)),
'corrective_action_required': ccp.corrective_action,
'status': 'open',
'product_held': True # продукт задержан до устранения
}
self.deviations.append(deviation)
self._trigger_alert(deviation)
return is_compliant
def _trigger_alert(self, deviation):
"""Уведомление ответственного за HACCP"""
print(f"HACCP DEVIATION: CCP {deviation['ccp_id']} - "
f"value {deviation['value']} out of range "
f"[{deviation['critical_limit_min']}, {deviation['critical_limit_max']}]")
Типичные CCP пищевого производства
Термическая обработка (пастеризация/стерилизация):
- CL: температура ≥72°C при HTST пастеризации молока ≥15 секунд
- Мониторинг: термометр каждые 30 секунд
- Корректирующее действие: повторная обработка или утилизация
Охлаждение:
- CL: охлаждение с 60°C до 4°C за ≤6 часов
- Мониторинг: непрерывный температурный логгер в продукте
Обнаружение металлов / рентгеноскопия:
- CL: нет металлических включений ≥3мм (тест-образцы: Fe 2.0мм, NFe 2.5мм, SS 3.0мм)
- Мониторинг: каждые 30 минут проверочными тест-кусками
Автоматическая документация
Генерация HACCP записей:
21 CFR Part 11 и ГОСТ ISO 22000 требуют:
- Electronically signed records
- Невозможность изменения без audit trail
AI-автоматизация:
- Данные датчиков → автоматическое заполнение форм мониторинга CCP
- Если оператор не подтвердил за 30 минут → alert руководителю
- Конец смены → автоматическая генерация HACCP-отчёта за смену
def generate_haccp_shift_report(monitoring_log, deviations, date, shift):
"""Формирование ежесменного HACCP-отчёта"""
total_measurements = len(monitoring_log)
compliant_pct = sum(1 for r in monitoring_log if r['is_compliant']) / total_measurements * 100
report = {
'date': str(date),
'shift': shift,
'generated_at': datetime.now().isoformat(),
'summary': {
'total_measurements': total_measurements,
'compliance_rate': f'{compliant_pct:.1f}%',
'deviations_count': len(deviations),
'open_deviations': sum(1 for d in deviations if d['status'] == 'open')
},
'ccp_summary': {},
'deviations': deviations
}
# CCP-детализация
for ccp_id in {r['ccp_id'] for r in monitoring_log}:
ccp_records = [r for r in monitoring_log if r['ccp_id'] == ccp_id]
values = [r['value'] for r in ccp_records]
report['ccp_summary'][ccp_id] = {
'measurements': len(ccp_records),
'min': min(values),
'max': max(values),
'mean': np.mean(values)
}
return report
Внутренние аудиты и верификация
AI-ассистент аудита:
NLP-система для проведения внутренних HACCP-аудитов:
- Чеклист по ISO 22000, FSSC 22000 — стандартизированные вопросы
- Автоматическая оценка ответов: соответствует / не соответствует / частично
- Генерация отчёта о несоответствиях с рекомендуемыми корректирующими действиями
Срок разработки: 2–4 месяца для HACCP AI системы с мониторингом CCP, автоматической документацией и генерацией отчётов.







