이득:
- AI 기반 Python 코드로 최적화 및 데이터 처리 작업을 자동화하는 기능
- 단위 확인, 테스트 및 엣지 케이스를 통해 AI 생성 코드를 검증하는 기능
- 기밀 생산 데이터를 보호하고 책임감 있는 AI 사용 원칙을 시행하는 능력
산업 공학에서는 반복 계산, 데이터 정리 및 최적화 모델을 Python으로 자동화하면 속도와 반복성이 모두 향상됩니다. AI는 이 코드를 작성하는 데 가장 강력한 가속기입니다. Pandas를 사용한 데이터 처리, PuLP/SciPy를 사용한 최적화, matplotlib 초안 코드를 사용한 몇 분 만에 시각화입니다. 그러나 AI 코드는 본질적으로 "작동하는 것처럼 보이는 것"과 "정확한 것" 사이의 차이를 보장하지 않습니다. 이 단원에서는 AI 기반 엔지니어링 자동화, 코드 검증 규율, 기밀 생산 데이터 보호 원칙을 결합합니다. 이 단위는 모든 이전 단위에 "신뢰할 수 있는 적용" 레이어입니다.
왜 코드인가? 반복성과 감사 가능성
Excel에서 수동으로 계산하면 6개월 후 "그 숫자는 어디서 나온 것입니까?"라는 질문이 표시됩니다. 질문에 대답할 수 없습니다. 반면에 코드는 입력, 단계 및 출력을 명확하고 반복 가능하게 유지합니다. 코드에서 엔지니어링 계산을 수행하면 세 가지 이점이 있습니다. (1) 항상 동일한 입력으로 동일한 결과를 얻습니다. (2) 각 단계를 표시하고 검토할 수 있게 하며, (3) 입력이 변경되면 결과를 자동으로 업데이트합니다.
# EOQ 계산을 검증 가능한 함수로 전환 import mathdef eoq(annual_demand, order_cost, Holding_cost): """경제적 주문 수량. 단위는 일관성이 있어야 합니다: Annual_demand [항목/년], order_cost [TL/주문], Holding_cost [TL/개/년].""" if Annual_demand <= 0 또는 Holding_cost <= 0: raise ValueError("수요 및 보유 비용은 양수여야 합니다.") return math.sqrt((2 * Annual_demand * order_cost) / Holding_cost)# 알려진 결과로 테스트(검증):# D=3600, S=120, H=8 -> ~328,6assert abs(eoq(3600, 120, 8) - 328.63) < 0.1print(round(eoq(3600, 120, 8), 1)) #328.6
여기서 Assert 라인은 매우 중요합니다. 알려진 결과에 대해 테스트합니다. AI가 작성하는 모든 계산 함수에 하나 이상의 "알려진 결과 테스트"를 추가함으로써 코드가 실제로 올바르게 계산한다는 것을 증명합니다.
AI로 코드를 생성하는 올바른 방법
AI에 코드를 작성할 때 불확실성이 적을수록 출력의 신뢰성이 높아집니다.
역할: 당신은 Python 및 산업 공학 데이터 분석 전문가입니다. 작업: 일일 생산 데이터(날짜, 생산, 결함, 가동 중단 시간_분)를 CSV로 처리하고 일일 낭비율과 대략적인 OEE 구성 요소를 계산하는 함수를 작성합니다. 요구 사항:- 팬더 사용, 열 이름 유효성 검사(누락된 경우 이해할 수 있는 오류 제공).- 폐기물 비율 = 결함이 있음/생성됨; 0으로 나누는 것을 방지합니다.- 함수에 알려진 결과가 있는 테스트(어설션)를 추가합니다.- 독스트링에 단위와 가정을 씁니다.규칙: 네트워크/파일 시스템에 쓰는 숨겨진 프로세스를 추가하지 마십시오. 계산만 하세요. 확실하지 않은 부분은 댓글로 표시하세요.
약한 프롬프트 / 강한 프롬프트
약한 프롬프트:
생산 효율성을 계산하는 코드를 작성합니다.
"수익률"은 정의되지 않았고 데이터 스키마도 없으며 테스트도 없습니다. 출력이 작동하더라도 무엇을 계산하는지 불분명합니다.
강력한 프롬프트:
다음 다이어그램에서 CSV에 대한 OEE를 계산합니다: 열 [계획_시간, 실행_시간, 이상_주기, 생산, 품질]. 가용성 = 작업/계획, 성능 = (이상_주기 × 생산)/실행, 품질 = 품질/생산. OEE는 이 세 가지의 산물입니다. 각 구성요소를 개별적으로 반환하고, 0으로 나누기를 처리하고, 알려진 값으로 어설션 테스트를 추가합니다.
두 번째 프롬프트는 각 공식과 다이어그램을 명확하게 제공합니다. AI가 "수익률"을 잘못 해석할 가능성을 제거하고 테스트를 통한 검증을 의무화합니다.
코드 검증 체크리스트
생산 결정에 AI 코드를 사용하기 전에 다음 단계를 수행하십시오.
단계
확인해야 할 사항
단위/크기
입출력 단위는 일치하는가?
알려진 결과 테스트
손으로 계산한 예를 올바르게 제공합니까?
엣지 케이스
0, 음수, 빈 데이터, 한 줄의 기능은 무엇입니까?
산술 교차 확인
작은 샘플에서도 결과가 눈에 띄나요?
보이지 않는 부작용
코드가 데이터를 삭제/전송합니까?
주의: AI는 때때로 "작동하지만 잘못된" 코드를 생성합니다. 예를 들어, 잘못된/전체 대신 잘못된/생성된 낭비 비율을 계산하거나 비율과 비율을 혼동합니다. 코드가 오류 없이 작동한다고 해서 그것이 정확하다는 의미는 아닙니다. 알려진 결과로 테스트해 보세요.
보안 및 데이터 개인정보 보호
생산 데이터는 생산 능력, 비용, 고객 요구, 공급업체 가격 등 영업 비밀입니다. 충동적으로 이를 AI 서비스에 적용하는 것은 심각한 위험입니다.
- 데이터 익명화: 실제 고객/공급업체 이름 대신 코드를 사용합니다. 정밀 비용을 샘플 값으로 바꿉니다.
- 회사 정책을 따르십시오. 회사에서 승인한 AI 도구 및 데이터 분류 규칙을 사용하십시오.
- 코드 요청, 로컬에서 데이터 실행: AI가 코드를 작성하게 하고 실제 데이터를 사용하여 자체 환경에서 코드를 실행합니다. 이렇게 하면 민감한 데이터가 유출되지 않습니다.
- 출력 검토: AI 코드가 예상치 못한 곳(네트워크 호출, 외부 API)으로 데이터를 전송하고 있는지 확인합니다.
팁: “AI가 코드를 작성하고 로컬에서 데이터를 처리하도록 한다”는 원칙은 개인 정보를 보호하고 AI가 가짜 숫자를 생성하는 것을 방지합니다. 실제 솔버/라이브러리는 계산을 수행하고 AI는 뼈대만 만듭니다.
미니 케이스: 작동하지만 코드가 잘못됨
공장에서 산업 엔지니어 Mert는 AI에게 월별 OEE 보고서를 생성하는 스크립트를 작성하도록 합니다. 코드는 원활하게 실행되며 92%의 좋은 OEE를 제공합니다. 그러나 Mert가 알려진 날짜(수동으로 계산한 날짜, OEE가 78%여야 함)에 대해 테스트하면 코드는 92%를 반환합니다. 검토 결과 그는 AI가 성능 구성 요소를 잘못 설정했음을 발견했습니다(이상적인 주기 대신 평균 주기를 사용함). 수정되면 값이 현실과 일치합니다. 코드가 오류 없이 잘못된 결과를 생성했습니다. 교훈: 알려진 결과를 테스트하지 않았다면 부정확한 OEE로 인해 몇 달 동안 관리 결정이 내려졌을 것입니다.
일반적인 실수
- "작동하는 = 올바른 것"이라고 생각하기: 오류가 발생하지 않는 코드를 올바른 것으로 받아들입니다. 알려진 결과로 테스트하지 않습니다.
- 극단적인 사례 건너뛰기: 0으로 나누기, 빈 데이터, 음수 입력과 같은 상황을 시도하지 않고 게시합니다.
- 기밀 데이터 붙여넣기: 실제 비용/고객 데이터를 익명화하지 않고 AI에 보냅니다.
- AI를 솔버로 착각: AI가 "결과는 이렇다"고 말하는 최적화 출력을 실제 솔버 출력으로 사용합니다.
- 감사 가능성 상실: 가정과 단위를 문서화하지 않고 코드를 공유합니다.
요약하면
- 코드는 엔지니어링 계정에 반복성과 감사 가능성을 추가합니다. AI는 이 코드의 속도를 높입니다.
- 각 AI 계산 함수에 알려진 결과가 포함된 어설션을 추가하여 정확성을 입증하세요.
- 단위, 엣지 케이스 및 산술 교차 체크리스트를 통과하지 않고 생산 결정에 코드를 사용하지 마십시오.
- "작업 코드"는 올바른 코드를 의미하지 않습니다. 완벽하게 작동하고 잘못 계산될 수 있습니다.
- 기밀 생산 데이터를 익명화하고 기업 정책을 준수합니다. 코드를 AI에 인쇄하지만 데이터는 로컬에서 처리합니다.
응용과제
엔지니어링 계산(EOQ, 안전 재고, OEE 또는 표준 시간)을 선택합니다. 이 계산을 수행하는 AI에 Python 함수를 작성합니다. 어설션 테스트를 통해 독스트링의 단위와 알려진 결과를 적용합니다. 중요한 검증: 최소 3가지 극단적인 경우(0, 음수, null)를 사용하여 함수를 시도하고 이를 직접 계산한 예제와 비교합니다. 코드가 오류 없이 실행되더라도 결과가 정확하다는 것을 알려진 값으로 증명합니다. 그런 다음 "데이터 개인 정보 보호" 관점에서 코드를 검토합니다. 데이터를 전송하는 프로세스가 있습니까? 마지막으로, 이 장치의 검증 체크리스트를 자신의 작업 흐름에 맞게 조정하고 체크리스트를 만드십시오.
모듈 시험
1. 린 제조에서는 AI를 사용하여 VSM(가치 흐름 맵)을 만들었습니다. 제안을 구현하기 전에 가장 좋은 단계는 무엇입니까?
- A) 현장(gemba) 관찰 및 실제 사이클/체류 시간으로 AI 청사진 검증 ✔
- 나) AI가 현행 모델이므로 지도를 보드에 직접 걸어 놓기
- C) 지도의 색상과 상자 모양만 수정하세요.
- 라) 폐기물 종류의 순서 변경 및 공개
설명: AI는 귀하가 제공한 정보를 기반으로 합리적인 VSM 스케치를 생성하지만 실제 프로세스 시간과 낭비를 관찰할 수 없습니다. 린의 기본 원칙은 'gemba'입니다. 가치 흐름은 현장에서 관찰하고 측정하여 검증한 후 개선 결정의 기초로 사용해야 합니다.
2. 수요 예측 모델의 정확성을 평가하기 위한 어떤 지표 세트가 이 목적을 직접적으로 다루나요?
- 가) Cp와 Cpk
- B) MAPE, MAE 및 RMSE ✔
- 다) OEE 및 MTBF
- 라) 택트타임 및 WIP
설명: MAPE(평균 절대 백분율 오류), MAE 및 RMSE는 예측 오류를 측정하는 측정항목입니다. 이를 통해 예측과 실제 수요를 비교하여 모델의 정확성을 평가할 수 있습니다. Cp/Cpk는 프로세스 능력이고 OEE는 장비 효율성 지표입니다.
3. 재주문점(ROP) 계산에서 AI가 값을 알려줬습니다. 결과를 안전하게 사용하려면 먼저 무엇을 해야 할까요?
- A) 결과를 반올림하여 ERP에 직접 입력합니다.
- B) AI에게 '확실합니까?'라고 물어보세요. '예'라는 대답에 만족하세요.
- C) 사용된 수식, 입력 및 단위를 인쇄하고 수동/코드로 계산 재현 ✔
- D) 안전재고를 완전히 재설정한다.
설명: ROP = 평균 수요 × 리드 타임 + 안전 재고 공식으로 작동합니다. AI가 사용하는 공식과 입력(수요율, 리드타임, 안전 재고)을 명시적으로 인쇄하고 이를 수동/코드에서 다시 계산하여 AI가 제공하는 결과를 검증해야 합니다. 그렇지 않으면 단위 또는 산술 오류가 발견되지 않습니다.
4. 작업 스케줄링에서 일반적으로 SPT(최단 처리 시간) 규칙이 개선되는 점은 무엇입니까?
- A) 설정 시간만 재설정합니다.
- B) 머신 수를 물리적으로 늘립니다.
- C) 에너지 소비를 절반으로 확실히 줄입니다.
- D) 평균 흐름 시간과 평균 대기 시간이 감소하는 경향이 있음 ✔
설명: SPT(최단 처리 시간) 규칙은 짧은 작업을 진행하여 평균 흐름 시간과 평균 대기 시간을 줄이는 경향이 있습니다. 그러나 그는 긴 작업을 지속적으로 연기할 수 있습니다. 배송 날짜가 중요한 경우 EDD와 같은 규칙이 더 적합합니다. 규칙 선택은 목적에 따라 정당화되어야 합니다.
5. SPC에서 Cpk 값이 Cp보다 현저히 낮다는 것은 무엇을 의미합니까?
- A) 공정 평균이 공차 중심에서 이동했습니다(센터링 문제) ✔
- B) 공정의 분산이 0입니다.
- 다) 표본의 수가 많은 것을 보여준다.
- D) 관리도가 불필요하다는 것을 증명한다.
설명: Cp는 공차 폭에 대한 공정 확산 비율을 고려한 숙련도 지수이고, Cpk는 공차 중심을 기준으로 평균의 이동도 고려한 적합성 지수입니다. Cpk가 Cp보다 낮으면 공정이 중심에서 벗어났음을 나타냅니다(평균이 목표에서 벗어남). 스프레드가 동일하더라도 센터링 문제가 있습니다.
6. 시간스터디에서 표준시간을 계산할 때 AI가 제공하는 공식을 사용합니다. 다음 중 표준시를 올바르게 구하는 방법은 무엇입니까?
- 가) 표준시간 = 관찰시간, 마진, 템포를 고려하지 않음
- 나) 표준시 = 정상시 × (1 + 점유율); 일반시간 = 관측시간 × 페이스 ✔
- 다) 표준시간 = 관측시간 ¼ 기계 대수
- D) 표준시간은 항상 가장 빠른 운전자의 시간이다.
설명: 표준시 = 정상시 × (1 + 공유율)로 계산됩니다. 일반 시간은 관찰 시간 × 템포(등급)로 구합니다. 공유(휴식, 개인, 지연) 추가는 필수입니다. AI가 공식을 제시할 수 있지만 템포와 주가는 실제 관찰과 회사 정책을 통해 검증해야 한다.
7. AI는 차량 경로(VRP) 문제에 '최상의' 솔루션을 제공했다고 말했습니다. 가장 정확한 평가는 무엇입니까?
- A) AI가 '최적'이라고 해서 운전자에게 직접 경로를 보내는 것
- B) 용량, 기간 및 비용 제약에 대해 솔루션 검증 ✔
- C) 정류장 수를 줄이고 게시하면 됩니다.
- D) 지도 시각화 및 제약 조건 무시
설명: AI는 제약 조건(차량 용량, 시간대, 운전 시간)을 잘못 모델링하거나 차선책을 '최적'으로 제시할 수 있습니다. 해결책; 용량, 시간 창 및 총 거리/비용 제약 조건을 확인하고 가능하면 재현하여 솔버와 비교해야 합니다.
8. OEE(Overall Equipment Effectiveness)는 세 가지 구성요소의 산물입니까?
- 가) 수요, 재고, 비용
- 나) Cp, Cpk 및 시그마
- C) 사용성, 성능 및 품질 ✔
- D) 택트, 주기 및 배송시간
설명: OEE = 가용성 × 성능 × 품질. 가용성은 가동 중지 시간을 반영하고, 성능은 속도 손실을 반영하며, 품질은 결함이 있는 제품을 반영합니다. AI가 OEE 값을 제공하는 경우 이 세 가지 구성 요소를 별도로 계산하고 곱하는 것이 필요합니다.
9. 이산사건 시뮬레이션의 결과를 해석할 때 가장 중요한 검증 단계는 무엇입니까?
- A) 실제 데이터로 입력 분포 및 가정 검증 ✔
- 나) 작업시간을 단축하고 단일한 조건으로 결정한다.
- C) 그래픽의 색상 팔레트 개선
- D) 무작위 시드를 숨기고 결과를 반복할 수 없도록 만들기
설명: 시뮬레이션 출력은 입력 가정만큼만 우수합니다. 분포, 도착 간격 시간, 서비스 시간 및 시나리오 매개변수를 실제 데이터와 비교하고 검증해야 합니다. 또한 모델이 올바르게 설정되었는지 확인(검증)해야 합니다. 그렇지 않으면 '쓰레기가 들어가고 쓰레기가 나옵니다'.
10. 생산 결정에 AI 생성 Python 최적화 스크립트를 사용하기 전에 필수 사항은 무엇입니까?
- 가) 코드가 에러 없이 작동하므로 결과를 직접 적용하는 방법
- B) 알려진 결과를 사용한 테스트, 단위 확인 및 엣지 케이스를 통한 검증, 데이터 기밀성 보호 ✔
- 다) 변수 이름을 줄이고 주석을 삭제합니다.
- D) 모든 제작 데이터가 포함된 스크립트를 공공 서비스에 업로드
설명: AI 코드에는 잘못된 단위 변환, 잘못된 제약 조건 또는 극단적인 경우 잘못된 결과가 포함될 수 있습니다. 암호; 결과가 알려진 소규모 테스트 입력은 단위/크기 제어 및 엣지 케이스를 통해 검증해야 하며, 기밀 생산 데이터를 허가 없이 외부 서비스로 전송해서는 안 됩니다. 결과는 공학적 판단으로 확인됩니다.