디지털트윈이야기 37부 – 프롬프트 엔지니어링보다 문제를 정의하는 능력의 중요성
y=f(x)는 문제를 가장 높은 수준에서 추상화하여 수학적으로 표현한 모델이다. 이를 함수(function)라 한다. 함수는 대응관계이다. 세상의 모든 객체나 시스템은 관계를 맺고 상호작용(function)을 하면서 돌아가는게 세상의 이치다.
x라는 입력을 가하면 y라는 출력이 나온다. 출력, y는 function, f에 따라 달라진다. 이러한 문제를 푸는 것은 x, f, y 3가지 중 2가지를 알고 하나를 찾아내는 것이다. ?=f(x), y=?(x), y=f(?) 처럼 말이다.
?=f(x)는 분석/예측의 문제다. 입력 x를 가했을 때 출력 y는 어떻게 될까? x를 바꿔가면서 가상실험을 해서 y를 찾을 수 있다.
y=?(x)는 설계의 문제다. 특정 입력 x를 가했을 때 특정 출력 y가 나오는 제품, 프로세스나 시스템을 어떻게 만들어야 할까? 제품(Products)의 제원을 바꿔가면서 원하는 제품을 설계할 수 있고, 프로세스의 순서나 기능을 바꿔가면서 원하는 프로세스를 설계할 수 있고, Products, Processes, People을 바꿔가면서 가상실험을 통해 원하는 시스템을 설계할 수 있다. People의 기능을 Products가 대체하면 자동화가 된다.
또한 y=f(?)는 최적화의 문제다. 특정 목적이나 목표 y를 나오게 하려면 어떤 행동이나 입력 x를 가해야 할까? 목적을 정하고 제한된 조건하에서 목적지수가 최대값 또는 최소값이 되는 입력의 집합을 역방향 시뮬레이션을 통해 찾을 수 있다.
입력 x와 y의 집합 (x, y)가 빅데이터다. (x, y)를 기계학습하면 f를 찾을 수 있다. x와 y만 보면 인과관계를 알 수 없으니 상관관계를 찾아 모델링한다. 그게 인공지능(AI)의 원리다. 그러므로 학습한 범위를 벗어나거나 시간이나 상황에 따라 y가 변하는 동적시스템에는 맞지 않는다.
AI는 현상을 인식하거나 지식, f를 찾는 용도로 유용한 도구이다. 검증이 안된 지식으로 분석/예측이나 판단하고 의사결정하면 어떻게 될까? 학습할 데이터 (x,y)가 없는 새로운 제품, 프로세스나 시스템은 설계할 수 없다. AI는 혁신의 보조 수단일 뿐이다. 초거대 생성형 AI도 원리는 같다.
문제를 수학방정식으로 표현하는 이유는 간단명료하다. 의사소통이 명확해진다. 완전하고 검증가능하다. 계산은 수학방정식을 프로그래밍하여 컴퓨터를 이용하면 쉽다. 복잡하고 어려운 문제도 추상화하여 수학방정식으로 모델링하면 단순화하여 쉽게 최적해를 찾을 수 있다.
수학은 복잡하고 어려운 문제도 단순하고 해결 가능한 형태로 변환할 수 있게 해주는 강력한 도구이다. 문제를 수학적으로 모델링하여 해결해 나가는 것은 매우 중요하고 유용한 방법이다. 다만, 수학방정식으로 모델링하는게 어렵다. 그러므로 문제를 푸는 능력보다는 문제를 정의하는 능력을 길러야 한다. 질문도 문제를 풀기 위해 하는 것이므로 프롬프트 엔지니어링 보다는 문제를 정의하는 능력이 더 필요하다.
우리의 삶 자체가 문제에 부딪히고 해결하는 과정의 연속이다. 개인의 문제, 기업의 문제 뿐만 아니라 정치ㆍ경제ㆍ사회ㆍ군사 등의 문제도 마찬가지다. 남 탓과 자기의 이익만을 위해 싸우지 말고 함께 잘 살아갈 수 있는 문제를 찾아 수학적으로 정의하자. 그리고 디지털트윈을 제대로 만들고 가상실험을 통해 분석/예측, 설계 및 최적화해서 문제를 해결해 나가다보면 지금은 해결책을 찾지 못해 어려움을 겪고 있는 많은 문제들에 대한 답을 좀더 쉽게 찾을수 있을 것이다.