TL;DR — 입고되는 원료의 순도가 매 배치 흔들리는 공정에서, 배치마다 최적 배합을 다시 계산하는 엔진 케이스다. 핵심은 "LLM이 배합을 짜준다"가 아니라 "XGBoost 대리 모델과 SLSQP 옵티마이저가 배합을 계산하고 LLM은 그 결과를 설명만 한다"는 책임 분리다. 비용 최소화를 목표로, 질량 보존(등식)과 품질 규격(부등식)을 옵티마이저에 선언한다. 원료 분석값 → [대리 모델] 품질 예측 → [SLSQP] 제약 최적화 → [LLM] 근거 설명 트리 대리 × 그라디언트 옵티마이저의 함정, 예측과 실측 사이의 안전 마진, 사람의 승인 게이트까지 짚는다. 합성 데이터 기반 독립 기술 케이스다.
이 글은 제조·화학 공정에서 배합·레시피 자동화를 검토하는 엔지니어·기획자가 왜 수치 레시피를 LLM에 직접 시키면 안 되는지, 그리고 대리 모델(Surrogate)과 수학적 최적화를 어떻게 엮는지를 이해하고, 그 조합에 숨은 함정(그라디언트·안전 마진·사람의 승인 게이트)까지 짚어낼 수 있도록 돕습니다.
이 글에서 다루는 것
- XGBoost 대리 모델 + SciPy SLSQP 제약 최적화로 배합을 계산하고 LLM은 설명만 맡기는 책임 분리
- 트리 대리 모델 × 그라디언트 옵티마이저의 구조적 긴장, 안전 마진, 사람의 승인 게이트
이 글에서 다루지 않는 것
- 강화학습(DDPG) 동적 제어·Soft Sensor 역추정(별도 주제)
- LLM이 수치 레시피를 직접 생성하는 방식(이 글의 주장과 정면 배치)
환경
- 언어/런타임: Python 3.x
- 핵심 라이브러리: XGBoost(대리 모델) · SciPy
optimize.minimize(SLSQP) · SHAP(기여도 설명) - 데이터: 합성 함수
true_chemical_reaction()기반 — 실제 공정 실측이 아닌 교육용 예시
1. AI에게 배합 비율을 직접 묻지 않는 이유
원료 성분표를 LLM에 넣으면 최적 배합을 알아서 뽑아주지 않을까. 화학 공정 자동화를 검토할 때 가장 먼저 떠오르는 기대이고 가장 먼저 접게 되는 기대이기도 합니다. 배합을 정한다는 건 결국 어떤 원료를 얼마씩 섞어야 목표 품질을 만족하면서 비용이 최소가 되는지를 푸는 일입니다. 품질이라는 비선형 함수 위에서 비용을 최소화하되 질량 보존과 품질 규격이라는 제약을 동시에 지켜야 하는 전형적인 제약 최적화(constrained optimization) 문제죠. 이 케이스의 정체성은 처음부터 분명합니다. 계산은 기계학습 대리 모델과 수학적 옵티마이저가 하고 LLM은 그 결과를 사람이 읽을 설명으로 옮기기만 합니다.
이 분리를 고집하는 데는 세 가지 이유가 있습니다. 첫째, 레시피는 책임 데이터입니다. 원료 비율 한 줄이 그대로 반응기에 투입되면 틀린 배합은 곧 폐기 배치이거나 규격 미달 제품이 됩니다. 감상이 아니라 실물을 움직이는 명령이므로 한 줄의 오류가 비용으로 직결됩니다. 둘째, 제약 검증이 안 됩니다. LLM은 자기가 내놓은 배합이 순도 98%를 정말 넘기는지, 원료 합이 목표 투입량과 맞는지를 스스로 증명하지 못합니다. 셋째, 비결정성입니다. 같은 원료 분석값을 넣었는데 매번 다른 배합이 나오면 왜 이 비율인지를 재현할 수 없어 품질 분쟁에서 설명이 막힙니다.
현실의 장면을 떠올리면 경계가 더 또렷해집니다. 베테랑 배합 엔지니어가 입고된 원료의 순도·수분·불순물 분석표를 보고 이번 로트는 A가 좀 묽으니 B를 조금 더 넣자 하며 손으로 비율을 잡는 장면을 그려 봅시다. 그 감각을 수치로 옮긴 것이 옵티마이저입니다. 반면 같은 일을 LLM에 통째로 맡기면 문장은 매끄럽고 표는 그럴듯하지만 순도를 못 맞추거나 원료 합이 어긋난 자신만만한 거짓 배합이 나오기 쉽습니다. 읽기 좋은 거짓말이 가장 위험합니다.
이 글의 헤드라인은 원료가 매 배치 흔들린다는 현실입니다. 입고되는 원료의 순도가 로트마다 ±몇 %씩 변하기 때문에 고정 레시피로는 품질이 들쭉날쭉해집니다. 그래서 매 배치 분석값에 맞춰 배합을 다시 계산하는 자동 엔진이 필요합니다. 다만 미리 못박아 둘 것이 하나 있습니다. 뒤(§8)에서 보겠지만 이 변동을 실제로 어떻게 흡수하느냐가 이 설계에서 가장 자주 빠지는 고리입니다.
2. 계산하는 기계와 설명하는 기계
이 시스템에는 성격이 근본적으로 다른 두 엔진이 들어 있습니다. 하나는 수치 최적화 엔진으로, 원료 비율이라는 연속 변수 위에서 비용을 최소화하는 결정론적 계산입니다. 다른 하나는 자연어 생성 엔진(LLM)으로, 그 계산 결과를 왜 이 비율이 나왔는지 설명하는 비결정론적 서술입니다. 같은 파이프라인에 놓여 있다는 이유로 둘을 한 덩어리로 보면 설계가 무너집니다. 한쪽은 정답이 수학적으로 정의되고 다른 쪽은 정답이 가독성과 정확한 근거 인용으로만 평가됩니다.
왜 LLM 단독은 안 되는지를 다섯 축으로 비교하면 분명해집니다. 정밀도 — 옵티마이저는 순도 98.00%와 98.04%를 구분하지만 LLM은 토큰 확률로 대략 98%쯤을 말합니다. 제약 준수 — 질량 보존 같은 등식 제약을 옵티마이저는 풀이에 박아 넣지만 LLM은 어길 수 있습니다. 재현성 — 옵티마이저는 같은 입력에 같은 출력을 내지만 LLM은 매번 표현이 흔들립니다. 속도 — 잘 정형화된 연속 최적화는 밀리초에서 초 단위로 수렴합니다. 설명력 — 여기서만큼은 LLM이 압도적입니다. 숫자의 의미를 사람 언어로 풀어내는 일은 옵티마이저가 못 합니다. 그래서 둘을 각자 잘하는 자리에 두는 것이 설계의 핵심입니다.
이 케이스의 한 줄 정체성은 그래서 이렇게 압축됩니다. 계산은 ML(XGBoost+SLSQP), 설명은 LLM. 수치 레시피는 LLM에 맡기지 않고 제약은 옵티마이저에 선언합니다. 이 단순하지만 단단한 분리가 이후 모든 설계의 뿌리입니다.
3. 의뢰서에서 송신까지 — 네 단계 데이터 흐름
전체 흐름은 네 단계로 이어집니다. (1) 입력 수집에서는 이번 배치에 입고된 원료의 분석값(순도·수분·불순물)과 목표 품질·총 투입량을 받습니다. (2) 품질 예측 대리 모델은 이 비율로 섞으면 품질이 얼마나 나올지를 빠르게 답하는 XGBoost 모델이며 최적화의 내부 평가 함수로 쓰입니다. (3) 제약 최적화에서는 비용을 최소화하면서 순도 규격과 질량 보존을 만족하는 비율을 SLSQP가 탐색합니다. (4) 설명 생성은 확정된 배합을 LLM이 계획서·근거 문서로 서술하는 단계입니다.
여기서 핵심은 (2)와 (3)의 관계입니다. 실제 화학 반응을 매번 실험할 수는 없으니 반응 결과를 빠르게 근사하는 대리 모델을 두고 옵티마이저가 그 대리 모델에게 수천 번 이 비율이면 품질이 얼마인지 물어 가며 최적점을 찾습니다. 대리 모델은 옵티마이저의 눈이고 옵티마이저는 그 눈을 믿고 길을 더듬는 셈입니다. 이 의존 관계가 편리한 만큼 위험하다는 점은 §7에서 정면으로 다룹니다.
4. 대리 모델로 XGBoost를 고른 이유
대리 모델 후보는 여럿입니다. 선형 회귀, 신경망, 가우시안 프로세스, 트리 앙상블이 모두 후보죠. 이 케이스가 XGBoost를 고른 근거는 네 가지입니다. 정형 데이터 — 원료 분석값과 비율은 표 형태의 정형 데이터이고 트리 앙상블은 정형 데이터에서 신경망보다 흔히 더 강합니다. 비선형 — 원료 비율과 품질의 관계는 단순 비례가 아니라 꺾이고 포화되는 비선형이며 트리는 이런 구간별 반응을 잘 잡습니다. 희소성 — 일부 원료·조건 조합만 데이터가 있어도 트리는 결측과 희소에 견딥니다. 정규화 — XGBoost는 정규화 항이 내장돼 과적합을 억제합니다.
위 코드는 합성 함수 true_chemical_reaction()이 만든 데이터로 대리 모델을 학습시킵니다. 실제 공정이라면 이 자리에 과거 배치의 분석값–품질 기록이 들어갑니다. 한 가지 한계를 미리 적어 둡니다. 트리 앙상블의 예측면은 부드럽게 휘어지는 곡면이 아니라 계단처럼 끊어진 구간 상수입니다. 이 성질이 §7에서 옵티마이저와 충돌합니다. 빠르고 견고한 대리 모델을 골랐지만 그 대가로 미분 가능성을 잃은 셈입니다.
5. 탐색의 세 갈래 — 유전 알고리즘·베이지안·SLSQP
최적 배합을 찾는 탐색 알고리즘은 크게 세 갈래로 나뉩니다. 유전 알고리즘(GA)은 여러 후보를 동시에 굴리며 교배·변이로 넓게 탐색합니다. 전역 탐색에 강한 대신 느리고 제약 처리가 번거롭습니다. 베이지안 최적화(BO)는 적은 평가로 불확실성을 줄여 가며 다음 점을 고릅니다. 평가 비용이 비쌀 때, 그리고 외삽 위험을 다룰 때 강합니다. SLSQP(Sequential Least Squares Programming)는 그라디언트를 이용해 제약을 지키며 빠르게 국소 최적으로 수렴합니다. 등식·부등식 제약을 직접 받아 주는 점이 이 케이스에 잘 맞습니다.
| 알고리즘 | 탐색 방식 | 강점 | 약점 · 대리 모델 요구 |
|---|---|---|---|
| GA (유전) | 집단 교배·변이로 전역 탐색 | 전역 탐색·미분 불필요 | 느림·제약 처리 번거로움 |
| BO (베이지안) | 불확실성 모델로 다음 점 선택 | 적은 평가·외삽 위험에 강함 | 고차원에서 비용↑·미분 불필요 |
| SLSQP | 그라디언트 기반 국소 수렴 | 제약 직접 수용·빠른 수렴 | 매끄러운(미분 가능) 대리 필요 |
이 케이스가 SLSQP를 1차 선택으로 둔 이유는 제약을 선언적으로 받아 빠르게 수렴하기 때문입니다. 다만 알고리즘 선택에는 기존 비교표가 보통 놓치는 축이 하나 더 있습니다. 바로 대리 모델이 얼마나 매끄러운가입니다. SLSQP를 비롯한 그라디언트 기반 기법은 평가 함수가 미분 가능해야 제 성능이 납니다. 트리 대리처럼 계단형이면 BO 같은 그라디언트-프리 기법이 오히려 안정적일 수 있습니다. 그래서 실무에서는 넓게 탐색은 BO로, 마지막 수렴은 SLSQP로 섞어 쓰기도 합니다.
6. 제약을 옵티마이저에 선언한다
이 설계에서 가장 차별화되는 지점은 제약을 다루는 방식입니다. LLM에게 순도 98% 넘게 합은 총량 맞춰서라고 부탁하는 대신 옵티마이저에게 제약을 수식으로 선언합니다. 두 종류가 있습니다. 등식 제약(질량 보존)은 모든 원료 비율의 합이 목표 투입량과 같아야 한다는 조건입니다. 부등식 제약(품질 규격)은 대리 모델이 예측한 품질이 목표 순도 이상이어야 한다는 조건입니다.
위 코드의 요점은 제약이 constraints=[...] 한 묶음에 선언적으로 들어간다는 데 있습니다. 옵티마이저는 이 제약을 어기지 않는 영역 안에서만 비용을 줄입니다. 바로 이 부분이 LLM 단독 방식과의 결정적 차이입니다. 제약 충족이 잘 부탁한 결과가 아니라 풀이의 전제 조건이 되므로 환각이 끼어들 자리가 구조적으로 사라집니다. 다만 한 가지, 부등식 제약이 실제 품질이 아니라 대리 모델의 예측이라는 점은 기억해 둬야 합니다. 이 틈이 §8의 주제입니다.
실무 디테일이 하나 더 있습니다. SLSQP는 시작점에 민감해서 운 나쁜 초기값이면 국소 최적에 갇히거나 제약 충돌로 실패합니다. 그래서 여러 초기점에서 출발해 가장 좋은 해를 고르는 다중 초기점(multi-start) 전략을 함께 씁니다. 한 번의 최적화를 믿기보다 여러 출발의 결과를 비교해 안정성을 확보하는 방식입니다.
7. 계단을 더듬는 옵티마이저 — 대리 모델의 그라디언트 함정
여기서부터가 이 케이스의 가장 중요한 기술적 함정입니다. §4에서 XGBoost 예측면이 계단처럼 끊어진 구간 상수라고 했습니다. 그런데 §5에서 고른 SLSQP는 그라디언트(기울기)를 따라 내려가는 옵티마이저입니다. 트리 대리는 미분이 거의 모든 점에서 0이고 분할 경계에서만 갑자기 튑니다. 그라디언트가 0이면 옵티마이저는 여기는 평평하니 움직일 이유가 없다고 판단하고 경계에서는 기울기가 폭발합니다. SciPy는 이때 유한 차분(finite difference)으로 그라디언트를 추정하는데 그 추정값이 보는 것은 평평한 바닥과 가끔 나타나는 절벽뿐입니다.
비유하자면 안개 낀 계단을 발끝으로 더듬어 내려가는 사람과 같습니다. 계단참 위에서는 사방이 평평해 어디로 기울었는지 알 수 없고 모서리에 발이 닿는 순간에만 갑자기 푹 꺼집니다. 이런 지형에서 기울기를 따라가라는 지시는 길잡이가 되지 못합니다. 그 결과 옵티마이저는 계단 모서리에 어정쩡하게 안착하거나 움직일 그라디언트가 없어 가짜 수렴(success=True인데 실제로는 더 나은 해가 옆에 있는 상태)에 빠집니다. XGBoost 대리와 SLSQP의 조합은 편리해 보이지만 조합 자체에 내재된 긴장을 안고 있습니다.
처방은 세 갈래이며 이 케이스는 그중 하나를 1차 권고로 둡니다.
monotone_constraints로 원료가 많을수록 품질이 단조 증가하도록 강제하면 제약 경계가 깨끗한 임계선이 되어 옵티마이저가 안정됩니다. 가장 적은 변경으로 가장 큰 효과를 내므로 1차 권고입니다.위 한 줄이 의미하는 바는 작지 않습니다. 대리 모델을 다시 학습할 때 단조성을 강제하기만 하면 옵티마이저가 더듬는 지형이 들쭉날쭉한 계단에서 한 방향으로 기우는 매끄러운 비탈에 가까워집니다. 모델을 통째로 바꾸지 않고 제약 한 줄로 함정을 줄이는 것이 이 권고의 핵심입니다.
8. 예측 98%는 실측 98%가 아니다
두 번째 함정은 더 조용하고 더 흔합니다. §6에서 부등식 제약이 대리 모델 예측 98% 이상이라고 했습니다. 그런데 옵티마이저는 이번 배치의 원료 분석값을 정확한 상수로 받아 결정론적으로 풉니다. 여기서 두 가지 오차가 쌓입니다. 하나는 대리 모델 오차로, 예측은 실제 반응이 아닙니다. 다른 하나는 측정 오차로, 입력한 순도·수분 분석값 자체가 흔들립니다. 그래서 옵티마이저가 예측 98.04%(예시·합성 데이터 기준)라고 자신 있게 내놓아도 실제 배치는 97%대로 떨어질 수 있습니다.
이 케이스의 헤드라인이 원료가 매 배치 흔들린다였다는 걸 떠올리면 아이러니가 보입니다. 정작 최적화는 그 변동을 무시한 채 분석값을 고정된 진실처럼 다룹니다. 비 올 확률이 49%라고 우산을 안 챙기는 것과 같죠. 임계선에 딱 붙여 배합을 짜면 절반은 규격 미달입니다.
처방은 안전 마진(safety margin)을 박는 것입니다. 목표를 단순히 98%로 두지 말고 98%에 대리 모델 검증 오차와 측정 오차 전파분을 더한 값으로 올려 잡습니다. 더 엄밀하게는 실제 품질이 98% 이상일 확률을 95% 이상으로 두는 확률 제약(chance constraint)으로 정식화합니다. 핵심 감각은 한 줄로 줄어듭니다. 여유 순도를 미리 박아 둡니다. 다리를 설계할 때 예상 하중에 안전 계수를 곱하는 발상과 같습니다.
이 보정을 하려면 대리 모델의 오차 예산을 알아야 합니다. 검증셋 RMSE·MAE를 측정해 그만큼을 마진으로 차감하는 것이죠. 그런데 여기에 함정이 또 있습니다. 합성 데이터에는 true_chemical_reaction()이라는 정답 오라클이 있어 오차를 쉽게 재지만 실제 공정에는 그런 오라클이 없습니다. 그래서 검증은 대리 모델의 자기 예측이 아니라 실측 배치와의 비교로 갱신돼야 합니다. 이 점이 다음 절의 검증 이야기로 이어집니다.
9. success=True를 믿지 않는 검증
옵티마이저가 success=True를 돌려줬다고 해서 좋은 배합이 나온 게 아닙니다. 이 케이스는 세 가지 검증(원안)에 더해 네 번째를 둡니다. ① 수렴 검증은 옵티마이저가 정말 수렴했는지(반복 한계·실패 코드)를 봅니다. ② 질량 보존 검증은 원료 비율의 합이 목표 투입량과 일치하는지를 봅니다. ③ 품질 규격 검증은 예측 품질이 목표 순도 이상인지를 봅니다. 그리고 §8에서 추가된 ④ 마진 반영 검증은 임계선이 아니라 안전 마진을 더한 목표를 넘겼는지를 봅니다.
위 검증의 정신은 success=True가 제약 충족과 같지 않다는 데 있습니다. 옵티마이저의 성공 플래그는 내부 수렴 기준을 만족했다는 뜻일 뿐 우리가 원하는 품질·질량·마진을 보장하지 않습니다. 그래서 풀이가 끝난 뒤 결과를 독립적으로 재검증합니다.
검증과 짝을 이루는 것이 실패 모드입니다. 흔한 세 가지를 봅시다. 초기값 실패는 운 나쁜 시작점에서 제약 충돌로 풀이가 무너지는 경우이며 다중 초기점으로 완화합니다. 제약 충돌(infeasible)은 목표 순도가 너무 높아 어떤 배합으로도 만족 불가능한 경우이며 사람에게 알리고 목표를 재협의합니다. 외삽은 학습 데이터 범위를 벗어난 원료 조합이라 대리 모델 예측을 신뢰할 수 없는 경우이며 경고 후 실험·재학습으로 넘깁니다. 이 실패들이 조용히 틀린 답으로 통과되지 않도록 잡아내는 것이 검증의 진짜 목적입니다.
10. 엔지니어는 어디서 끼어드는가 — 승인 게이트와 롤아웃
여기까지는 잘 도는 계산 파이프라인입니다. 그런데 계산이 정확하다고 곧장 반응기에 자동 송신하는 시스템은 아무도 신뢰하지 않습니다. 케이스 스터디와 튜토리얼을 가르는 선이 바로 이 지점입니다. 누가 운영하고 어디서 사람이 승인하며 어떻게 신뢰를 쌓아 자동화로 넘어가는가.
설계에는 세 개의 사람 개입점이 있습니다. ① 승인 게이트에서는 레시피를 확정하기 전에 베테랑 엔지니어가 예측 품질·비용·근거(§11의 SHAP+LLM 브리핑)를 검토하고 확정합니다. ② 에스컬레이션은 옵티마이저가 infeasible·외삽 경고를 낼 때 자동 진행하지 않고 사람에게 넘기는 장치입니다. ③ 단계적 자동화는 반응기 자동 송신을 신뢰가 쌓인 뒤 마지막에 여는 원칙입니다.
그래서 이 시스템은 한 번에 완전 자동이 되지 않습니다. 신뢰 사다리를 한 칸씩 오릅니다. 처음에는 엔지니어가 로그를 읽으며 결과를 눈으로 확인하고 다음에는 SHAP 근거를 보며 왜 이 비율인지 납득합니다. 그다음 수동으로 확정 버튼을 누르고 신뢰가 쌓이면 반자동(예외만 사람)으로 넘어가며 마지막에야 자동 송신에 이릅니다. 자율주행의 레벨이 한 번에 5로 뛰지 않는 것과 같습니다. 각 칸마다 사람이 빠지는 만큼 그 자리를 메우는 것이 검증(§9)과 설명(§11)입니다.
11. 왜 그 배합인가 — SHAP과 LLM 브리핑
승인 게이트에서 엔지니어가 확정 버튼을 누르려면 옵티마이저가 내놓은 숫자만으로는 부족합니다. 왜 A를 71.4%, B를 28.6%로 잡았는지(예시·합성 데이터 기준)에 답해야 합니다. 여기서 SHAP(SHapley Additive exPlanations)이 등장합니다. SHAP은 대리 모델의 예측에 각 입력(원료 비율·분석값)이 얼마나 기여했는지를 분해해 보여 줍니다. 이번 배합에서 순도를 끌어올린 건 A의 높은 순도이고 B를 늘린 건 비용 때문이라는 식으로 기여도를 정량화합니다.
다만 SHAP의 출력은 기여도 수치와 그래프라서 그대로는 현장 언어가 아닙니다. 그래서 하이브리드 아키텍처가 완성됩니다. SHAP이 기여도를 계산하면 LLM이 그것을 사람이 읽을 브리핑으로 번역합니다. 이번 로트는 A 순도가 평소보다 높아 A 비중을 늘렸고 그만큼 비용이 내려갔다는 문장으로 옮기는 것이 LLM의 자리입니다. 여기서도 원칙은 같습니다. 수치는 SHAP이 계산하고 LLM은 설명만 합니다. LLM이 기여도를 지어내지 않습니다.
이 구조가 §10의 승인 게이트와 맞물립니다. SHAP+LLM 브리핑이 바로 사람이 납득하는 화면이고 그 화면이 있어야 엔지니어가 신뢰 사다리를 오를 수 있습니다. 설명은 곁들이가 아니라 자동화를 지탱하는 기둥입니다.
12. 2원료에서 N원료로 — 정리와 다음 단계
이 글의 예시는 원료 두 종(A·B)이었습니다. 솔직히 말하면 2원료는 사실상 자유변수가 하나뿐입니다. 합이 총량으로 고정되니 A를 정하면 B는 따라옵니다. 비용도 선형이라 품질이 98%에 닿을 때까지 싼 원료를 늘린다는 규칙이 곧 최적해입니다. 이건 SLSQP까지 갈 것 없이 1차원 이분 탐색으로 정확하고 빠르게 풀립니다. 그러니 2원료 예시는 직관을 잡는 용도이고 SLSQP가 진짜 값어치를 하는 건 원료가 셋 이상(심플렉스 제약)일 때부터입니다. 정직하게 단계를 나누는 편이 독자의 신뢰를 얻습니다.
정리하면 이 케이스의 뼈대는 세 문장으로 압축됩니다. 계산은 검증 가능한 대리 모델과 옵티마이저에 맡깁니다. 그 조합에는 그라디언트 함정과 안전 마진이라는 두 함정이 숨어 있습니다. 자동화는 사람의 승인 게이트를 거쳐 신뢰 사다리를 한 칸씩 오릅니다. 이 셋이 잘 도는 데모와 운영에서 살아남는 시스템을 가릅니다.
다음 단계로 갈 길은 분명합니다. 원료 N≥3 일반화(심플렉스 제약), 탐색은 BO로 수렴은 SLSQP로 가는 하이브리드, 단조 제약 XGBoost나 제약 베이지안 최적화의 본격 구현이 그 길입니다. 모두 별도의 심화편 주제죠. 강화학습 동적 제어나 Soft Sensor 역추정처럼 이 글이 의도적으로 비워 둔 영역도 마찬가지입니다. 한 가지 원칙만 끝까지 지키면 됩니다. 수치 레시피는 LLM에 맡기지 않습니다. 계산은 옵티마이저에, 설명만 LLM에.
SLSQP — Sequential Least Squares Programming. 제약을 지키며 그라디언트로 수렴하는 옵티마이저.
Hard Constraint — 반드시 지켜야 하는 제약(질량 보존·품질 규격). 위반은 곧 해 폐기.
질량 보존(등식 제약) — 원료 비율의 합 = 목표 투입량.
품질 규격(부등식 제약) — 예측 품질 ≥ 목표 순도.
다중 초기점(multi-start) — 여러 시작점에서 풀어 가장 좋은 해를 고르는 전략.
단조 제약(monotone_constraints) — 입력↑에 출력이 단조로 가도록 강제해 예측면을 매끄럽게.
안전 마진 / 확률 제약 — 임계선에 오차분을 더해 미달 위험을 낮추는 여유 순도.
SHAP — SHapley Additive exPlanations. 예측에 대한 입력별 기여도 분해.
가짜 수렴 — success=True지만 더 나은 해가 옆에 남은 상태(계단형 지형에서 발생).
케이스 스터디 · 계산은 ML(대리 모델·옵티마이저), 설명은 LLM · Tool Use · Planning · HITL · Evaluation을 중심으로 본 대리 모델 최적화 적용 분석
에이전틱 AI를 공부할 때 우리는 "LLM이 알아서 한다"는 그림을 먼저 떠올립니다. 하지만 배합·최적화처럼 제약이 얽힌 수치 문제는 LLM이 신뢰성 있게 풀 수 있는 영역이 아닙니다. 이 케이스가 내린 가장 중요한 결정은 한 줄로 압축됩니다. AI가 배합을 짜주는 게 아니라, 옵티마이저가 풀고 AI가 설명합니다. 대리 모델과 SLSQP가 비용·질량·품질을 책임지고 LLM은 그 결정값을 사람이 읽을 근거로 옮깁니다. 그 사이에 트리 대리의 그라디언트 함정과 예측–실측 사이의 안전 마진이라는 두 함정이 있고 사람의 승인 게이트가 신뢰 사다리를 떠받칩니다. 무엇이든 LLM에 떠넘기고 싶은 유혹 앞에서, 이건 옵티마이저의 일 저건 LLM의 일을 가르는 안목 — 그것이 고책임 도메인에서 자동화보다 먼저 와야 할 설계 원칙입니다.
- XGBoost 공식 문서 — Monotonic Constraints(단조 제약)
- SciPy 공식 문서 — optimize.minimize(SLSQP)
- SHAP 공식 문서 — SHapley Additive exPlanations
- Kraft, D. (1988). A software package for sequential quadratic programming(SLSQP 원논문 개요)
true_chemical_reaction())와 일반 화학 공정(원료 A/B·순도 98%)을 기반으로 한 교육용 케이스 스터디입니다. 특정 기업·제품·설비를 가리키지 않으며, 코드는 개념 설명용 예시이고 프레임워크 API는 버전에 따라 달라질 수 있습니다.'Agentic AI Case Studies' 카테고리의 다른 글
| AI는 시험 일정을 계산하지 못한다 — 제약 스케줄링 최적화 모듈과 LLM을 분리한 자동 배치 설계 (0) | 2026.06.23 |
|---|---|
| 가장 비슷한 과거값이 정답은 아니다 — 사출 수축률을 추천하고 학습하는 HITL 에이전트 (0) | 2026.06.20 |
| AI는 품질 대책서를 써주지 않는다 — 비정형 문서를 다루는 HITL 에이전트 설계 (1) | 2026.06.19 |