올린 문서를 LLM이 Wiki로 정리하고, RAG로 원문 근거를 찾아 답하거나 자연어로 문서를 편집하는 AI 워크스페이스입니다. 지금은 AWS EKS에 배포해 QA를 진행하고 있습니다.
시작 계기
팀원이 겪던 문서 관리의 불편함을 디자인 싱킹으로 구체화하며 시작했습니다. 문서를 저장만 해 두고 정작 필요할 때 찾지 못하는 불편을 없애는 게 목표였습니다.
팀 구성과 내 역할
MY ROLEAI
Python 기반 PDF 변환, Wiki 생성, RAG 검색과 근거 답변, 문서 편집 Agent 등 AI 서비스
AI 파트 리드PDF문서 변환 파이프라인 구축, Wiki의 구조 설계 및 생성, 유지보수 구현, 근거를 포함한 질의와 문서 편집을 수행하는 Agent 등 AI 기능 전반의 설계와 평가를 리드하고, 구현은 AI 코딩 도구로 진행했습니다.
MSA 설계 기여초안은 기능별로 서비스를 나눴습니다. 그런데 그렇게 나누면 DB에 걸리는 부하는 그대로고, 서비스를 거치는 호출만 늘어 분산하는 의미가 없었습니다. 그래서 데이터 소유권을 기준으로 나누자고 제안했고, 팀원 및 멘토와 서비스 경계와 통신 방식을 논의해 최종 구조를 함께 완성했습니다.
팀 발표 자료의 서비스 화면과 구조입니다. 각 설명에 제 담당 범위를 표시했습니다. 이미지를 누르면 원본 크기로 볼 수 있습니다.
원본 크기로 보기 ↗문서 편집과 AI 어시스턴트 — 요청을 해석하고 수정안을 생성하고 검증하는 AI 기능을 리드했습니다. 편집기와 어시스턴트 UI는 팀 구현입니다. 원본 크기로 보기 ↗Wiki 생성 및 질의 — 문서를 제가 설계한 구조대로 정리하고 개념을 연결합니다. 만들어둔 Wiki에서 질문에 맞는 근거를 찾을 수 있게 구현했습니다. 그래프와 검색 UI는 팀 구현입니다. 원본 크기로 보기 ↗서비스 역할 구분 — AI 기능 전체를 리드했고 프론트엔드와 백엔드는 팀원이 담당했습니다. MSA는 제 초기 설계를 바탕으로 팀원 및 멘토와 논의해 완성했습니다.원본 크기로 보기 ↗시스템 아키텍처 — 위는 전체 시스템, 아래는 Fruition 내부 구성입니다. 제 담당은 llmPipeline(FastAPI, Python, LangGraph)을 중심으로 한 AI 기능이며, 프론트엔드와 백엔드는 팀원이 담당했습니다.
Fruition은 사용자가 올린 문서를 근거로 답하는 서비스라, 근거가 틀리면 답변 전체를 믿을 수 없게 된다고 생각했습니다. 앞서 요청을 질문, 편집 등으로 분류하는 라우팅에서 Jev의 정확도와 속도 개선을 확인했고, 이를 계기로 답변 근거 선택에도 적용해 근거 충족률을 66.25%에서 91.25%로 높였습니다. 늘어난 처리 시간은 후보 수와 병렬 처리 조정으로 줄였습니다.
회의록 생성과 같이 반복되는 작업을 사용자가 직접 정의하고 재사용할 수 있도록 Agent Skill을 구현했습니다. 다만 AI가 바꾼 문서를 사용자가 매번 믿을 수 있어야 한다고 생각해, 검사, 게시, 변경 승인을 한 흐름으로 설계했고 구현은 AI 코딩 도구로 진행했습니다.
AI가 문서를 바꾸는 서비스에서 취소가 확실하지 않으면, 사용자는 AI에게 작업을 맡길 수 없다고 생각했습니다. 실행만 멈추면 이미 저장한 문서, 폴더, Wiki, Skill 변경이 그대로 남아, 커밋한 변경까지 역순으로 되돌리는 경로를 만들었습니다. 이때 다른 작업이 정상적으로 남긴 기여는 지우지 않도록, 대상 기여만 빼고 복원했습니다.
MSA 전환을 일주일 안에 마쳐야 일정대로 배포하고 피드백을 받을 수 있었습니다. 사람이 직접 하기엔 시간이 부족하다고 판단해 이식은 코딩 에이전트에 맡기고, 저는 작업 계획과 검토 기준을 정하고 병합을 판단했습니다. 순서와 우선순위는 조정 에이전트가 관리하도록 루프를 구성했습니다.