Tech Blog
기술 블로그
문서 파싱·도면 인식·에이전트 운영·온프레미스 배포. MakeAI 기술팀이 매주 화요일에 쓰는 기술 노트입니다.
41개의 글
공개 데모를 안전하게 운영하기 — Basic auth, 다중 계정, 상수 시간 비교
도면 분석 콘솔을 누구나 써 볼 수 있게 열면서도 아무나 들어오진 못하게 해야 했어요. 사용자 모델 없는 앱에 HTTP Basic auth로 데모 계정을 붙이면서 지킨 것들이에요.
이 웹사이트를 AWS에 올리면서 배운 것 — EC2 한 대, Caddy, Docker Compose
거창한 인프라 없이 EC2 한 대에 Caddy와 Docker Compose로 Next.js + NestJS + PostgreSQL을 올렸어요. CDK로 재현 가능하게 만들면서 겪은 자잘한 함정들이에요.
모델 드리프트 모니터링 — 정확도가 조용히 떨어질 때 어떻게 알까
배포한 모델은 입력이 바뀌면 소리 없이 나빠져요. 정답 없이 입력 분포로 먼저 감지하고, 사람 검수 결과로 확인하고, 보정부터 재학습까지 단계별로 대응하는 저희 ML Ops 방식이에요.
스마트팜 로봇의 눈 — 생육 단계 인식 데이터셋 만들기
로봇이 "지금 수확할 때인지"를 보려면 생육 단계를 인식하는 비전 모델이 필요해요. 라벨 기준을 정하는 것부터 온실의 계절·조명 편차까지, 데이터셋을 만들면서 겪은 것들이에요.
온디바이스 추론 — 양자화로 엣지 장비에서 언어모델 돌리기
인터넷이 불안정한 농업 현장 장비에서 sLLM을 돌리려면 모델을 줄여야 해요. 양자화 방식별로 뭘 잃고 뭘 지켰는지, 그리고 추론 엔진 선택 기준이에요.
농업 특화 sLLM 학습기 — 작은 모델에 도메인 지식을 넣는 방법
작물·병해충·재배 기술 자료로 소형 언어모델을 만들면서 배운 것들이에요. 데이터를 어디서 모았고, 어떻게 정제했고, 뭘 넣으면 좋아지고 뭘 넣으면 나빠졌는지요.
피부 분석 비전 모델 — 조명이 바뀌면 피부도 바뀌어 보여요
스마트미러의 피부 지표(색소·모공·주름)는 조명에 따라 크게 흔들려요. 매장마다 다른 조명에서 같은 결과를 내기 위해 저희가 한 것들 — 기준 색표, 조명 추정, 방문 간 비교 방식이에요.
보험 청구 서류 OCR — 정확도보다 "누락 체크"가 먼저인 이유
설계사 워크스페이스를 만들면서 배운 건, 청구 서류 처리에서 제일 큰 비용은 오독이 아니라 "서류가 빠져서 다시 받는 것"이라는 거였어요. 누락 체크를 어떻게 설계했는지예요.
샘플 리포트 페이지는 어떻게 만들었나 — 좌표가 없으면 그리지 않는다
공개 사이트에 실제 판정 결과를 올리면서 지킨 것들이에요. 숫자는 데이터에서 계산하고, 고객 식별 정보는 가리고, 좌표가 있는 판정만 도면 위에 그려요.
도면 검증을 "판정"으로 바꾸기 — 근거, 대조, 원칙, 신뢰도
저희 제조 리포트의 판정 하나에는 네 가지가 꼭 붙어요. 어디서 읽었는지, 무엇과 맞춰 봤는지, 왜 그렇게 봤는지, 얼마나 확신하는지. 이 구조를 정한 이유예요.
OCR이란? 문자인식부터 문서 이해까지, 기술의 세대 교체
글자를 읽는 OCR과 문서를 이해하는 Document AI는 뭐가 다를까요? 기술 세대별 차이를 정리하고, 지금 저희가 어느 조합을 쓰는지 설명해요.
AI PoC, 데모는 성공했는데 도입은 왜 실패할까?
검증 기준 없이 시작한 PoC가 실패하는 이유와, 도입 전 반드시 확인해야 할 체크리스트예요. 저희가 실패한 PoC에서 배운 것들이에요.
RAG 구축 가이드 — 문서 전처리가 답변 품질을 결정한다
RAG의 병목은 모델이 아니라 비정형 문서 전처리에 있어요. 파싱 품질이 답변 품질로 이어지는 구조를, 저희가 실제로 겪은 오답 사례로 설명해요.
AI 에이전트 권한 설계 — 잘못된 실행을 막는 승인·로그 체계
에이전트에게 실행 권한을 줄 때 반드시 함께 설계해야 하는 승인 절차와 감사 로그. 4월에 쓴 뚝딱 설계를 일반 원칙으로 정리했어요.
데이터 전처리란? AI 프로젝트의 진짜 병목은 비정형 문서입니다
모델 성능보다 먼저 해결해야 하는 것 — 조직 안에 잠들어 있는 비정형 문서 데이터. 왜 거기서 프로젝트가 멈추는지, 어떻게 풀었는지 이야기해요.
PDF 표 추출 방법 4가지 — 파이썬부터 대량 문서 자동화까지
오픈소스 라이브러리부터 VLM 기반 추출까지, 방법별 장단점과 선택 기준을 비교해요. 직접 해 보실 분들을 위한 글이에요.
계약서 데이터 추출 자동화, 검수 부담을 줄이는 도입 기준 5가지
추출 정확도만 보면 놓치는 것들이 있어요. 검수 워크플로우까지 포함한 도입 기준 다섯 가지를 정리했어요.
멀티모달 AI란? 텍스트만 읽던 AI가 표와 도장까지 읽는다
문서 이해에 왜 비전 능력이 필요한지, 멀티모달 모델의 동작 원리를 비전공자분께 설명하듯 풀어 봤어요.
경량 VLM으로 대형 모델을 이기는 법 — 도메인 특화의 힘
범용 대형 모델 대비 작은 특화 모델이 문서 파싱에서 앞서는 이유를 실험으로 보여드려요. 그리고 지는 경우도 솔직하게요.
금융·공공 AI 자동화 설계 5단계
규제 산업에서 문서 자동화를 도입할 때의 단계별 설계 원칙 — 수집, 정제, 구조화, 검수, 연계. 저희가 매번 같은 순서로 하는 이유예요.
AI 거버넌스란? AI를 믿을 수 있게 만드는 7가지 운영 기준
모델 성능이 아니라 운영 체계가 신뢰를 만듭니다. 기업용 AI를 운영하면서 저희가 정한 일곱 가지 기준을 정리했어요.
도면 자동화, 어디까지 AI에 맡길까? 인식률만 보면 놓치는 것들
제조·건설 도면 검수 자동화의 현실적인 적용 범위와 한계를 짚어봅니다. 저희가 고객과 범위를 정할 때 쓰는 기준이에요.
재무제표 표준 계정 매핑 — 회사마다 다른 계정과목을 하나로 맞추기
같은 "매출채권"이 회사마다 다른 이름으로 적혀 있어요. 감사보고서에서 뽑은 숫자를 비교 가능한 표준 계정으로 맞추는 규칙·사전·모델 조합을 설명해요.
공시·뉴스 수집 파이프라인 — 같은 기사 200개 중에 진짜는 하나예요
투자 인텔리전스 제품의 바닥은 수집이에요. 똑같은 내용이 매체마다 반복되는 뉴스에서 원본을 찾고, 공시와 연결하고, 출처를 끝까지 남기는 방법을 정리했어요.
업무 자동화 에이전트 "뚝딱" 설계 노트 — 계획, 승인, 그리고 실행
말로 시키면 사내 시스템을 돌아다니며 일을 끝내는 에이전트를 만들면서, 저희는 "실행 전에 계획을 보여 주고 승인받는" 구조를 고집했어요. 그 이유와 구현 방식이에요.
이번 달 LLM 비용이 왜 두 배예요?" — 토큰 비용 대시보드 설계
비용 합계만 보면 답을 못 해요. 호출 하나하나의 비용을 기능·고객·프롬프트 버전에 귀속시켜야 "어디서 늘었는지"가 보여요. 저희 비용 모델과 대시보드 구조예요.
프롬프트 한 줄 바꿨는데 뭐가 깨졌을까 — 회귀 평가셋 만들기
프롬프트를 고치면 어떤 건 좋아지고 어떤 건 나빠져요. 그걸 배포 전에 알려면 테스트 코드처럼 평가셋이 필요해요. 저희가 평가셋을 만들고 돌리는 방법이에요.
에이전트 트레이싱 입문 — LLM 호출을 OpenTelemetry로 기록하기
에이전트가 왜 그런 답을 했는지 알려면 호출 하나하나를 추적해야 해요. 표준 OpenTelemetry 스팬에 LLM 입력·출력·도구 호출·토큰·비용을 어떻게 담는지 정리했어요.
GPU 한 장으로 하루에 몇 장이나 처리할 수 있을까 — 배치 처리량 설계
온프레미스에선 GPU가 보통 한두 장이에요. 그 안에서 처리량을 최대로 뽑으려고 저희가 한 것들 — 파이프라인 분리, 동적 배치, CPU 선행 처리 — 을 정리했어요.
폐쇄망 설치형 배포 체크리스트 — 도커 이미지 하나로는 안 끝나요
금융·공공·제조 현장에 설치형으로 들어가면서 매번 놓쳤던 것들을 체크리스트로 만들었어요. 모델 반입, GPU 드라이버, 업데이트 경로, 로그 반출까지요.
RAG 청크 나누기 — 표는 자르면 안 돼요
문서를 500자씩 뚝뚝 자르면 표 한가운데가 잘려서 검색이 엉망이 돼요. 구조를 아는 파서 위에서 청크를 나누는 저희 방식을 정리했어요.
모르면 모른다고 말하는 AI — "판단 보류"를 제품에 넣은 이유
저희 판정 결과에는 "정합 / 불일치" 말고 "판단 보류"가 하나 더 있어요. 근거가 세트 밖에 있거나 신뢰도가 낮을 때 억지로 답하지 않게 만든 설계 이야기예요.
신뢰도 85%는 무슨 뜻일까 — 모델 점수를 믿을 수 있는 확률로 만드는 보정
모델이 내는 0.85라는 숫자는 그 자체로는 "85% 확률로 맞다"는 뜻이 아니에요. 보정(calibration)을 어떻게 하고, 임계값 85%를 어떻게 정했는지 설명해요.
치수와 공차 읽기 — 숫자를 읽는 것과 뜻을 아는 것은 달라요
도면의 "Ø100 H7 ±0.05" 를 OCR로 읽는 건 시작일 뿐이에요. 어느 선의 치수인지, 공차가 어디에 걸리는지, 단위가 뭔지까지 알아야 데이터가 돼요.
부품표 행을 도면 위 부품과 연결하기 — 풍선 번호 찾기
조립도에서 부품표(BOM)의 10번 행이 도면 어디에 있는 부품인지 아는 건 "풍선 번호"를 찾는 일이에요. 동그라미 안의 숫자를 찾고, 지시선을 따라가고, 수량을 대조하는 과정을 적어요.
기계 도면에서 표제란 찾기 — 템플릿 없이 영역을 잡는 방법
도면 파싱의 첫 단추는 표제란(title block)을 찾는 거예요. 회사마다 양식이 다 달라서 템플릿 매칭은 금방 한계가 왔고, 저희는 선 구조 기반 검출로 바꿨어요.
표 추출, 얼마나 잘 됐는지 어떻게 잴까 — TEDS만으로는 부족했던 이유
표 인식 논문에서 쓰는 TEDS 점수는 좋은 지표지만, 실제 업무에서 중요한 "숫자가 맞는 칸에 들어갔는가"를 잘 못 잡아요. 저희가 추가한 셀 단위 지표를 소개해요.
문서를 Markdown으로 바꿀 때 잃는 것과 지키는 것
LLM에 넣기 좋은 Markdown은 사실 표현력이 꽤 약한 형식이에요. 병합 셀, 각주, 번호 체계처럼 Markdown이 못 담는 걸 어떻게 처리하는지 저희 기준을 공유해요.
HWPX는 HWP랑 뭐가 다를까 — ZIP 안의 XML, 그리고 하나의 중간 표현
HWPX는 ZIP으로 묶인 XML(OWPML)이라 읽기는 훨씬 편해요. 그런데 HWP와 같은 문서인데 구조가 미묘하게 달라서, 저희는 두 형식을 하나의 중간 표현으로 합쳐서 다뤄요.
HWP 파일 속은 어떻게 생겼을까 — 레코드 스트림에서 표까지
HWP 5.0 은 OLE 복합 문서 안에 압축된 레코드가 줄줄이 들어 있는 구조예요. 파서를 직접 만들면서 알게 된 구조와, 명세에는 안 나오는 함정들을 정리해 봤어요.
2026년, 문서 AI 팀이 올해 붙잡고 있는 세 가지 이야기
확인할 수 있는 추출, 폐쇄망에서도 돌아가는 모델, 그리고 운영이 되는 에이전트. 기술 블로그를 열면서 저희가 올해 고민하는 문제를 먼저 적어 봤어요.
Ready to transform your document workflow?
지금 바로 무료로 시작하거나, 우리 조직에 맞는 도입 방식을 상담받아 보세요.