수백 페이지 기술문서 분석, AI에게 맡기세요: FlowFSM 프롬프트 체이닝의 모든 것
“이걸 사람이 일일이 봐야 한다고요?”
수백 페이지짜리 기술 표준 문서(RFC)를 붙들고 네트워크 프로토콜의 작동 방식을 파악해 본 경험, 혹시 있으신가요? 마치 빼곡한 상형문자로 가득한 고대 석판을 해독하는 기분이었을 겁니다. 단어 하나를 잘못 이해하면 치명적인 보안 허점으로 이어질 수 있기에, 모든 문장에 신경을 곤두세워야 하죠. 이 과정에서 유한 상태 머신(FSM)이라는 시스템의 전체 동작 지도(설계도)를 그려내는 작업은 프로토콜 분석과 보안의 핵심입니다.
하지만 기존 방식들은 늘 어딘가 부족했습니다. 사람이 직접 분석하면 너무 느리고 실수가 잦았고, 자동화 도구는 너무 복잡하거나 중요한 맥락을 놓치기 일쑤였죠.
그런데 만약, 이 지루하고 어려운 작업을 각 분야의 전문 AI 에이전트들이 팀을 이뤄 알아서 처리해준다면 어떨까요?
최근 발표된 “An Agentic Flow for Finite State Machine Extraction using Prompt Chaining” 논문은 이 상상을 현실로 만든 ‘FlowFSM’이라는 혁신적인 프레임워크를 제시합니다. 이 글에서는 복잡한 논문을 명쾌하게 해체하고, AI 팀이 어떻게 프롬프트 체이닝 기술을 통해 전문가처럼 FSM을 정확하게 추출하는지 그 비밀을 파헤쳐 보겠습니다.
1. FSM, 그게 왜 그렇게 중요한가요?
본론에 들어가기 전에, FSM이 왜 중요한지부터 간단히 짚고 넘어가죠. FSM은 시스템이 가질 수 있는 모든 ‘상태’와 한 상태에서 다른 상태로 넘어가는 ‘규칙’을 정의한 일종의 ‘내비게이션 지도’입니다. 이 지도가 있으면 다음과 같은 일을 할 수 있습니다.
- 정확성 검증: 프로토콜이 원래 설계대로 정확하게 작동하는지 확인할 수 있습니다.
- 취약점 분석: 지도에 없는 길로 가거나(예상치 못한 상태 전환), 길이 막히는(논리적 허점) 곳을 찾아내 보안 위협을 미리 막을 수 있습니다.
- 리버스 엔지니어링: 설명서가 없는 프로토콜의 동작 원리를 파악하는 결정적인 단서가 됩니다.
문제는 이 중요한 지도를 그리는 과정이 너무나 험난하다는 것이죠. FlowFSM은 바로 이 ‘지도 제작’ 과정을 똑똑하게 자동화하는 새로운 해법입니다.
2. FlowFSM의 핵심 전략: AI 전문가 조립 라인, ‘프롬프트 체인’
FlowFSM의 작동 방식을 가장 쉽게 이해하는 방법은 고도로 전문화된 ‘AI 조립 라인’을 떠올리는 것입니다. FSM 추출이라는 복잡한 작업을 하나의 거대한 프롬프트로 퉁치는 대신, 여러 개의 작은 단위로 쪼개고 각 작업을 가장 잘하는 전문 AI 에이전트에게 순서대로 넘기는 방식이죠. 이것이 바로 프롬프트 체이닝(Prompt Chaining)의 핵심입니다.
이 조립 라인은 크게 두 단계로 나뉩니다.
-
1단계: 원자재 가공 (RFC 문서 정제)
공장에서 원자재를 다듬듯, AI는 먼저 뒤죽박죽인 RFC 문서를 분석하기 좋은 형태로 깔끔하게 정제합니다.
- 클리닝: 페이지 번호, 머리글, 바닥글처럼 분석에 방해되는 군더더기를 제거합니다.
- 구조화: 문서를 ‘장(Chapter)’과 ‘절(Section)’ 단위로 나눠 계층적 구조로 만듭니다. 이를 통해 AI는 전체 문서의 맥락을 나무의 구조처럼 한눈에 파악할 수 있게 됩니다.
-
2단계: 전문가 팀의 협업 (FSM 추출)
이제 잘 다듬어진 데이터를 바탕으로, 각 분야의 전문 AI 에이전트들이 릴레이 경주를 시작합니다.
- 에이전트 1 (명령어 탐색가): 문서 전체를 샅샅이 훑어 프로토콜에서 사용하는 모든 명령어(예: FTP의 USER, PASS)를 찾아 목록을 만듭니다.
- 에이전트 2 (상태 분석가): 탐색가가 만든 목록을 넘겨받아, 각 명령어가 어떤 조건(상태)에서 실행되는지, 실행 후 시스템 상태를 어떻게 바꾸는지 분석합니다.
- 에이전트 3 (규칙 제정자): 앞선 분석 결과를 종합하여, 각 명령어에 대한 체계적인 ‘규칙집(Rulebook)’을 최종적으로 작성합니다.
이처럼 한 에이전트의 결과물이 다음 에이전트의 입력값이 되어 작업을 점점 더 정교하게 다듬어 나갑니다. 이 연쇄 작용 덕분에 AI가 엉뚱한 상상(환각)을 하거나 중요한 정보를 놓칠 가능성이 획기적으로 줄어듭니다.
3. 최종 결과물: ‘규칙집(Rulebook)’ 집중 분석
FlowFSM이 만든 ‘규칙집’은 단순한 정보 나열이 아닙니다. 각 명령어의 행동 양식을 입체적으로 정의하죠. FTP의 PASS
명령어를 예로 들어볼까요?
- 명령어 개요
목적:PASS
명령어는 사용자의 비밀번호를 전송해 신원 확인을 완료한다. - 상태 변경: 그렇다. 인증 후 다음 작업을 할 수 있는 상태로 시스템을 전환시킨다.
- 사용 조건:
USER
명령어가 성공적으로 실행된 직후에만 사용할 수 있다. - 선행 조건 (이전에 와야 할 명령어)
필수 명령어:USER
필요한 시스템 상태: 시스템이USER
명령어를 정상적으로 수신한 상태여야 한다. - 후행 조건 (다음에 올 수 있는 명령어)
- 가능한 명령어 1:
RETR
(파일 다운로드)
필요한 시스템 상태: 사용자가 로그인된 상태여야 한다. - 가능한 명령어 2:
TYPE
(파일 전송 타입 설정)
필요한 시스템 상태: 사용자가 로그인된 상태여야 한다.
- 가능한 명령어 1:
이처럼 규칙집은 각 명령어가 전체 프로토콜 흐름 속에서 어떤 역할을 하는지 명확하게 정의함으로써, 완벽한 FSM 지도를 그리는 핵심 재료가 됩니다.
4. 그래서, 효과가 있었을까요? (실험 결과)
이론은 그럴듯한데, 실제 성능은 어땠을까요? 논문은 FTP와 RTSP라는 서로 다른 두 프로토콜에서 FlowFSM을 테스트했고, 결과는 매우 인상적이었습니다. 정확도(Precision) 81% 이상, 재현율(Recall) 85% 이상을 달성했죠.
- 높은 정확도: AI가 만들어낸 규칙 10개 중 8개 이상이 실제 설계와 일치했다는 의미입니다. 즉, AI가 헛소리를 할 확률이 매우 낮다는 뜻입니다.
- 더 높은 재현율: 실제 존재하는 규칙 10개 중 8.5개 이상을 AI가 놓치지 않고 찾아냈다는 의미입니다. 보안 분석에서는 잘못된 정보를 추가하는 것보다 있는 위협을 놓치는 것이 더 치명적이기에, 이는 매우 중요한 결과입니다.
- 더 주목할 점은, 구조가 전혀 다른 두 프로토콜에서 거의 비슷한 성능을 보였다는 사실입니다. 이는 FlowFSM의 접근 방식이 특정 환경에만 국한되지 않고 다양한 문제에 적용될 수 있는 일반화 능력을 갖췄음을 증명합니다.
결론: 단순한 ‘도구’를 넘어 ‘전문가 팀’으로
FlowFSM은 LLM을 단순히 ‘글 쓰는 AI’가 아닌, ‘문제를 해결하는 전문가 팀’으로 활용할 수 있다는 가능성을 보여준 훌륭한 사례입니다. 복잡한 문제를 잘게 나누고, 각 단계를 명확한 프롬프트로 정의하며, 그 결과물을 사슬처럼 연결하는 방식은 AI의 신뢰성과 제어 가능성을 한 차원 끌어올렸습니다.
물론 아직 높은 컴퓨팅 비용 같은 과제는 남아있습니다. 하지만 지루하고 반복적인 분석 작업은 AI 전문가 팀에게 맡기고, 인간은 더 창의적이고 전략적인 의사결정에 집중하는 미래. FlowFSM은 그 미래를 향한 중요한 발걸음입니다.
이제 우리에게 남은 질문은 이것입니다. “당신은 어떤 복잡한 문제를 이 AI 조립 라인에 올려놓으시겠습니까?”