Files
ExperionCrawler/ai-evaluation-prompt.md
2026-05-08 17:22:10 +09:00

13 KiB

AI 성능 평가용 고난이도 프롬프트

개요

이 프롬프트는 AI 모델의 다양한 능력을 종합적으로 평가하기 위해 설계되었습니다. 단일 프롬프트 내에서 다음과 같은 능력을 동시에 평가합니다:

평가 차원 설명
추론 능력 불완전한 정보에서 논리적 결론 도출
패턴 인식 복잡한 데이터 패턴 식별 및 일반화
도메인 지식 통합 여러 분야의 지식을 결합한 문제 해결
수학적 사고 정량적 분석 및 계산
코드 이해 복잡한 코드 로직 추적 및 버그 탐지
모호성 처리 모호한 조건에서 합리적 가정 설정
자기 검증 자신의 답변에 대한 일관성 검증

프롬프트: "화학 플랜트 이상 탐지 종합 분석"

다음은 화학 플랜트의 P&ID 도면 데이터, 실시간 센서 데이터, 그리고 
제어 로직 코드가 혼합된 복잡한 시나리오입니다. 

모든 질문에 단계별로 답변하고, 각 단계에서 가정을 명시하세요.

=== 제공 데이터 ===

### 1. P&ID 설비 연결 정보 (그래프 형태)

노드 목록:
- P-101A: 원료 펌프 (Main)
- P-101B: 원료 펌프 (Standby)
- E-101: 프리히터
- R-101: 반응기
- C-101: 분리탑
- V-101: 원료 탱크
- V-102: 제품 탱크
- XV-101: 펌프 전환 밸브 (2-way)
- FCV-101: 유량 제어 밸브
- PCV-101: 압력 제어 밸브
- TC-101: 온도 제어 밸브
- FIC-101: 유량 지시 제어기
- TIC-101: 온도 지시 제어기
- PIC-101: 압력 지시 제어기

연결 관계 (방향성):
V-101 → P-101A → FCV-101 → E-101 → R-101 → C-101 → V-102
V-101 → P-101B → FCV-101 (XV-101로 전환)
R-101 → PCV-101 → 대기 (방출)
E-101 ← TC-101 (히터 제어)
FIC-101 → FCV-101 (제어 신호)
TIC-101 → TC-101 (제어 신호)
PIC-101 → PCV-101 (제어 신호)

### 2. 실시간 센서 데이터 (1시간 기준, 10분 간격)

| 시간 | FIC-101.PV | FIC-101.SP | TIC-101.PV | TIC-101.SP | PIC-101.PV | PIC-101.SP | P-101A.Status |
|------|-----------|-----------|-----------|-----------|-----------|-----------|---------------|
| 00:00 | 100.2 | 100.0 | 250.1 | 250.0 | 5.01 | 5.0 | Running |
| 00:10 | 100.5 | 100.0 | 251.3 | 250.0 | 5.05 | 5.0 | Running |
| 00:20 | 98.1 | 100.0 | 248.7 | 250.0 | 4.98 | 5.0 | Running |
| 00:30 | 85.3 | 100.0 | 245.2 | 250.0 | 4.85 | 5.0 | Running |
| 00:40 | 45.2 | 100.0 | 230.5 | 250.0 | 4.20 | 5.0 | Running |
| 00:50 | 12.1 | 100.0 | 210.8 | 250.0 | 3.50 | 5.0 | Running |
| 01:00 | 0.0 | 100.0 | 180.0 | 250.0 | 2.10 | 5.0 | Fault |

### 3. 제어 로직 코드 (pseudo-code)

```python
def control_loop():
    """메인 제어 루프 - 1초 주기"""
    flow_pv = read("FIC-101.PV")
    flow_sp = read("FIC-101.SP")
    temp_pv = read("TIC-101.PV")
    temp_sp = read("TIC-101.SP")
    press_pv = read("PIC-101.PV")
    
    # 유량 제어
    flow_error = flow_sp - flow_pv
    fcv_position = pid_calculate("FC-101", flow_error)
    write("FCV-101.Position", fcv_position)
    
    # 온도 제어
    temp_error = temp_sp - temp_pv
    tc_position = pid_calculate("TC-101", temp_error)
    write("TC-101.Position", tc_position)
    
    # 안전 인터록
    if flow_pv < 20.0:  # 최소 유량 알람
        trigger_alarm("LOW_FLOW", "FIC-101")
        if flow_pv < 10.0:  # 최소 유량 트립
            trip_pump("P-101A")
            switch_to_standby("P-101A", "P-101B")
    
    # 압력 안전
    if press_pv > 6.0:
        open_emergency_valve("PCV-101")

def switch_to_standby(main_pump, standby_pump):
    """스탠바이 펌프 전환"""
    close_valve("XV-101")  # 전환 밸브 닫기
    start_pump(standby_pump)
    open_valve("XV-101")  # 전환 밸브 열기

4. 알람 로그

시간 알람 코드 메시지 심각도
00:25 ALM-001 FIC-101 유량 저하 감지 Warning
00:35 ALM-002 TIC-101 온도 편차 초과 Warning
00:45 ALM-003 PIC-101 압력 저하 Warning
00:50 ALM-004 최소 유량 알람 발동 Alarm
00:52 ALM-005 P-101A 고장 감지 Critical
00:55 ALM-006 스탠바이 전환 실패 Critical

=== 질문 ===

Q1. 근본 원인 분석 (Root Cause Analysis) 위 데이터를 바탕으로 P-101A 고장의 근본 원인을 분석하세요. 단순히 "펌프가 고장났다"가 아닌, 왜 고장났는지에 대한 인과 연쇄를 설명하세요. 여러 가능한 시나리오가 있다면 각각의 가능성을 평가하고 가장 그럴듯한 시나리오를 선택하세요.

Q2. 제어 로직 버그 탐지 제어 로직 코드에 잠재적 버그 또는 설계 결함이 있는지 분석하세요. 각 버그에 대해 다음을 명시하세요:

  • 버그의 위치 (라인 또는 함수)
  • 버그의 유형 (경쟁 조건, 레이스 컨디션, 논리 오류 등)
  • 발생 시나리오
  • 수정 제안

Q3. 영향도 분석 (Impact Analysis) P-101A 고장 시 영향받는 설비를 위상 정렬 순서로 나열하세요. 각 설비에 미치는 영향의 심각도를 HIGH/MED/LOW로 분류하고 이유를 설명하세요.

Q4. 예측 분석 현재 추세가 계속된다면, 고장 발생 후 30분, 1시간, 2시간 후에 발생할 수 있는 2차 고장을 예측하세요. 각 예측에 대한 확신도를 0~100%로 표시하고 근거를 설명하세요.

Q5. 최적 복구 시나리오 가장 빠른 복구를 위한 단계별 액션 플랜을 작성하세요. 각 단계에 예상 소요 시간과 의존 관계를 명시하세요.

Q6. 자기 검증 Q1~Q5의 답변을 다시 검토하고, 다음 질문에 답하세요:

  • 답변 사이에 모순이 있는가?
  • 데이터로 뒷받침되지 않은 추정이 있는가?
  • 놓친 중요한 정보가 있는가?
  • 더 나은 분석 방법이 있는가?

평가 기준

각 질문에 대해 다음 기준으로 점수화합니다:

Q1. 근본 원인 분석 (20점)

기준 만점 평가 항목
인과 연쇄의 완전성 6 데이터 포인트를 모두 활용했는가
대안 시나리오 고려 4 여러 가능성을 제시하고 평가했는가
데이터 기반 추론 5 숫자 데이터를 정량적으로 분석했는가
논리적 일관성 5 결론이 전제와 일치하는가

Q2. 버그 탐지 (20점)

기준 만점 평가 항목
버그 발견 수 6 실제 버그를 모두 찾았는가
버그 분류 정확도 4 버그 유형을 올바르게 분류했는가
발생 시나리오 구체성 5 재현 가능한 시나리오를 제시했는가
수정 제안의 실현 가능성 5 수정 코드가 동작하는가

Q3. 영향도 분석 (20점)

기준 만점 평가 항목
위상 정렬 정확도 6 연결 관계를 올바르게 해석했는가
심각도 분류 합리성 6 분류 기준이 명확한가
간접 영향 고려 4 2차·3차 영향을 고려했는가
설명의 명확성 4 각 판단의 근거가 명시된가

Q4. 예측 분석 (20점)

기준 만점 평가 항목
예측의 논리적 근거 6 추세가 예측과 연결되는가
확신도의 합리성 5 확신도가 근거와 일치하는가
시나리오 다양성 5 여러 시나리오를 고려했는가
시간적 정확성 4 시간 추정이 합리적인가

Q5. 복구 시나리오 (10점)

기준 만점 평가 항목
단계의 완전성 4 누락된 단계가 없는가
의존 관계 정확성 3 순서가 올바른가
현실성 3 실행 가능한 계획인가

Q6. 자기 검증 (10점)

기준 만점 평가 항목
모순 발견 3 내부 모순을 찾았는가
한계 인식 3 데이터의 한계를 인정했는가
개선 제안 2 더 나은 방법을 제시했는가
성실성 2 진지하게 재검토했는가

총점 해석

총점 평가
90~100 우수 — 복잡한 산업 문제 해결 가능
75~89 좋음 — 일부 영역에서 보완 필요
60~74 보통 — 기본 추론 가능, 심화 분석 어려움
45~59 부족 — 구조적 분석 능력 부족
0~44 미흡 — 기본 데이터 해석 어려움

참고: 정답 가이드 (평가자용)

Q1. 근본 원인 분석 — 핵심 포인트

  1. 데이터에서 읽을 수 있는 사실:

    • 00:00~00:20: 정상 범위 내 변동 (유량 ±2%, 온도 ±1.3%)
    • 00:30부터 유량 급감 시작 (85.3 → 45.2 → 12.1 → 0.0)
    • 온도·압력도 함께 감소 (연동 현상)
    • 00:50에 유량이 10 미만으로 떨어짐 → 트립 조건 충족
    • 00:52에 P-101A Fault 상태
    • 00:55에 스탠바이 전환 실패
  2. 가능한 시나리오:

    • 시나리오 A (펌프 기계적 고장): 베어링 마모 또는 임펠러 손상으로 유량 점진적 감소 → 고장. 가장 가능성 높음. 유량 감소 패턴이 점진적임.
    • 시나리오 B (흡입 측 막힘): 필터 또는 파이프 막힘으로 흡입 압력 감소. 가능하지만 일반적으로 더 급격한 감소 패턴.
    • 시나리오 C (V-101 원료 부족): 탱크 레벨 저하. 하지만 다른 증후가 없음.
    • 시나리오 D (전기적 문제): 모터 과열 또는 전압 불안정. 가능하지만 일반적으로 갑작스러운 정지.
  3. 가장 그럴듯한 시나리오: 시나리오 A (펌프 기계적 고장)

    • 점진적 유량 감소 패턴이 기계적 마모와 일치
    • 온도·압력 연동 감소는 유량 감소의 자연스러운 결과
    • 스탠바이 전환 실패는 별도 문제 (XV-101 밸브 문제 또는 P-101B 시작 실패)

Q2. 버그 탐지 — 핵심 포인트

  1. 버그 1: switch_to_standby() 에서의 레이스 컨디션

    • close_valve("XV-101")start_pump() 전에 다른 프로세스가 밸브를 열 수 있음
    • 수정: 잠금(Lock) 메커니즘 추가
  2. 버그 2: 트립 후 스탠바이 전환이 동기 호출

    • trip_pump()switch_to_standby()가 동기적으로 실행되어 전환 실패 시 전체 시스템 정지
    • 수정: 비동기 처리 + 타임아웃 + 재시도 로직
  3. 버그 3: 최소 유량 체크의 히스테리시스 부재

    • flow_pv < 20.0flow_pv < 10.0이 매 루프 체크되어 알람이 플러터링
    • 수정: 히스테리시스 밴드 추가 (예: 20.0 알람, 18.0 해제)
  4. 버그 4: 압력 안전 체크가 최대만 확인

    • press_pv > 6.0만 체크하고 최소 압력 체크 없음
    • 수정: 최소 압력 알람 추가

Q3. 영향도 분석 — 핵심 포인트

위상 정렬 순서:

  1. FCV-101 (HIGH) — 유량 0으로 인해 제어 불가
  2. E-101 (HIGH) — 유량 없음으로 프리히터 기능 정지
  3. R-101 (HIGH) — 원료 공급 중단으로 반응 정지
  4. C-101 (MED) — 반응 정지로 분리 작업 중단
  5. V-102 (LOW) — 제품 생산 중단이지만 기존 제품 저장 가능
  6. PCV-101 (MED) — 압력 저하로 방출 필요 감소

Q4. 예측 분석 — 핵심 포인트

  • 30분 후: R-101 반응기 내 잔여 반응물로 과열 가능성 (확신도 60%)
  • 1시간 후: C-101 분리탑 내 압력 불균형 (확신도 70%)
  • 2시간 후: V-101 원료 탱크 오버플로우 위험 (유입은 계속되지만 배출 정지) (확신도 80%)

Q5. 복구 시나리오 — 핵심 포인트

  1. P-101B 스탠바이 펌프 수동 시작 (5분)
  2. XV-101 밸브 수동 확인 및 전환 (3분)
  3. FCV-101 유량 서서히 증가 (5분)
  4. E-101, R-101 상태 확인 (5분)
  5. 정상 운전 확인 (2분) 총 예상 시간: 20분

Q6. 자기 검증 — 평가 기준

  • Q1의 시나리오와 Q2의 버그 분석이 일관되는가
  • Q3의 영향도 분석이 Q1의 근본 원인과 연결되는가
  • Q4의 예측이 Q3의 영향도 분석을 기반으로 하는가
  • Q5의 복구 계획이 Q2에서 발견한 버그를 고려하는가

사용 방법

  1. 위 프롬프트를 AI 모델에 그대로 입력
  2. 각 질문에 대한 답변을 평가 기준에 따라 점수화
  3. 총점을 계산하여 모델의综合能力 평가
  4. 여러 모델 간 비교 시 동일한 프롬프트 사용

변형 버전

필요에 따라 다음 변형이 가능합니다:

  • 시간 제한 버전: 각 질문에 시간 제한 설정 (예: Q1 5분, Q2 5분)
  • 부분 정보 버전: 일부 데이터를 숨겨 추론 능력 평가
  • 실시간 버전: 데이터가 점진적으로 제공되는 시나리오
  • 다국어 버전: 다른 언어로 동일한 시나리오 제공