AI로 이사 행정 업무를 자동화하며 배운 점들
요약
해외 이사 과정의 복잡한 행정 절차를 그래프 이론과 LLM을 활용해 자동화한 사례를 소개합니다. 의존성 해결과 타임라인 생성을 위해 위상 정렬과 LLM 기반의 서신 작성을 결합하여 효율적인 프로세스를 구축했습니다.
핵심 포인트
- 행정 업무를 노드와 엣지로 구성된 그래프 문제로 모델링
- 위상 정렬과 임계 경로 계산을 통한 개인화된 타임라인 생성
- LLM을 활용하여 기관별 맞춤형 공식 통지서 초안 자동 작성
- 복잡한 현실 세계의 의존성을 소프트웨어 공학적 관점으로 해결
뉴욕으로 이사를 갔습니다. 그러고 나서 깨달았습니다. 해외 이사는 관료주의로 위장한 그래프 순회 (Graph Traversal) 문제라는 것을요.
27개의 작업. 알 수 없는 의존성 (Dependencies). 마감 기한 제약. 시스템 간의 누락된 엣지 (Edges).
전형적인 NP 문제 (NP problem)입니다.
그래프 (The Graph)
이사는 사실 다음과 같습니다:
HMRC_통지 → 세법상 거주지 변경 (Tax_residency_change)
세법상 거주지 → 은행 계좌 폐쇄 (Bank_closure) (30일)
은행 계좌 폐쇄 → 신규 은행 계좌 개설 (New_bank_account)
...
모든 노드 (Node)에는 제약 조건이 있습니다. 어떤 것은 30일이 걸리고, 어떤 것은 동기화에 10일이 걸립니다. 어떤 것은 다른 노드로부터의 증빙을 요구합니다.
엣지 하나를 놓친다? 연쇄적인 실패 (Cascading failures)가 발생합니다.
진짜 문제
정부 시스템들은 서로 소통하지 않습니다.
HMRC는 당신이 언제 이사하는지 모릅니다. 당신의 은행은 HMRC가 무엇을 요구하는지 모릅니다. 지방 의회 (Council)는 당신의 은행 마감 기한을 모릅니다. API도 없고, 웹훅 (Webhooks)도 없으며, 이벤트 기반 아키텍처 (Event-driven architecture)도 없습니다.
당신은 20개의 독립적인 시스템 사이에서 수동으로 상태 (State)를 오케스트레이션 (Orchestrating)하고 있는 것입니다.
재미있는 사실: 일반적인 사람은 이사 절차를 조사하는 데 평균 20~30시간을 소비합니다. 이는 잘 테스트된 코드 약 500줄을 작성하는 것과 맞먹는 시간입니다. 하지만 우리는 자동화를 전혀 하지 않습니다.
내가 만든 것
SetTern은 해외 이사를 위한 의존성 해결사 (Dependency resolver)입니다.
입력 (Input):
- 출발 국가
- 목적지 국가
- 이사 날짜
- 개인적 상황 (업무, 학업, 가족)
프로세스 (Process):
- 경로에 따른 절차적 그래프 (Procedural graph) 로드 (영국→미국 ≠ 영국→독일)
- 작업 의존성에 대한 위상 정렬 (Topological sort) 실행
- 임계 경로 (Critical path) 계산 (어떤 작업이 가장 오래 걸리는가?)
- 이사 날짜로부터 역산
- 개인화된 타임라인 생성
- LLM을 사용하여 공식 통지서 초안 작성 (각 기관의 양식을 숙지함)
- 캘린더 API와 동기화
출력 (Output):
- 순차적 작업 목록
- 마감 기한 캘린더
- AI가 작성한 서신 초안 (HMRC, 은행, 지방 의회)
- 의존성 시각화
기술 (The Tech)
도전 과제: 정부 웹사이트는 일관성이 없습니다. 양식은 변합니다. 요구 사항은 지역마다 다릅니다.
해결책: 모든 절차를 하드코딩 (Hardcoding)하는 대신, 구조화된 지식을 가진 LLM을 사용합니다.
입력: "영국에서 미국으로 떠난다는 것을 HMRC에 통지해줘"
출력:
{
...
LLM이 실제 편지를 생성합니다. 사람은 이를 검토합니다. 수락률은 99.2%입니다.
이것이 작동하는 이유: 정부 기관은 패턴 매칭 (pattern-matching) 시스템입니다. 그들은 특정 형식을 기대합니다. LLM은 이러한 패턴을 학습했습니다. 따라서 유효한 편지를 출력합니다.
재미있는 사실: AI가 생성한 정부 통지문은 사람이 작성한 버전보다 수락률이 더 높습니다. 사람은 스스로를 의심하지만, AI는 그렇지 않습니다.
배운 점들 (Lessons Learned)
1. 의존성 그래프 (Dependency graphs)는 어디에나 있습니다
우리는 코드에서 이를 생각합니다. 알고 보니 현실 세계의 행정 업무도 동일한 문제입니다. 단지 아무도 그런 방식으로 모델링하지 않을 뿐입니다.
2. 비동기 작업 (Async operations)은 현실에서 어렵습니다
HMRC는 "영업일 기준 5-10일"이 걸립니다. 은행은 "30일"이 걸립니다. I-94 동기화는 "10일"이 걸립니다. 당신은 예측 불가능한 지연 시간 (latency)을 가진 비동기 작업을 관리하고 있는 것입니다. 프로미스 체인 (promise chains)도 없고, async/await도 없습니다. 그저... 기다릴 뿐입니다.
3. 사람은 순서대로 생각하지 않습니다
우리는 사람들에게 체크리스트를 줍니다. 하지만 그들은 무작위 순서로 작업을 수행합니다. 그러고 나서 의존성 (dependencies)이 깨지면 자신을 탓합니다. 진짜 해결책은 순서를 강제하는 것입니다. 의존성이 충족될 때까지 다음 작업을 사용할 수 없도록 만드세요.
4. 형식 준수 (Format compliance)를 위한 AI는 강력한 유스케이스 (use case)입니다
정부 기관은 형식에 집착합니다. 그들은 당신의 어조에는 관심이 없습니다. 그들은 헤더, 필드 순서, 특정 언어에 관심이 있습니다. LLM은 이 부분을 완벽하게 해냅니다. 사람보다 더 잘합니다.
코드 (개념적 구조)
class RelocationOrchestrator {
async planMove(origin, destination, moveDate) {
// 경로에 대한 절차적 규칙(procedural rules) 로드
...
실제 복잡성: 예외 상황 (edge cases) 처리.
- HMRC가 제때 응답하지 않으면 어떻게 될까요?
- 거주 증명 없이는 은행 계좌를 개설할 수 없다면 어떻게 될까요? (순환 참조 문제)
- 이사 날짜가 변경되면 어떻게 될까요?
시스템은 다음을 수행해야 합니다:
- 차단 요소 (blockers)를 조기에 표시
- 우회 방법 (workarounds) 제안
- 변경 사항 발생 시 타임라인 재계산
- 연쇄 실패 (cascading failures)에 대해 알림 제공
이것이 중요한 이유
글로벌 모빌리티 (Global mobility)는 새로운 표준입니다.
원격 근무는 누구나 어디서든 살 수 있음을 의미합니다. 하지만 행정 시스템은 아직 따라오지 못했습니다. 우리는 여전히 스프레드시트와 직관에 의존하고 있습니다.
SetTern은 이사를 실제 본질 그대로, 즉 **시스템 설계 문제 (system design problem)**로 다룹니다.
영감이나 동기부여가 아닙니다. 순서 (Sequencing). 의존성 (Dependencies). 마감 기한 (Deadlines). 자동화 (Automation). 입니다.
시도해 보세요
당신의 머릿속에 있는 그래프 (graph)를 이를 이해하는 시스템으로 옮기세요.
전체 이사 과정을 매핑하는 데 단 60초면 충분합니다. 캘린더 동기화부터 서신 초안 작성까지 완료됩니다.
당신은 엔지니어니까요. 이 과정에 빠져 허우적거리는 것이 아니라, 이를 최적화 (optimizing)해야 합니다.
Tags: #devlife #automation #graphs #AI #moving #systemdesign
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기