
Agentic Workflow 설계하기
두줄요약
LLM 기능을 단순 연결하는 대신 Workflow Loop와 Domain Adapter로 판단과 실행 책임을 분리했습니다. 사용자 Interaction과 스냅샷 승인까지 구조화해 Agentic Workflow의 재개와 검증을 안정화했습니다.
문제 상황
- 단계별로 동작하던 여러 LLM 기능을 하나의 흐름으로 연결할 때 단순한 호출 순서만으로는 부족한 상태 관리 문제
- 분기, 재시도, 사용자 응답 대기를 반복문과 조건문으로 잇기 어려운 구조적 복잡성
- 실행 책임과 도메인 책임이 섞이면 검증된 상태와 실제 실행 대상이 어긋날 수 있는 위험
구조와 흐름
- Workflow Loop와 Domain Adapter로 실행 순서와 도메인 판단을 분리
- Workflow Session에는 실행, 대기, 재개 같은 흐름 상태를 저장하고 Domain Session에는 결과, 버전, 검증 여부를 저장
- Decision과 Policy로 허용 행동을 주고받고 Tool Registry를 통해 기존 기능을 실행
구조와 흐름
- Interaction을 문자열 메시지가 아닌 type, target, options, required로 된 구조화 계약으로 정의
- 승인 정보는 대상 Tool, 결과 버전과 해시, 검증 결과 해시, 멱등성 키를 포함한 스냅샷으로 관리
- 실행 직전에 승인 당시 상태와 현재 상태의 동일성을 재검증해 중복 실행과 변경 반영 오류를 차단
적용해볼 점
- LLM은 허용된 범위에서만 행동을 제안하고 최종 Tool 입력은 애플리케이션이 조립하는 분리 원칙
- 사용자 응답과 승인, 감사, 멱등성을 함께 다뤄야 재개 가능성과 실행 안전성을 확보 가능
- 실행 루프, 사용자 상호작용, 승인 계약을 분리하면 복잡한 Agentic Workflow를 일관되게 운영 가능



