Document Parse
1.
OCR → parsing
document AI controller 컴포넌트 안에서 문서 파일 전처리를 하고 적합한 모델로 라우팅
go lang으로 controller 구현
2.
생긴 문제
•
controller쪽에서 segmentation fault가 났다.
•
문서 처리하는 쪽에서 발생
•
전체 서비스가 죽어버림.
•
문서 처리 컴포넌트를 분리하여 docmate 장애가 전체 서비스 장애로 전파되지 않도록 한다.
3.
하루 만건의 docmate 에러 발생
•
문서를 처리하는 오픈소스 내부에서 에러가 발생했다는 걸 알게 됨/
•
go, c library를 봐야했음. 그래서 소스코드를 직접 들여다보기 부담스러워 에러가 재현되는 데이터만 엣지케이스로 대응
4.
특정 Pdf 파일을 단건 요청 보내면 괜찮은데, 동시 요청 보냈을 때 segment error가 발생하는 걸 발견해서 cursor로 디버깅해보기로 함
•
동시 요청 시 에러 발생하는 pdf 파일, 서비스 코드, 문서 처리 라이브러리, c library를 깃클론해서
◦
문제가 되는 부분을 컨텍스트로 넣어줌
•
근본 원인: c 엔진은 외부에서 lock 을 주입받아 스레드 safe하게 동작하도록 설계되었지만 go wrapper에서 락을 넣어주지 않아 동시성 버그가 발견했던 것.
또 다른 사례
1.
PDF 파일을 뷰어로 열면 잘 열리는데 추론 요청을 보내면 415(unsupported error) 에러가 남.
2.
실패하는 pdf 파일, 정상 동작하는 파일, 문서 처리 로직 일부를 AI에게 컨텍스트로 전달함
3.
비교군을 주니, 문제가 되는 파일은 pdf ~ eof 마커 바깥에 기대하지 않는 값이 들어가있었다는 것을 발견해냄.
고객사에서 데이터 반출이 어려운 경우 꿀팁
•
“에러를 재현할 수 있는 fake 데이터를 생성해서 전달해주시면 에러 원인 파악 및 서비스 개선에 도움이 될 수 있습니다.”
바이브 코딩으로 엔터프라이즈 포털 개발 사례
1.
온프렘 사업하면서 있었던 문제
•
모델, 서빙 엔진, 어플리케이션 등 50+ 종의 컴포넌트가 있음
•
모델팀, 플랫폼 개발 팀, 앱 개발 팀 각각 제품을 전달하는 방식이 다름.
•
고객사별로 나가야할 제품을 패키징하고 설치하는 과정이 너무 번거로움
•
오픈소스 같은 경우 어떤 버전이 딜리버리 되었는지 버전을 기록해두는 곳도 없었음.
•
카탈로그들을 usb, 구글 드라이브, s3 등 일원화되지 않은 채널 통해 고객사나 파트너사에 딜리버리
•
표준화된 설치 매뉴얼도 없었음.
2.
솔루션 패키징 과정
•
document parse에 필요한 모델들, 라이브러리들 리스트 업…
•
노션에서 document parse에 필요한 모델들의 경로 확인 후 NAS에서 아티팩트들을 압축해서 준비
•
깃헙 레포에 올라가있는 dockerfile로 docai-viewer를 직접 빌드해서 도커 이미지를 챙김
•
주먹 구구식으로 진행되던 패키징
3.
그래서 나온 것이 카탈로그 서비스와 엔터프라이즈 포탈
•
고객사별 패키지 버전관리
•
누가 무엇을 올리고 다운로드 받았는지 audit 로그 확인 가능
•
표준화된 매뉴얼 관리
4.
솔루션 관련 질문이 들어와서 이것도 AI가 대응할 수 있도록 함 → 회사 내부의 AI 스페이스 사용
•
AI 스페이스에 문서를 업로드해서 데이터를 쌓고
•
문서에 대한 질의 응답 가능
•
share 기능으로 url에 모두 접근해서 질의 가능
5.
엔터프라이즈 포탈이 도입된 후로는
•
클릭 몇번으로 필요한 카탈로그(데브옵스 분들이 만들어주신)를 패키징한 것을 다운 받을 수 있다.
•
파트너사에게 이관도 가능해짐. 엔터프라이즈 포탈에서 다운 받음
•
어떤 카탈로그가 어느 파트너사 고객사에 나갔는지 필터 검색이 용이하여 관리가 수월해짐.
결론
•
AI를 생산성 툴로 이용한 것에 그치지 않고, AI로 생산성을 높이는 툴을 만드는 것도 가능하다!
•
대체되는 사람이 아니라, 확장되는 개발자가 되자.
팁
•
기획서 작성 대신 cursor로 UI 뼈대 먼저 만들어보기
•
AI의 도움을 받아 역할 구분 없이 작은 것 하나라도 넘나들기 (기획자도 코드 조금, 개발자도 디자인 조금)
•
AI에게 위임할 수 있는 일 찾아보고 위임하기
◦
PR 리뷰, 로그 분석, 문서 정리, 간단한 툴 개발