특정 영역의 전문지식을 컴퓨터에서 표현하는 방법인 지식공학(Knowledge Engineering)은 인공지능 연구가 여러가지 기술적인 문제로 한계에 봉착하면서 등장했다. 전문가시스템(Expert System)은 바로 이러한 지식공학의 한 부분이다.
지식공학은 지식 베이스와 추론기구를 이용해 컴퓨터가 사람처럼 문제를 해결하게 하는 기술을 연구하는 학문이며 전문가시스템은 특정분야 지식이 축적된 데이터베이스를 이용해 컴퓨터가 고도의 문제를 해결할 수 있도록 하는 시스템이다. 전문가시스템은 전문적인 「사실」이 저장되는 지식 베이스와 이를 바탕으로 추론을 하는 엔진(Inference Engine), 필요 지식을 지식베이스에 입력하는 기술자(Knowledge Engineer) 등으로 구성된다.
전문가시스템은 이전의 데이터처리 프로그램보다 여러 측면에서 향상된 시스템이다. 전문가시스템은 데이터처리 시스템처럼 정해진 순서를 따라 일을 처리하지 않는다. 데이터와 연산법을 위주로 하는 데이터처리 시스템과 달리 전문가시스템은 지식베이스와 추론법을 근본으로 한다. 데이터처리시스템은 수치 프로세싱이 주류를 이루지만 전문가시스템은 기호 프로세싱이 주류를 이룬다. 구현언어도 전문가시스템의 경우 인공지능 도구(AT Tools), LISP, COBOL 등을 사용한다.
그러나 전문가시스템이 대상으로 하는 인간의 지적작업에는 복잡한 변수가 많아 정형화하기 어렵다. 예컨대 동일한 의료기기를 사용하는 의료진 사이에도 의사 개인의 주관과 경험에 따라 능력차이가 나는 것처럼 복잡해 공식화하는 것이 힘들다. 이런 문제점을 안고 태어난 초기의 전문가시스템들을 정적(Static) 전문가시스템이라 한다.
정적 전문가시스템의 일종인 MRP는 전문가시스템의 이론과 현실 사이의 격차를 분명히 보여준 작품이다. MRP 운영에 필요한 생산변수를 입력해 현장에 적용하려고 할 때 대부분의 현장에서는 기계고장, 갑작스런 재고 결품, 작업자 근태사고 등 입력된 변수의 경계를 넘어서는 예기치 못한 일이 발생한다. 그럴 때마다 이전변수만 등록되어 있는 MRP 시스템은 현실과 맞지 않은 낡은 것으로 치부될 수밖에 없고 이런 결점이 구조상 필연적이었다는 점이 문제이다.
정적 전문가시스템은 「해당 상황에서 발생 가능한 모든 상황을 한정짓고 그 각각의 규칙을 순차적으로 배치한 다음 의사결정시스템을 한곳에 모아두는 집중화된 규칙기반 형태(Centralized Rule Base)」를 취하고 있다. 곧 해결해야 할 물리적 제약조건, 프로세스 요구사항, 조직의 목표, 자원의 가용성, 운전조건 등 모든 고려사항을 규칙으로 정의해 모은 것이다. 스케줄링시스템을 적용할 현장의 규모가 아무리 적당하다고 해도 규칙은 수백에서 수천가지에 이른다. 이처럼 많은 규칙과 규칙간 상호작용까지 상세한 데이터베이스 구축은 물론 그 예상변수들을 정의하는 것도 힘들다. 더 큰 문제는 유지보수이다.
생산조건이나 목표가 바뀔 때마다 새 규칙을 추가하고 이전규칙은 삭제해야 하는데 그때마다 시스템을 다운시켜야 한다. 규칙이 모두 중앙에 집중되어 있어 한 규칙의 변화가 전체 시스템 구조에 곧바로 영향을 미치기 때문이다. 문제는 이런 수정이 생산성 배가를 위한 올바른 길인지 확인할 수 없다는 점이었다. 정적 전문가시스템은 스케줄링된 결과를 보여주는 시뮬레이터 기능도 빈약했다.
정적 전문가시스템 개발자들은 이에 따라 개발기간의 60∼70%까지 유지보수에 투입하면서도 시스템을 실제로 구현하기 힘들었고 그래서 현재 정적 전문가시스템은 거의 단종되다시피한 것이다. 하지만 초기 전문가시스템은 향후 전문가시스템이 해결해야 할 과제와 방향을 암시해 주었다는 성과는 남겼다.
최근 스케줄링시스템에 새로 적용되고 있는 자율적 에이전트(Autonomous Agent) 기술은 정적 전문가시스템과 그 개념이 다르다. 완전히 새로운 개념을 적용해 지능적이며 목표지향적인 에이전트를 이용해 스케줄링하는 이 개념은 80년대 중반 무렵부터 유럽에서 싹텄다. 국내에서는 대학연구소 등 일부 영역에서만 시험되고 있을 뿐이다.
사실 에이전트 개념은 새로운 것이 아니다. 아주 작게 나눈 현장의 여러기능의 규칙을 담고 있는 최소단위가 바로 에이전트이다. ABS(Agent Based Schedular)시스템은 이 가운데 다중 에이전트시스템(MultiAgent System)이라 불리는 것으로 유럽위원회(EC)가 지난 89년 설립한 ESPRIT 프로젝트 ARCHON의 틀을 이용해 만들어진 분산형 인공지능(Distributed Artificial Intelligence) 기술이다. 분산형 인공지능 기술은 복잡하고 분산된 문제해결을 지원하는 아키텍처로 워크그룹이나 조직체가 전반적인 목표를 달성하기 위해 서로 협력하고 때로는 제한된 자원을 놓고 협상하는 과정을 모델링한 정보기술이다.
개별 에이전트들은 이전의 순차적 배열방법과 달리 서로 독립적이면서도 유기적인 관계로 맺어진다. 단지 몇개의 규칙만 가진 에이전트들은 쉽게 이해될 뿐 아니라 유지보수도 수월하다는 장점을 가진다. 상황에 변화가 생겨 규칙삭제나 재입력이 필요할 때도 시스템을 다운시킬 필요없이 특정 에이전트만 고치면 되기 때문이다. 이는 중앙집중화된 시스템이 가질 수 없는 장점이다. 또 한곳에 집중되어 있던 의사결정 과정을 하위 에이전트들에게 위임시킨 덕분에 훨씬 유연하고 외란에 강한 동적(Dynamic) 스케줄링시스템을 구성할 수 있게 된 것이다.
ABS는 이런 에이전트 구조를 이용해 사용자가 직접 문제를 해결할 방법을 구성할 수 있도록 지원한다. 에이전트는 스스로 보유한 상황평가모듈(Situation Assessment Module)을 이용해 임의의 사건을 평가하고 그 상황에 필요한 행위를 결정하는 것이다. 도움모델(Self Model)은 그런 행위를 스스로 수행할 수 있는지 판단하게 해준다. 혼자서 처리할 수 있는 일이라면 실행명령모듈(Command Module)이 필요과제를 수행시키고 그렇지 않다면 지식모델(Acquaintance Model)을 이용해 한 애플리케이션을 구성하고 있는 여러 에이전트들 중 자기에게 도움을 줄 수 있는 에이전트를 찾아 호출한다. 물론 자신이 가지고 있는 정보를 필요로 하는 다른 에이전트들에게 통보할 수도 있다. 과제를 수행하기 위해 에이전트들의 공동작업이 필요할 때는 협력모듈(Cooperation Module)을 이용한다.
그러므로 현장 생산관리자는 라인 작업자들에게 직접 작업지시를 내릴 필요없이 다만 ABS시스템의 해당 에이전트가 가진 목표(Goal)를 조정하는 것만으로 변화된 조건을 제어할 수 있다. 예를 들어 에이전트의 목표가 납기만족인지, 기계이용의 극대화인지, 재고 최소화인지만 결정하면 되는 것이다. 생산현장의 조건들이 계속 바뀌는 상태에서 「지금, 당장」이라는 의사결정을 할 수 있다는 것은 효율적일 수밖에 없다.
ABS시스템에 사용된 지능적인 에이전트들은 객체지향 아키텍처를 사용해 현실세계를 정확하게 모델링할 수 있으며 이런 모델화 과정을 바탕으로 생산환경이 바뀌는 즉시 그 조치내용을 판단한다. 또 변동내용과 연관된 에이전트들은 무엇이, 언제, 어디서, 얼마만큼 필요한지를 자율적으로 결정할 수 있다. 한 과제를 마친 에이전트는 다음에 대기중인 과제의 열을 확인한다. 그리고 그 내용을 평가해 해당 에이전트의 목표에 가장 가까운 과제를 하나 정한다. 만약 같은 자원을 놓고 충돌이나 경쟁(지시사항 몇개가 같은 생산라인에서 대기하고 있는 경우)이 일어나면 자원관리 에이전트(Resources Agent)가 경쟁관계에 있는 과제를 여러 측면에서 평가해 그 중요도를 결정한 다음 우선순위를 결정한다. ABS시스템은 앞으로 발생할지도 모를 상황을 위해 그때 필요한 자원들을 미리 준비해 둘 필요가 없다. 그러면서도 변화된 환경이 가져올 결과를 훌륭하게 그려낼 수 있다. ABS시스템은 뛰어난 시뮬레이션 기능을 가지고 있기 때문이다.
물론 정적 전문가시스템도 시나리오를 시험해 볼 수는 있다. 하지만 정적 시스템은 자체적으로는 시뮬레이션 기능을 지원하지 않아 별도의 패키지를 구입해야 했다. 이럴 때 스케줄링과 시뮬레이션은 서로 다른 논리를 사용하고 있어 불편할 뿐 아니라 시뮬레이션 결과가 현실을 반영한다고 확신하기 힘들다. 더구나 이런 경우 사용자는 솔루션을 찾는 과정은 볼 수 없고 오직 그 결과만을 보여줄 뿐이었다.
이에 비해 ABS시스템은 스케줄링과 동일한 모델 및 논리구조를 가진 시뮬레이션 기능을 내장하고 있다. 따라서 시나리오를 시험하는 과정이 「이럴 때는 이런 과정을 거쳐 이런 결과가 나온다」는 양방향 대화식으로 진행돼 사용자들은 만족할 만한 의사결정을 내릴 수 있을 때까지 모든 자원을 비교 분석할 수 있다. 이는 사용자가 완전한 신뢰감을 갖는 스케줄링을 찾아 최적의 의사결정을 내릴 수 있게 한다는 점에서 매우 중요하다.
최근 소비자 기호가 다양해지면서 자동차 생산조건은 매우 복잡한 양상을 띠고 있다. 이럴 때 잘 스케줄링된 차량 도장순서, 부품조립 차례 등은 막대한 비용과 시간을 절약시켜 준다. 국내 자동차 회사들은 지금까지 이런 문제를 숙련된 작업자의 감각으로 해결해 왔지만 현실은 소수 숙련자에 의한 생산조절은 곧 한계에 부딪힐 것으로 전망된다.
더구나 제품 및 부분품의 글로벌 소싱이 가능하기 위해서는 부품 생산처와 소비처가 24시간 동안 서로의 재고, 주문 내용 등을 실시간으로 파악해야 한다는 필요성도 최고의 스케줄링시스템 도입을 서두르게 한다. 부정확하고 부적절한 정보교환은 단편적인 생산체제와는 비교할 수 없을 만큼 큰 손실로 나타나기 때문이다. 이런 점에서 기능별 에이전트를 이용한 ABS시스템은 유일한 해결책이 될 수 있다.
자율적인 에이전트 기술은 이밖에도 제조공정의 복잡스케줄링, 동시공학, 비즈니스 프로세스 관리, 인공생활(Artificial Life), 전자도서관(Digital Library), 교통관제시스템, 항만 입출입 최적화 관리시스템, 사회현상의 분석 등 적용 분야가 무한하다. 특히 기업경영의 세계화를 지원하는 CALS의 기반 정보기술로도 활용할 수 있는 솔루션으로 평가되고 있어 관련분야의 심도깊은 검토가 요구되고 있다.
정경력(鄭炅力)
1977년 중앙대 컴퓨터공학과 졸업
1983년 대우자동차 입사
1993년 대우정보시스템 입사
대우자동차 부평공장 생산기술, 설계, 자재 전산팀장
현재 대우정보시스템 자동차 SM담당 총괄차장
대우자동차 부평 공장관리 프로젝트 총괄