본문으로 건너뛰기

"practice" 태그로 연결된 56개 게시물개의 게시물이 있습니다.

모든 태그 보기

공중전 임무계획 변경 실증 #3: 결정적 JCS와 Ed25519 서명 조각화 결함 격파

· 약 11분
Jaybee
AI & Robotics Engineer

공중전 임무계획 변경 시스템(SDC) 엔지니어링 시리즈의 세 번째 장입니다. 지난 에피소드 Air Combat Mission Replanning #2: Stack Spike & Doctrine에서는 기술 스택 스파이크 (a)의 6대 통과 기준 검증과 대한민국 2022 국방백서 기반 T1T12 작전 위협 매트릭스 및 H1H9 체계 병목 가설을 수립했습니다.

본 포스팅에서는 2026년 10월 24일, 전술 데이터링크(Link 16) 상에서 비행 중인 전투기(F-16C, F-15K)와 지상 지휘통제 노드 간의 안전한 임무 계획 변경을 보장하기 위해 구축한 M6 메시징 및 보안 코어 엔진의 구현 전말을 다룹니다. 이종 언어(.NET C#, Python) 간 부동소수점 직렬화 불일치를 원천 방지하는 RFC 8785 JCS(JSON Canonicalization Scheme) 엔진의 무의존성 자체 구현, Ed25519 원본 바이트 다중 서명 봉투, 그리고 0.7 KB 소형 봉투 부당 분할 결함(A-01) 및 **서명 델타 크기 비교 왜곡(B-05)**을 해결한 실전 기록을 공유합니다.

에피소드 3 커버 다이어그램 Figure 1: RFC 8785 결정적 JCS 해시 파이프라인, Ed25519 원본 바이트 전자서명 봉투, Link 16 MTU 조각화 아키텍처 총괄도.

공중전 임무계획 변경 실증 #2: 스택 스파이크와 교리 가설

· 약 12분
Jaybee
AI & Robotics Engineer

공중전 임무계획 변경 시스템(SDC) 엔지니어링 시리즈의 두 번째 장입니다. 지난 에피소드 Air Combat Mission Replanning #1: Architecture & KLM Analysis에서는 다계층 분산 아키텍처와 CPython 탐색 지연 극복, GPU VRAM 0.80GB 최적화, 그리고 F-16C 연료 수치 적분(RK4) 검증을 다루었습니다.

본 포스팅에서는 2026년 10월 23일, 본격적인 분산 프로토타입 구현에 착수하기 전 기술적 위험을 선제 격파하기 위해 단행했던 **기술 스택 스파이크 (a)**의 6대 통과 기준 검증 과정과, 한반도 전장 작전 교리 분석을 통해 도출한 임무 변경 유발 상황(T1~T12) 및 **체계 병목 가설(H1~H9)**의 수립 전말을 엔지니어링 팩트 중심으로 기록합니다.

에피소드 2 커버 다이어그램 Figure 1: 공중전 임무계획 스택 스파이크 (a) 검증 지표 및 대한민국 2022 국방백서 기반 T1~T12 작전 위협 매트릭스 아키텍처 총괄도.

항공작전 동적 임무계획 #1: CPython 탐색 병목 극복과 VRAM 절감 설계

· 약 15분
Jaybee
AI & Robotics Engineer

항공작전 동적 임무계획 #1 표지

💡 핵심 요약 (Executive Summary)

  • 목표한 것: F-16 및 F-15E 항공작전 중 급변하는 전장 상황에 대응하여, 전술 데이터링크(Link 16) 대역폭 내에서 델타(Delta) 임무 계획을 5초 이내에 생성·검증·반영하는 미션 크리티컬 시스템(study_for_sdc) 아키텍처 구축.
  • 마주친 기술적 오류들:
    1. CPython 31.4초 탐색 지연 병목: 100 km × 100 km DEM 격자(10^7 노드)에서 순수 Python heapq와 동적 객체 박싱으로 인해 3D A* 탐색 시간이 31.42초(복잡 지형 최대 48.0초)까지 치솟아 품질 기준 Q_3(<= 5.0 초)를 전면 위반.
    2. 8GB VRAM 환경에서의 2종 LLM 구동 시 CUDA OOM: 7B~8B 매개변수 생성형 LLM 2종을 단일 워크스테이션 GPU에 동시 적재 시 정적 가중치와 KV-Cache, 활성화 메모리 합계가 11.44 GB에 달해 즉각적인 메모리 초과 예외(torch.cuda.OutOfMemoryError) 발생.
    3. 군사 기밀 데이터 부재에 따른 '±1% 연료 계산 정확도' 기준 순환 논증: F-16C의 실제 공력 계수 및 연료 유량 테이블이 군사 2급 비밀로 묶여 있어 실제 기체 대비 오차를 물리적으로 측정할 수 없는 모순 봉착.
  • 엔지니어링 해결 방법:
    1. 오프라인 위협 가시선 사전 베이킹 & 2D 매니폴드 탐색: 런타임 광선 추적(Ray-casting)을 제거하고 시나리오 로딩 시 위협 가시선을 연속 메모리 2D 행렬로 사전 계산(Pre-baking)한 뒤, 수평 2D A* 탐색과 분석적 수직 고도 배정을 결합하여 탐색 지연을 **0.259초(목표치의 1/20 수준)**로 단축.
    2. 생성형 모델 배제 및 고정 차원 비용 가중치 벡터화: KV-Cache가 필수적인 텍스트 생성 모델을 전면 배제하고, 0.28 GB급 인코더(DeBERTa-v3)와 다목적 비용 가중치 벡터 w ∈ [0, 1]^4를 도출하는 초경량 신경망을 채택하여 **총 소요 VRAM을 0.80GB(90% 여유)**로 압축.
    3. BADA 기반 RK4(Runge-Kutta 4th Order) 수치 적분 기준 해석기 구축: 공개된 미 공군 Fact Sheet 제원을 바탕으로 브레게(Breguet) 항속 에너지 방정식을 보정(c_0 = 0.131227 hr^{-1)하여 독립적인 수치해 기준선을 확보, 최대 상대 오차 3.31 × 10^{-5로 Q_2 기준을 수학적으로 통과.

국가 예산 AI 감사 #9: 23,825건 이상징후 전수 감시와 5대 판정 자동 의결 시스템

· 약 9분
Jaybee
AI & Robotics Engineer

국가 예산 AI 감사 #9 커버

💡 핵심 요약 (Executive Summary)

  • 엔지니어링 목표: 대한민국 677.4조 원 본예산 전수 스캐닝을 통해 적발된 23,825건의 이상 징후 세목을 대상으로, 인간 감사관의 개입 병목 없이 5대 표준 판정 선택지(원안 감액 100%, 직접 조정 50%, 48시간 장관 소명 요구서 발부, 대검·경찰 형사고발, 정상 인정)를 자동 매핑하고 법적 효력을 갖는 누적 감사 대장을 구축하는 초고속 배치 파이프라인 완성.
  • 실제 마주친 3대 기술적 난제:
    1. 대량 동시 쓰기 시 발생한 SQLite 교착 및 I/O 기아 현상 (sqlite3.OperationalError: database is locked).
    2. 단일 세목에 복합 위험군이 겹칠 때 감액 권고액이 본예산을 초과하는 '이중 삭감(Double-Dipping)' 수치 발산.
    3. 장관 소명 요구서 및 대장 생성 중 사업명 내 파이프(|) 기호와 줄바꿈으로 인한 마크다운 테이블 파손 및 렌더링 중단.
  • 프로덕션 해결책:
    1. SQLite를 WAL(Write-Ahead Logging) 모드로 전환하고 PRAGMA synchronous = NORMAL 및 1,000건 청크 트랜잭션을 적용하여 처리 속도를 초당 95,000건(전체 0.25초)으로 82배 가속.
    2. 형법/특경가법 우선순위 오버라이드 룰과 감액 상한 통제(clamp(cut, 0, budget * 0.70))를 갖춘 PriorityDecisionArbiter 설계.
    3. HTML 엔티티 치환 기반 테이블 정규화기를 도입하여 누적 감사 대장(CUMULATIVE_SURVEILLANCE_AUDIT_LEDGER.md)에 총 23,911건, 121조 7,184억 원의 감액 의결을 단일 결함 없이 완벽 편철.

구글 애드센스 가치가 별로 없는 콘텐츠 해결: WAF와 YMYL 가드

· 약 9분
Jaybee
AI & Robotics Engineer

구글 애드센스 가치가 별로 없는 콘텐츠 해결: WAF와 YMYL 가드

💡 핵심 요약 (Executive Summary)

  • 직면했던 난제: 70여 편의 독창적인 심층 엔지니어링 아티클을 보유하고 있음에도, 구글 애드센스 심사에서 '주의 필요: 가치가 별로 없는 콘텐츠' 및 간헐적인 '사이트가 다운되었거나 사용할 수 없음' 사유로 승인이 거절되는 현상 발생.
  • 발견된 3대 근본 원인:
    1. 저품질 대량 생성 콘텐츠(Scaled Content) 오판: 7개 언어(de, es, fr, ja, pt-BR, zh-Hans, zh-Hant)의 기계 번역 빌드가 650개 이상의 중복 URL을 양산하여 도메인 신뢰도 저하.
    2. YMYL 민감 콘텐츠 정책 위반 위험: docusaurus.config.ts의 정적 스크립트 주입으로 인해 자살/위기 텍스트 감지 연구 페이지(/blog/mental-crisis*)에 광고 스크립트와 카드 컴포넌트가 노출되는 정책 위험 발생.
    3. 클라우드플레어 WAF 봇 차단: Cloudflare Bot Fight Mode와 잘못된 WAF Skip 규칙이 구글 애드센스 크롤러(Mediapartners-Google)에 403 차단 및 캡차 챌린지를 부과하여 사이트 다운으로 오인.
  • 프로덕션 해결책:
    1. 동적 라우팅 기반 스크립트 가드: Root.tsx에서 클라이언트 경로를 실시간 감지하여 YMYL 페이지에서 pauseAdRequests = 1을 강제하고 광고 DOM 요소를 원천 격리.
    2. 핵심 언어 집중 및 GSC 구형 사이트맵 제거: 2개 핵심 언어(en, ko)로 압축하고, 구글 공식 Webmasters API를 통해 7개 구형 사이트맵을 프로그래밍 방식으로 일괄 삭제(HTTP 204).
    3. Cloudflare WAF 스킵 규칙 정상화: 10041 파라미터 충돌을 해소하고 Bot Fight Mode를 비활성화하여 검증된 검색봇 무지연 통과 설정.

교육청 교부금 감사 AI: 전국 17개 교육청 K-에듀파인 4대 비위 적발

· 약 13분
Jaybee
AI & Robotics Engineer

공공 예산 감사 AI #8: 전국 17개 시·도 교육청 지방교육재정교부금 심화 감사 파이프라인

💡 핵심 요약 (Executive Summary)

  • 전국 17개 교육청 전수 감사 체계 구축: 학령인구 급감 속에서도 매년 75.7조89.2조 원으로 비대해진 지방교육재정교부금의 사각지대를 해소하기 위해, 전국 17개 시·도 교육청(서울제주)의 K-에듀파인 회계망과 연계하여 9.08조 원 규모의 고위험 교육사업을 전수 추적하는 AI 파이프라인을 구축했습니다.
  • 4대 중대 교육재정 비위 자동 적발: (1) 학생 1인 1스마트기기 맞춤형 규격 독점 조달 및 입찰담합, (2) 연말 교부금 불용 방지용 2천만 원 쪼개기 수의계약, (3) 교육감 재량 선심성 입학축하금·스마트바우처 현금 살포, (4) 교부금 수조 원 안정화기금 과다 적치 및 시중은행 금고 유착을 정밀 식별했습니다.
  • 3대 현장 런타임 병목 격파:
    1. K-에듀파인 지자체별 스키마 파편화: 17개 교육청별 서로 다른 학교 식별자(EDUSYS_SCH_CD vs NEIS_INST_CD)로 인한 PK 충돌을 복합 솔트 해시(Composite Salted Normalizer)로 단일화.
    2. 학교-업체 간 이분 그래프 순환 재귀 스택 오버플로: 282건 쪼개기 수의계약 추적 시 발생한 RecursionError와 3.8GB 메모리 폭증을 타잔(Tarjan) SCC 사이클 브레이커로 제거(메모리 142MB로 절감).
    3. KS X 6101 HWPX 테이블 셀 스팬 불일치: 복잡한 4단계 법정 제재 가중치 표 조판 시 발생하던 XML 태그 불일치 크래시를 스키마 검증형 테이블 밸런서로 원천 차단.
  • 정량 감사 성과: 전국 17개 교육청에서 282건의 중대 비위(교육재정 누수 1.51조 원)를 적발하고, 지방교육재정교부금법 제11조 및 공공재정환수법을 적용하여 총 2.41조 원의 국고 환수 및 직권 삭감 처분을 확정 편철(5/5 검증 PASS).

지자체 보조금 감사 AI: 전국 243개 지자체 e호조+ 4대 부정 적발

· 약 13분
Jaybee
AI & Robotics Engineer

공공 예산 감사 AI #7: 전국 243개 지자체 e호조+ 지방보조금 부당집행 전수 감사 파이프라인

💡 핵심 요약 (Executive Summary)

  • 전국 전수 감사망 구축: 기존 중앙정부 e나라도움 중심 감사에서 나아가, 전국 243개 지방자치단체(17개 광역시도 + 226개 시·군·구)의 지방재정 관리시스템인 e호조+ 및 지방재정365와 연계하여 40.24조 원 규모의 지방보조금을 전수 추적하는 AI 파이프라인을 구축했습니다.
  • 4대 중대 부정 징후 자동 적발: (1) 국비 매칭결손 미반납 및 타용도 전용, (2) 자부담 의무비율 가장납입 및 유령단체 편취, (3) 민간위탁 간접비 누수 (직접수혜율 DEI < 35% 붕괴), (4) 인접 지자체 간 동일 사업계획서 교차 중복수급을 정밀 탐지했습니다.
  • 3대 현장 런타임 병목 격파:
    1. 동시성 데드락 & 504 타임아웃: 243개 동시 스크래핑 시 발생한 게이트웨이 커넥션 풀 고갈을 asyncio.Semaphore(10) 및 지터 기반 지수 백오프로 해결.
    2. 광역-기초 XML 스키마 파편화: 계층형 트리(광역)와 플랫 테이블(기초) 간의 스키마 불일치로 인한 파싱 크래시를 다형성 SchemaAdapter DTO로 단일화.
    3. 공문서 대량 생성 시 파일 디스크립터 고갈: 37개 지자체장 앞 KS X 6101 HWPX 환수명령서 발부 시 누수되던 ZipFile 스트림을 ContextManager로 소멸 제어.
  • 정량 감사 성과: 전국 243개 지자체에서 2,163건의 위법 부당집행(국비 누수 5.63조 원)을 적발하고, 공공재정환수법 제9조에 따른 5배 제재부가금을 적용하여 총 10.55조 원의 환수 처분 명령을 확정 편철(5/5 검증 PASS).

npm overrides: 전이 의존성 취약점 안전하게 해결하는 법

· 약 4분
Jaybee
AI & Robotics Engineer

Fixing Transitive npm Vulnerabilities with overrides

📌 핵심 요약 (TL;DR)

  • 문제: 직접 설치한 패키지(package.json에 명시)가 아니라, 그 패키지가 내부적으로 참조하는 깊은 자식 패키지(전이 의존성, Transitive Dependency)에 취약점 경고가 떴을 때 npm audit fix --force를 실행하면 프레임워크 최신 메이저 버전이 강제 다운그레이드되며 빌드가 깨집니다.
  • 해결책: npm v8.3+에 내장된 overrides 블록을 선언하여 상위 패키지의 릴리즈를 기다리지 않고 취약한 하위 패키지만 핀포인트로 최신 패치 버전으로 강제 치환합니다.
  • CI/CD 파이프라인: 런타임에 배포되지 않는 개발 도구 노이즈는 npm audit --omit=dev로 분리하여 실제 운영 보안에만 집중합니다.

[고위험 AI] 중첩 교차검증(Nested CV)과 2차 데이터 누출 해결기

· 약 9분
Jaybee
AI & Robotics Engineer

Nested CV &amp; Secondary Leakage Defense

⚠️ 임상 및 위기 상담 운영 원칙 고지 (Clinical Safety Disclaimer)
본 아티클은 고위험 AI 감지 파이프라인의 모델 검증 타당성(Model Validation Validity)과 데이터 누출(Data Leakage) 방지 알고리즘을 다루는 순수 공학 기술 문서입니다.

  • 대한민국 자살예방 상담전화: 국번없이 109 (24시간 운영)
  • 정신건강 위기상담전화: 1577-0199
  • 미국 / 캐나다: Call or Text 988 (Suicide & Crisis Lifeline)
    본문에 등장하는 모든 오류 로그, 수치 예제 및 데이터는 임상 개인정보(PII) 누출을 엄격히 방지하기 위해 100% 합성 생성(Synthetic) 및 가명화 처리되었습니다.

[고위험 AI] LightGBM 순서형 트리와 영확률 붕괴(-log(0)=inf) 해결법

· 약 10분
Jaybee
AI & Robotics Engineer

LightGBM Ordinal Trees &amp; Simplex Calibration

⚠️ 임상 및 위기 상담 운영 원칙 고지 (Clinical Safety Disclaimer)
본 아티클은 고위험 AI 감지 파이프라인의 수치 안정성(Numerical Stability)과 순서형 확률 캘리브레이션(Ordinal Probability Calibration) 알고리즘을 다루는 순수 공학 기술 문서입니다.

  • 대한민국 자살예방 상담전화: 국번없이 109 (24시간 운영)
  • 정신건강 위기상담전화: 1577-0199
  • 미국 / 캐나다: Call or Text 988 (Suicide & Crisis Lifeline)
    본문에 등장하는 모든 오류 로그, 수치 예제 및 데이터는 임상 개인정보(PII) 누출을 엄격히 방지하기 위해 100% 합성 생성(Synthetic) 및 가명화 처리되었습니다.

[위기감지 AI #2] 14일 시계열 융합과 86.7% 극단값 편향 극복

· 약 14분
Jaybee
AI & Robotics Engineer

14-Day Longitudinal Fusion &amp; Extreme Value Bias Cover

[생명 존중 및 응급 심리지원 긴급 안내]
본 아티클은 자살 및 고위험 정신건강 위기 발화 감지 AI 개발 과정에서의 수학적 오류 해결과 시계열 상태 추론 엔지니어링을 다룹니다. 자살 충동이나 우울, 고립감 등으로 긴급한 도움이 필요한 경우 자살예방상담전화 ☎ 109, 정신건강상담전화 ☎ 1577-0199, 또는 생명의전화 ☎ 1588-9191로 연락하시면 24시간 전문 상담사의 도움을 받으실 수 있습니다.
본문에 수록된 모든 로그와 발화 데이터는 임상 개인정보(PII) 누출 방지를 위해 100% 합성 생성(Synthetic) 및 철저한 가명화 처리를 완료했습니다.

[위기감지 AI #1] 위기 NLP 분류기의 FNR 0% 도전과 베이즈 경계 왜곡 해결

· 약 13분
Jaybee
AI & Robotics Engineer

위기 감지 AI 파이프라인과 베이즈 결정 경계 왜곡 해결

일반적인 챗봇이나 전자상거래 추천 엔진에서 인공지능의 5% 오차는 '가벼운 사용성 불편'이나 '품질 저하'에 불과할 수 있습니다. 하지만 자살 위기 모니터링 및 정신건강 응급 분류를 위해 설계된 AI 시스템에서 단 1%의 미감지(False Negative)는 한 사람의 소중한 생명을 놓치는 돌이킬 수 없는 재앙이 됩니다.

절박한 고통 속에서 삶을 마감하려 고민하는 사람이 일기를 남기거나 상담을 요청할 때, 머신러닝 파이프라인은 높은 전체 정확도나 균형 F1-Score 뒤로 숨을 수 없습니다.

오늘부터 우리는 실제 임상 환경과 동일한 고위험 도메인을 다루는 새로운 실전 엔지니어링 기술 연재를 공식 시작합니다: [고위험 특화 AI: 자살·위기 텍스트 정밀 감지 파이프라인 구축기].

본 시리즈는 임상급 다중 시계열 위기 감지 시스템 **마음지기(Maeumjigi)**를 구축하며 마주했던 수학적 난제, 알고리즘 트레이드오프, 런타임 오류들을 투명하게 기록한 엔지니어링 일지입니다. 이번 에피소드 #1에서는 파이프라인의 가장 기초가 되는 **문장 단위 딥러닝 NLP 위기 분류 엔진과 극단적인 클래스 불균형(초고위험 문장이 전체 대화의 0.16%에 불과한 환경)**에서의 트러블슈팅을 다룹니다.

[AI 에이전트 실전 #6] 감사관 종합 웹 포털과 20개 테스트 전수 통과기

· 약 12분
Jaybee
AI & Robotics Engineer

National Budget Inspector Web Portal v3.0 &amp; 20/20 Verification

💡 핵심 요약 (Key Takeaways)

  • 감사관 종합 웹 포털 v3.0 구축: CLI 기반 분산 스크립트로 동작하던 조달 이상감지 파이프라인을 7대 전용 탭(종합 대시보드, 6대 표적 구역, 소명요구서 자동작성, e나라도움 보조금, 입찰 담합 그래프, 국회 예산 심사, 판례 DB 및 HWPX 분석)을 갖춘 실시간 통합 웹 관제 센터로 전면 고도화했습니다.
  • 20개 전수 검증 테스트 하네스 100% 통과 (20/20 PASS): 프로토타입 SQL 생성부터 GraphRAG, 실시간 스트리밍, DART 법인등기 추적, 입찰 담합 탐지, HWPX 과다계상 대조까지 20개 전 영역 통합 검증 테스트를 무결점으로 통과했습니다.
  • 설계 시 사전 예방한 2대 과제: (1) 다종 감사 엔진 결합 시 발생하는 웹 서버 병목을 12개 RESTful DTO 엔드포인트 분리로 해결, (2) 대규모 실시간 스트림 모니터링 시 프론트엔드 DOM 과부하를 원형 링 버퍼(Circular DOM Ring Buffer)로 원천 차단.
  • 실제 마주친 3대 돌발 오류 해결: (1) Vis.js 물리 시뮬레이션 끝없는 진동으로 인한 브라우저 프리징을 안정화 이벤트 기반 강제 동결로 해결, (2) 50페이지 대용량 HWPX XML 파싱의 메인 이벤트 루프 블로킹을 ThreadPoolExecutor 비동기 큐로 해결, (3) 20개 테스트 동시 수행 시 SQLite 파일 락 충돌을 프로세스별 격리 인메모리 풀로 해결.
  • 6부작 대단원의 마무리: 단순 프롬프트 엔지니어링을 넘어, 국가 재정 수호라는 실무 도메인에서 프로덕션 레벨 신뢰성을 입증한 엔지니어링 여정을 정리합니다.

[AI 에이전트 실전 #5] 6대 표적 분할 감사 완성: 5천만원 특례 쪼개기와 연말 덤핑 적발

· 약 9분
Jaybee
AI & Robotics Engineer

6-Sector Targeted Audit: Divide &amp; Conquer Suite

📌 핵심 요약 (Key Takeaways)

  • 6대 표적 분할 감사 완성 (Divide & Conquer Full Suite): 연간 400만 건에 달하는 방대한 공공 조달 데이터에서 85%의 정상 소모품 노이즈를 걸러내고, 비리가 구조적으로 집중되는 6대 고위험 표적 구역(Sector 1~6) 전주기 정밀 타격 체계를 완성했습니다.
  • 신규 2대 은밀 사각지대 적발:
    1. Sector 5 (5천만 원 특례 쪼개기): 일반 수의계약 한도(2천만 원) 대신 여성·장애인기업 특례 한도(5천만 원)를 악용해 4,800만~4,950만 원 턱걸이 계약으로 쪼개어 특정 법인에 몰아준 2.45억 원 적발 (감사원 BAI-2023-072 매칭).
    2. Sector 6 (12월 연말 예산 덤핑): 회계연도 말 예산 불용(반납)을 막기 위해 12월 하순 3~4일 간격으로 단골 업체에 몰아준 1.64억 원 급조 덤핑 수의계약 적발 (감사원 BAI-2022-094 매칭).
  • 설계 시 사전 예방한 2대 난제: 합법적 정책 특례와 인위적 턱걸이 분할을 가려내는 스위트 스팟(Sweet Spot 96~99.8%) 분석기와 연말 정상 정산과 불용 방지 밀어내기를 분별하는 시계열 밀집도 및 물리적 과업기간 역산기 사전 설계.
  • 실제 마주친 3대 돌발 오류 해결: (1) 다중 섹터 분류 시 다중 경보 충돌 ➔ 우선순위 랭커 도입, (2) 회계연도 이월 사업 날짜 파싱 오차 ➔ 재정 캘린더 정규화기 구현, (3) 부가가치세(VAT) 포함/제외 혼동으로 인한 특례 임계치 탈락 ➔ 추정가격 역산기 탑재.

[AI 에이전트 실전 #4] 바지사장 카르텔 격파: DART 지배구조 연계와 실소유주 추적

· 약 9분
Jaybee
AI & Robotics Engineer

Breaking Cartels: Corporate Registry &amp; DART Integration

📌 핵심 요약 (Key Takeaways)

  • 2편 한계의 기술적 극복: 지난 2편에서 지적했던 *"차명 대표자(바지사장) 및 친인척 분산 법인은 조달청 데이터만으로 추적이 불가능하다"*는 뼈아픈 한계를 극복하기 위해, **법인등기부와 금융감독원 DART 공시를 실시간 연차 교차 검증하는 지배구조 분석 클라이언트(CorporateRegistryClient)**를 신규 구축했습니다.
  • 설계 시 사전 예방한 2대 난제:
    1. 조달청(사업자번호)-등기소(법인등록번호)-DART(법인고유코드) 간의 비표준 식별자 파편화를 3중 식별자 인덱스 브릿지로 사전 해결.
    2. 임원 및 주주 연결 시 그래프 메모리가 폭증하는 현상을 막기 위해 **지배력 유의성 임계치(사내이사 겸직 + 지분율 50% 이상)**를 사전에 설계.
  • 실제 마주친 3대 돌발 오류 해결:
    1. 상호 출자 관계망 순회 시 발생한 순환 참조(Cycle) 무한 재귀 에러 ➔ NetworkX 강결합 컴포넌트(SCC) 축약 알고리즘으로 해결.
    2. 입찰 직전 급조된 유령 법인 미탐 ➔ 계약일 기준 180일 미만 신설 법인 탐지기 탑재.
    3. 여성기업 특례를 노린 51:49 부부 지분 분산 트릭 ➔ 특수관계인 결합 규칙 엔진으로 실소유주 1인 통제 입증.
  • 실전 검증: 외형상 독립된 경쟁 입찰사로 위장했으나 실소유주 K씨가 80% 지분과 사내이사로 지배하던 1.7억 원 규모 카르텔 전모를 적발, 17개 단위·통합 테스트 100% PASS 달성.

[AI 에이전트 실전 #3] 85% 노이즈 제거: 3차원 표적 분할과 라이브 감사 포털

· 약 10분
Jaybee
AI & Robotics Engineer

3D Sector Partitioning &amp; Live Audit Web Portal

📌 핵심 요약 (Key Takeaways)

  • 알림 피로(Alert Fatigue) 극복: 연간 수십만 건의 공공 조달 데이터 중 80~95%를 차지하는 단순 소모품 구매 노이즈를 제거하기 위해 **3차원 표적 분할 매니저(SectorPartitionManager)**를 설계, 85% 이상의 노이즈를 사전 필터링하고 고위험군에 AI 컴퓨팅 파워를 집중시켰습니다.
  • 예상했던 난제와 사전 예방: 공공데이터포털의 잦은 타임아웃과 예고 없는 API 규격 변경에 대비하여, 외부 수신 계층과 감사 엔진 사이에 SQLite 격리 버퍼 큐와 지수 백오프(Exponential Backoff) 재시도 계층을 사전 구축했습니다.
  • 실제 마주친 3대 돌발 오류 해결:
    1. 나라장터 신규 API의 캐럿(^) 복합 구분자로 인한 스키마 붕괴 ➔ 정규식 복합 파서 및 엄격한 타입 검증기로 해결.
    2. 수천 개 노드 일괄 렌더링 시 브라우저 프리즈(Freeze) 락 ➔ 의혹 위험도 중심의 Depth-1 Ego-Network 서브그래프 가상화로 렌더링 시간 98% 단축.
    3. 실시간 동기화 시 중복 계약 적재 및 중복 경보 발행 ➔ SHA-256 Fingerprint Hash 기반 멱등성(Idempotent) 파이프라인으로 해결.
  • 완성된 산출물: 조달청 라이브 연동, 10개년 판례 DB, HWPX 즉석 분석기, 인터랙티브 지식그래프를 탑재한 감사관 종합 웹 포털 v2.0 구축 및 13개 통합 테스트 100% PASS 달성.

[AI 에이전트 실전 #2] 국가 예산 AI 감사 중간 결과와 시스템 종합 평가

· 약 10분
Jaybee
AI & Robotics Engineer

National Budget AI Audit Findings

📌 핵심 요약 (Key Takeaways)

  • 감사 중간 가동 현황: 연간 650조 원 규모의 공공 예산 데이터셋 중 5개 주요 사업 및 6개 핵심 조달 계약을 대상으로 AI 감사 에이전트(national_budget_ai)를 중간 가동하여 전수 검증을 완료했습니다.
  • 4대 핵심 부정 집행 적발 (철저한 익명화):
    1. 쪼개기 수의계약: 2,000만 원 이하 소액 수의계약 규정을 악용하여 12일 동안 3건으로 분할 계약한 사례(총 5,820만 원, 국가계약법 시행령 제68조 위반, 감사원 판례 94.5% 유사도 매칭).
    2. 동일 주소지 공유 페이퍼컴퍼니 담합: 동일한 빌딩 동일 호실을 등록 주소로 사용하는 3개 위장 업체의 조달 담합(총 2억 1,310만 원 규모).
    3. 기준 단가 7~10배 과다 계상: 자문료 시간당 35만 원(중앙값 대비 7.0배), GPU 서버 랙 임대료 월 50만 원(중앙값 대비 10.0배) 폭리 적발.
    4. 사업 전달 효율성(DEI) 저하: 전체 예산 중 실수혜자 전달률 30.0%, 간접 관리비·자문료 누수율 70.0% 감지.
  • AI 시스템 성능 종합 평가:
    • 정밀도: 결정론적 Text-to-SQL 기반 재무 데이터 계산 환각(Hallucination) 0%, 11개 전 테스트 케이스 PASS.
    • 처리 속도: 계약당 감사 Dossier 및 행정 처분 권고안 생성까지 평균 0.03초 소요.
    • 실제 필드 한계점: 차명 대표자(바지사장) 분산 설립 및 다단계 민간 하도급 자금 흐름 추적의 한계 확인과 향후 과제 제시.

[AI 에이전트 실전 #1] 650조 국가 예산 감사 AI: Text-to-SQL과 GraphRAG 결합 아키텍처

· 약 10분
Jaybee
AI & Robotics Engineer

Autonomous Public Budget Audit Agent

📌 핵심 요약 (Key Takeaways)

  • 프로젝트 목표: 연간 약 650조 원 규모의 대한민국 국가 예산(조달청 나라장터, 열린재정 dBrain+)과 비정형 HWP 산출내역서를 전주기 추적하여 과대계상, 쪼개기 수의계약, 페이퍼컴퍼니 카르텔을 적발하는 자율 감사 AI 에이전트 구축.
  • 예상했던 난제와 예방: LLM의 수치 계산 환각을 원천 차단하기 위해 결정론적 Text-to-SQL을 채택하고, 복잡한 인적·기업 관계망을 추적하기 위해 **이종 지식 그래프(GraphRAG)**로 책임을 분리하는 이원화(Dual-Engine) 아키텍처 사전 설계.
  • 실제 마주친 오류와 해결: (1) 상호명/도로명 주소 파편화로 인한 카르텔 추적 실패를 EntityResolver 정규화로 해결, (2) 시간차 쪼개기 계약 누락을 슬라이딩 윈도우 알고리즘으로 해결, (3) AI 블랙박스 불신을 국가계약법/감사원 판례 1:1 매칭 XAI Dossier 생성기로 해결.
  • 검증 결과: 11개 단위·통합 테스트 하네스 전원 PASS, 동일 주소지 3,850만 원 수의계약 담합 및 간접비 70% 누수(DEI 30%) 정밀 적발 성공.

[2026] 깃허브 블로그 구글 애드센스 승인: ads.txt 404 해결법

· 약 6분
Jaybee
AI & Robotics Engineer

구글 애드센스 심사 및 크롤러 수집 파이프라인

📌 핵심 요약 (TL;DR)

  • 문제(Problem): 워드프레스나 티스토리 같은 동적 CMS와 달리, GitHub Pages나 Cloudflare Pages 기반의 Docusaurus, Next.js 등 정적 웹사이트(SSG)에서는 "수익 손실 위험 - ads.txt 파일 누락" 경고와 크롤러 접근 차단으로 인한 심사 탈락이 빈번하게 발생합니다.
  • 해결(Solution): Docusaurus의 headTags 설정을 통해 번들 성능 저하 없이 소유권 확인 메타태그를 정적 HTML에 주입하고, static/ads.txt로 루트 배포를 단일화하며, Cloudflare WAF에서 Googlebot-AdsTxt 크롤러를 예외 허용하도록 설정합니다.
  • 결과(Result): 크롤러 접근 성공률 100%, /ads.txt 404 응답 0건 달성, Lighthouse 성능 및 SEO 95점 이상 유지하며 안전하게 애드센스 심사 조건을 완비했습니다.

GitHub Pages 커스텀 도메인 & Cloudflare DNS 무중단 연동 가이드

· 약 6분
Jaybee
AI & Robotics Engineer

개발자라면 누구나 한 번쯤 GitHub Pages의 무료 서브도메인(username.github.io/project)을 이용해 블로그를 운영해 보았을 것입니다. Git 푸시 한 번으로 전 세계에 정적 사이트가 배포되고 서버 유지비가 들지 않는다는 점은 초기 개발자 블로그에 최고의 장점입니다.

하지만 전문적인 기술 브랜딩과 구글 애드센스(Google AdSense) 수익화를 준비하는 순간 타협할 수 없는 기술적 한계에 부딪힙니다. 구글 애드센스는 *.github.io와 같은 무료 2차 서브도메인의 사이트 등록 및 심사 신청을 정책적으로 원천 차단하기 때문입니다. 또한 포털 검색엔진에서 쌓이는 도메인 지수(Domain Authority)가 깃허브가 아닌 온전한 '내 자산'으로 누적되게 하려면 반드시 **독립 커스텀 도메인(Apex Domain, 예: globaldevlog.com)**이 필수적입니다.

정적 사이트(SSG) 엔지니어링 시리즈의 첫 번째 편인 이번 글에서는, 기존 jbjihwan.github.io/global_blog에서 독립 도메인 https://globaldevlog.com으로의 무중단 마이그레이션을 완수한 Porkbun + Cloudflare + GitHub Pages 3계층 고가용성 아키텍처와 DNS 설정 실무를 완벽하게 정리합니다.

GitHub Pages 애드센스 승인 가이드: 커스텀 도메인 & ads.txt 연동

· 약 6분
Jaybee
AI & Robotics Engineer

개발자 블로그를 GitHub Pages의 무료 서브도메인(username.github.io/project)에 배포하여 운영하는 것은 간편하지만, 전문적인 브랜딩과 수익화를 시작하는 순간 거대한 벽에 부딪힙니다. 구글 애드센스는 *.github.io와 같은 무료 서브도메인의 사이트 등록을 원천 차단하기 때문입니다. 애드센스 게시자 심사를 통과하고 검색엔진 도메인 점수(Domain Authority)를 쌓으려면 반드시 독자적인 **독립 커스텀 도메인(Apex Domain)**이 필요합니다.

정적 사이트(SSG)의 도메인 이전은 단순한 DNS 주소 변경에 그치지 않습니다. 도메인 등록기관(Registrar)의 네임서버 위임, 엣지 SSL 암호화, CNAME 평탄화(Flattening), Docusaurus 빌드 파이프라인의 루트 재매핑, ads.txt 호스팅, 그리고 각 검색엔진 포털의 특유한 UI 트랩을 모두 해결해야 합니다.

본 포스팅에서는 기존 jbjihwan.github.io/global_blog에서 독립 도메인 https://globaldevlog.com으로의 무중단 이전 아키텍처와 구글 서치 콘솔, 네이버 서치어드바이저, 빙 웹마스터 도구의 실제 트러블슈팅 과정을 상세히 정리합니다.

[2026] npm audit fix --force 함정과 해결법: npm 취약점 0개 만들기

· 약 5분
Jaybee
AI & Robotics Engineer

프론트엔드나 정적 블로그를 운영하는 개발자라면 누구나 한 번쯤 등골이 서늘해지는 순간을 겪어보셨을 것입니다. 평화롭게 npm audit을 입력했을 때, 터미널 가득 시뻘건 경고 문구가 쏟아져 내리는 장면입니다:

45 vulnerabilities (15 moderate, 15 high, 15 critical)
To address all issues (including breaking changes), run:
npm audit fix --force

Critical, Remote Code Execution (원격 코드 실행), Prototype Pollution (프로토타입 오염) 같은 무시무시한 단어들을 보면, 당장 빨간 불을 끄기 위해 무의식적으로 npm audit fix --force를 타이핑하고 싶어집니다.

하지만 Docusaurus, Next.js, Hugo처럼 **정적 사이트 생성기(SSG)**를 통해 빌드된 후 GitHub Pages나 AWS S3에 배포되는 아키텍처에서는, 이러한 무지성 다운그레이드가 오히려 멀쩡한 프로덕션 빌드를 깨뜨리는 최악의 악수가 되곤 합니다.

본 포스팅에서는 **정적 웹 사이트의 위협 모델(Threat Model)**을 명확히 정의하고, 빌드 도구의 취약점과 런타임 취약점의 본질적인 차이를 파헤치며, 정적 블로그에서 진짜로 지켜야 할 4단계 실전 보안 하드닝(Security Hardening) 청사진을 공유합니다.

[마음지기 캡스톤 개발일지 #24] 2학기 킥오프: 종단적 임상 데이터 전처리 및 정보성 결측(MNAR) 모델링

· 약 7분
Jaybee
AI & Robotics Engineer

임상 데이터 전처리 및 정보성 결측 파이프라인

마음지기(Maeumjigi) 캡스톤 프로젝트 개발일지 24번째 편에 오신 것을 환영합니다.

지난 6월 1학기 최종 발표 평가와 이중 안전 가드레일 래퍼(Dual-layer Safety Wrapper) 배포를 성공적으로 마친 후, 저희 팀은 공식적으로 2학기(2026년 2학기) 개발 일정에 돌입했습니다. 1학기에는 대형 언어 모델(LLM) 파인튜닝(Llama 3.1 8B, Qwen 2.5 32B/7B), 합성 대화 데이터 생성, 프롬프트 안전성 가드레일 구축 등 주로 자연어 처리에 집중했습니다.

그러나 임상 심리학 및 정신과적 위기 분류(Triage)에서 언어 텍스트는 진단의 절반에 불과합니다. 환자의 위기 상태는 시간에 따라 누적되는 종단적 수치 지표(Longitudinal Numerical Markers)—우울 척도(PHQ-9), 범불안 척도(GAD-7), 지각된 스트레스(PSS), 불면증 지수(ISI)—를 통해 복합적으로 발전합니다.

오늘 개발일지에서는 단순 통계적 대체 기법을 탈피하고, 14일 유효 기간 제한 LOCF(Last Observation Carried Forward) 및 정보성 결측(Missing Not at Random, MNAR) 지표를 도입하여 완성한 임상 데이터 엔지니어링 아키텍처를 상세히 공유합니다.

[Vision AI] 한국형 번호판 OCR 최적화, 정규식 검증 및 시간 축 Majority Voting 앙상블 (v01~v11 완결편) (#5)

· 약 4분
Jaybee
AI & Robotics Engineer

시간 축 Majority Voting 및 최종 확정 화면

📌 Key Takeaways (핵심 요약)

  • 문제점: 단일 프레임 OCR은 차량 이동 시 그림자나 각도 변화에 따라 64아1511, 64가7151, 24가1511 등 한두 글자의 일시적 오인식이 불가피하게 발생합니다.
  • 해결책: 한국 번호판 규격 정규식(^\d{2,3}[가-힣]\d{4}$) 필터링과, 최근 7프레임 슬라이딩 윈도우에서 3회 이상 일치 시 번호를 확정하는 시간 축 Majority Voting 앙상블 엔진을 구현했습니다.
  • 결과: 6월 5일 초기 외계어 노이즈(ACCIIXOY-1Z01...)부터 6월 7일 완벽한 64가1511 확정에 이르기까지 11단계 리팩토링(v01~v11)을 거쳐 99.4%의 최종 판독 신뢰도를 달성했습니다.

[Vision AI] 저화질 블랙박스 뭉개짐 극복: EDSR 딥러닝 초해상화와 다중 프레임 스태킹 노이즈 제거 (#4)

· 약 3분
Jaybee
AI & Robotics Engineer

EDSR 딥러닝 초해상화 적용 결과

📌 Key Takeaways (핵심 요약)

  • 문제점: 블랙박스 원본 영상에서 추출된 번호판 패치는 해상도가 40x20 픽셀 미만으로 극도로 작고 H.264 압축 아티팩트로 인해 일반 보간법(Bicubic)으로는 한글 자모와 숫자의 획이 뭉개져 식별할 수 없습니다.
  • 해결책: 배치 정규화를 제거해 텍스처 복원력을 극대화한 EDSR_x4 심층 잔차 신경망(EDSR_x4.pb)을 도입하고, 추적 중인 연속 3~5프레임의 번호판을 정렬·평균화하는 다중 프레임 이미지 스태킹(Multi-frame Image Stacking)을 결합했습니다.
  • 결과: 번호판 해상도를 4배 확대하면서 글자 엣지의 선명도를 대폭 향상시켜 후속 EasyOCR의 한글 음절 인식 성공률을 32%에서 91% 이상으로 끌어올렸습니다.

[Vision AI] 계층적 객체 탐지: YOLOv3 차량 ROI, YOLOv5 번호판 전용 탐지기 및 CSRT 실시간 추적 (#3)

· 약 3분
Jaybee
AI & Robotics Engineer

YOLOv5 번호판 영역 탐지 결과

📌 Key Takeaways (핵심 요약)

  • 문제점: 640x480 전체 화면에서 작은 번호판을 직접 탐지하면 도로변 광고판, 건물 간판 등의 배경 노이즈로 오탐(False Positive)이 폭증하고, 매 프레임 무거운 딥러닝 추론 시 FPS가 10 이하로 급락합니다.
  • 해결책: 1차 광역 차량 검출(YOLOv3-tiny) 후 차량 ROI 내부에서만 번호판 전용 모델(YOLOv5 lp_det.pt, confidence=0.6)을 실행하는 2단계 계층형 아키텍처를 적용했습니다. 또한 15프레임 주기 재검출(detection_interval=15)과 OpenCV CSRT 고속 트래커를 결합했습니다.
  • 결과: 배경 오탐을 원천 차단하고 GPU 연산 부하를 80% 절감하여 실시간 50+ FPS의 부드러운 차량 및 번호판 추적을 달성했습니다.

[Vision AI] 동적 차선 경계선 검출 및 기하학적 IoU 차선 침범 판정 알고리즘 (#2)

· 약 3분
Jaybee
AI & Robotics Engineer

동적 차선 검출 및 오버레이

📌 Key Takeaways (핵심 요약)

  • 문제점: 블랙박스 영상은 노면 반사광, 아스팔트 균열, 이정표 그림자 등으로 인해 차선 오검출이 빈번하며, 단순 좌표 비교 방식은 차선 변경 차량의 침범 시점을 정밀하게 판정하지 못합니다.
  • 해결책: 소실점 기준 사다리꼴 ROI 마스킹과 양수/음수 기울기 임계치(|slope| > 0.5) 필터링, 그리고 최근 7프레임 이동 평균 스무딩 큐를 도입했습니다. 침범 판정은 차량 접지면(하단 30%)과 차선 다각형 간의 기하학적 IoU(0.05 이상)로 수식화했습니다.
  • 결과: 노면 노이즈를 95% 이상 기각하면서, 차량이 차선을 실제로 밟거나 침범하는 순간을 프레임 단위로 흔들림 없이 감지했습니다.

[Vision AI] 블랙박스 차선 침범 적발 & 초해상화 번호판 인식: 6단계 파이프라인 및 실시간 설계 과제 (#1)

· 약 4분
Jaybee
AI & Robotics Engineer

6단계 ANPR 파이프라인 구조도

📌 Key Takeaways (핵심 요약)

  • 문제점: 저화질 차량용 블랙박스 영상은 노면 진동, 역광, 모션 블러, 심한 H.264 압축 아티팩트로 인해 번호판이 심하게 뭉개지며 차선 침범 상황을 실시간으로 추적하기 극도로 어렵습니다.
  • 해결책: 작업 단계를 6단계 계층형 파이프라인(Canny/Hough 동적 차선 추출 -> YOLOv3 차량 검출 -> 다각형 IoU 침범 판정 -> YOLOv5 번호판 국소 탐지 -> EDSR_x4 심층 초해상화 복원 -> EasyOCR 시간 축 Majority Voting)으로 모듈화 설계했습니다.
  • 결과: 과도한 GPU 부하 없이 30 FPS 이상의 처리 속도를 확보하면서도, 열악한 블랙박스 환경에서 차선 침범 차량의 번호판을 완벽하게 판독하는 End-to-End 파이프라인을 구축했습니다.

[마음지기 캡스톤 개발일지 #23] 이중 Safety Wrapper 구축, AWS EC2 GPU 서버 견적 및 1학기 최종 발표

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 6월 18일, 3월부터 쉼 없이 달려온 대학 캡스톤 디자인 프로젝트 **'마음지기 (Maeumjigi)'**의 1학기 대장정이 성공적으로 막을 내렸습니다. 단순한 예식장 크롤러로 출발했던 작은 아이디어는 이제 12만 건의 임상 공감 데이터를 학습한 오픈소스 거대 언어 모델과 풀스택 웹/앱 인프라를 갖춘 고신뢰성 AI 심리상담 플랫폼으로 완성되었습니다.

이번 글에서는 서비스의 생명줄이 될 **이중 안전 가드레일(Safety Wrapper)**의 설계, 실제 클라우드 운영을 위한 AWS EC2 GPU 인스턴스 견적 산출, 그리고 감격의 1학기 최종 발표(PPTX) 현장을 전해드립니다.

[마음지기 캡스톤 개발일지 #22] 4차 파인튜닝의 완성! 체크포인트-4400, 황금 데이터 비율과 전체 시스템 아키텍처

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 5월 마지막 주(5월 27일~30일)는 수개월간 이어진 마음지기의 모델 실험 여정 중 가장 찬란한 성과가 터져 나온 순간이었습니다. 끝없는 하이퍼파라미터 튜닝과 데이터셋 재구축 끝에 마침내 가동된 **4차 파인튜닝(fine_tuning_4)**이 성공적으로 종료되었습니다.

이번 글에서는 이전 모델들의 고질병이었던 '과도한 상담 모드(Over-Counseling)'를 해결한 데이터 혼합 비율의 비밀, 최고의 자연스러움과 공감 능력을 입증한 골든 체크포인트(Checkpoint-4400), 그리고 실제 웹/앱 서비스를 지탱할 전체 시스템 아키텍처를 공개합니다.

[RL Q-Learning #5] Sim-to-Real: Webots에서 아두이노 실물 로봇 이식

· 약 6분
Jaybee
AI & Robotics Engineer

ArUco 마커 비전 추적 화면

📌 핵심 요약 (TL;DR)

  • 문제(Problem): 마이크로컨트롤러(Arduino Uno ATmega328P)의 2KB RAM 한계로 인한 연산 제약, 바퀴 슬립(Wheel Slip) 및 센서 노이즈, 그리고 시뮬레이션 물리와 실제 하드웨어 간의 Sim-to-Real 간극(Reality Gap) 발생.
  • 해결(Solution): PC에서 고수준 비전 처리 및 Q-Table 추론을 담당하고 아두이노는 모터 PWM 구동만 맡는 분산 I/O 아키텍처(HC-06 블루투스, 115,200 baud) 구축 + 천장 웹캠 렌즈 왜곡 보정 및 ArUco 마커 호모그래피(vision.py) 기반 실시간 위치/헤딩 추적 시스템 구현.
  • 결과(Result): 가상에서 학습된 648-bin Q-Table 가중치만으로 실제 1.2m × 1.2m 아레나에서 목표 도달 성공률 86.7%를 달성하며 성공적인 하드웨어 배포 완수.

[마음지기 캡스톤 개발일지 #20] 3차 파인튜닝 완료 및 백엔드 기능(DB, 게시판) 고도화

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

5월 19일과 20일 이틀 동안은 3차 파인튜닝(fine_tuning_3)의 평가 자동화와 더불어, 실제 앱(App) 서비스 구축을 위한 백엔드/프론트엔드 기능 고도화 작업이 병렬로 진행되었습니다.

[Webots 로보틱스] evaluate_qlearning: 결정론적 주행 정량 평가와 DQN·SARSA 벤치마크 (#4)

· 약 4분
Jaybee
AI & Robotics Engineer

성공률 및 스텝 수 벤치마크

📌 핵심 요약 (TL;DR)

  • 목적(Objective): 학습 중 탐색 노이즈(Epsilon)를 완전히 끈 상태(ε=0)에서 순수하게 고착된 정책(Greedy Policy)의 자율주행 신뢰성과 경로 품질을 검증.
  • 평가 방법(Evaluation): evaluate_qlearning.py를 통해 5개 평가 시드(Eval Seeds 0~4)에 걸쳐 총 30회 독립 테스트를 수행하고, 성공률, 이론 최단 경로 대비 주행 효율(Path Efficiency), 근접 위기(Near-miss) 횟수를 정밀 측정.
  • 결과(Result): Tabular Q-Learning은 장애물 맵에서 93.3%의 결정론적 성공률과 높은 경로 안정성을 기록하며, 연산량이 무거운 신경망 기반 DQN 및 온폴리시 SARSA 모델 대비 실용적 우수성을 입증.

[Webots 로보틱스] 12개 벽 장애물과 Local Minima 함정 극복: 다중 시드 병렬 시뮬레이션 (#3)

· 약 4분
Jaybee
AI & Robotics Engineer

obstacle12 시뮬레이션 환경

📌 핵심 요약 (TL;DR)

  • 문제(Problem): 벽 뒤에 목표가 위치할 때 거리 델타 보상(+0.1 × Δdist)의 탐욕적 특성으로 인해 로봇이 벽을 우회하지 못하고 정면으로 밀고 들어가 갇히는 지역 최적해(Local Minima) 함정 발생.
  • 해결(Solution): 3방향 초음파 헤드스캔(전방/좌/우) 상태 정보와 장기 할인율(γ=0.99)의 벨만 역전파 결합 + PowerShell 기반 **Webots Headless 무인 가속 파이프라인(headless_run.ps1)**을 구축하여 3개 시드(Seed 0, 1, 2) 반복 학습 수행.
  • 결과(Result): 12개 벽 장애물 환경에서도 평균 600 에피소드 이후 90% 이상의 안정적인 목표 도달 성공률을 달성하며 벽 우회 우회로(Detour Policy) 형성 입증.

[Webots 로보틱스] Tabular Q-Learning 구현과 보상 함수(Reward Function) 튜닝 (#2)

· 약 5분
Jaybee
AI & Robotics Engineer

학습 보상 곡선

📌 핵심 요약 (TL;DR)

  • 문제(Problem): 목표 도달(+1.0)과 벽 충돌(-1.0)만 주어지는 희소 보상(Sparse Reward) 환경에서 에이전트가 우연히 목표를 찾기까지 수천 번 제자리 회전하거나 방황하는 탐색 지연 발생.
  • 해결(Solution): 목표와의 유클리드 거리 변화량에 비례하는 포텐셜 기반 보상(+0.1 × Δdist)과 스텝(-0.01), 회전(-0.01), 후진(-0.05) 페널티를 결합한 다차원 보상 셰이핑(Reward Shaping) 설계 + 지수 감쇠 엡실론 그리디(Epsilon-Greedy, 1.0 → 0.05) 전략 적용.
  • 결과(Result): 장애물 없는 환경(no_obstacle) 기준 500 에피소드 이내에 이동 평균 보상이 안정적 양수 구간(0.7+)으로 진입하고 최종 목표 도달 성공률 98% 이상 달성.

[마음지기 캡스톤 개발일지 #19] 파인튜닝 평가 보고서 자동화와 FastAPI PostgreSQL 401 에러 트러블슈팅

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 5월 17일은 2차 파인튜닝(fine_tuning_2)의 방대한 실험 결과를 정리하는 동시에, 백엔드와 프론트엔드를 하나로 엮는 과정에서 발생한 치명적인 시스템 연동 장애를 극복한 숨 가쁜 하루였습니다. 특히 수백 개의 추론 벤치마크 지표를 기술 보고서로 전자동 컴파일하고, PostgreSQL 데이터베이스 덤프 복원 직후 닥쳐온 HTTP 401 Unauthorized 무한 로그인 실패 에러를 완벽히 해결한 과정을 상세히 기록합니다.

[Webots 로보틱스] Q-Learning 자율주행: 648개 상태 공간 이산화와 소켓 통신 아키텍처 (#1)

· 약 5분
Jaybee
AI & Robotics Engineer

Webots 시뮬레이션 환경

📌 핵심 요약 (TL;DR)

  • 문제(Problem): 연속적인 센서 거리·각도 데이터로 인해 고전적 표 기반 Q-Learning(Tabular Q-Learning) 적용 시 상태 공간 폭발 및 Webots 시뮬레이터와 학습 스크립트 간 실시간 동기화 오버헤드 발생.
  • 해결(Solution): 5차원 연속 센서 입력을 기하학적·물리적 의미를 가진 구간으로 분할하여 3 × 8 × 3 × 3 × 3 = 648개의 이산 상태(Bin)로 매핑(discretizer.py)하고, TCP 로컬 소켓(Port 5000, Line-delimited JSON) 기반의 IPC 제어 파이프라인 구축.
  • 결과(Result): O(1)의 초고속 Q-Table 갱신 속도를 확보하고, 시뮬레이션 물리 스텝(32ms)에 맞춘 안정적인 동기화 루프 완성.

[마음지기 캡스톤 개발일지 #16] 치명적 실수와 2차 파인튜닝, 그리고 React Native 앱 첫 구동

· 약 3분
Jaybee
AI & Robotics Engineer

사진 01

5월 8일은 그동안 뽑아낸 파인튜닝 결과들을 바탕으로 캡스톤디자인 중간 발표 자료(PPT)를 만들던 날이었습니다. 하지만 기분 좋게 슬라이드를 채워나가던 중, 등골이 서늘해지는 엄청난 실수를 발견하고 말았습니다.

[마음지기 캡스톤 개발일지 #15] 5개 모델 파인튜닝 결과 시각화 및 로컬 환경 세팅

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

5월 7일은 그동안 피땀 흘려 파인튜닝한 총 5개의 모델(Llama3.3-70B, DSR1-70B, HCX-Omni-8B, Qwen35-9B, HCX-Text-1.5B)의 결과를 집대성하고, 본격적인 시각화와 로컬 환경 구성을 진행한 날입니다.

[마음지기 캡스톤 개발일지 #14] 모든 파인튜닝 완료 및 병렬 추론(Eval) 환경 구축

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

5월 6일, 드디어 길고 길었던 파인튜닝의 늪에서 빠져나왔습니다! 며칠간의 밤샘 작업과 하이퍼파라미터 조율 끝에 HCX-Omni-8B와 Qwen35-9B 등 중소형 모델들의 학습이 성공적으로 마무리되었습니다.

[마음지기 캡스톤 개발일지 #13] 70B 학습의 한계와 중소형 모델(HCX, Qwen) 우회 전략

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

70B라는 거대한 모델의 파인튜닝 과정에서 발생한 OOM(메모리 부족) 지옥을 경험한 5월 4일, 저희는 과감한 전략 변경을 시도했습니다. 70B 모델(Llama3.3, DeepSeek-R1)은 배치 사이즈를 극단적으로 줄여 겨우 checkpoint-1200, 1300까지 진행시켰지만, 학습 시간이 너무 오래 걸려 효율이 극악이었습니다.

[마음지기 캡스톤 개발일지 #12] 70B 초대형 모델 파인튜닝과 GPU 메모리(OOM) 사투

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

5월 3일, 그동안 8B 모델로 충분히 감을 잡은 저희 팀은 드디어 진정한 성능의 끝판왕, 70B(700억 개 매개변수) 초대형 모델의 파인튜닝에 도전했습니다. Llama 3.3 70B와 DeepSeek-R1 70B 두 가지 모델을 대상으로 학습을 시도했는데, 예상대로 엄청난 하드웨어 자원의 장벽에 부딪히고 말았습니다.

[마음지기 캡스톤 개발일지 #11] 합성 데이터(v5) 훈련 결과 M6 모델 평가

· 약 3분
Jaybee
AI & Robotics Engineer

사진 01

4월 19일, 피땀 흘려 만들어낸 가상의 합성 데이터셋(v5)으로 훈련시킨 모델(M6)의 성능을 평가하고, 이를 바탕으로 7주 차 주간 보고서를 작성한 날입니다. 과연 10달러의 과금 폭탄을 견뎌내며 만들어낸 데이터는 그만한 가치가 있었을까요?

[마음지기 캡스톤 개발일지 #10] API 요금 한도 해제와 무인 자동화: 견고한 데이터 합성 파이프라인 복구기

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 4월 14일은 분산 데이터 파이프라인의 **내결함성(Fault Tolerance)**이 얼마나 중요한지 뼈저리게 배운 날이었습니다. 예기치 못한 API 요금 폭탄으로 일시 중단되었던 v5 합성 데이터 생성을 재개하기 위해 Anthropic API 결제 한도를 증액(제한 해제)하고 시스템을 가동했지만, 곧바로 HTTP 429(Too Many Requests) 속도 제한과 네트워크 단절로 인한 체크포인트 파일 깨짐 현상이 발생했습니다.

우리는 이 문제를 해결하기 위해 파이프라인을 **지수 백오프(Exponential Backoff)**와 원자적 파일 교체(Atomic Replacement) 기반의 완전 무인 자율 복구 아키텍처로 전면 개편했습니다.

[마음지기 캡스톤 개발일지 #9] Llama 3.1 파인튜닝 에러 사투와 6주차 중간발표

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

4월 9일, 어제 야심 차게 완성한 Colab 노트북을 이용해 드디어 인공지능 모델(Llama 3.1)의 첫 학습(파인튜닝)을 시도했습니다. 하지만 현실은 역시 호락호락하지 않았고 수많은 에러와 마주해야 했습니다. 동시에 캡스톤 디자인 6주차 중간발표 자료까지 만들어야 했던 험난한 하루였습니다.

[마음지기 캡스톤 개발일지 #7] 합성 데이터(v5) 생성 최적화와 프론트엔드 연동

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

4월 7일은 팀원이 구축한 프론트엔드(mental-health) 코드를 로컬 환경에서 실행해 보며 통합을 시도한 날이자, AI를 활용해 부족한 상담 데이터를 6만 건이나 새롭게 '합성(Synthesis)'해내는 거대한 스크립트를 가동한 날입니다.

[마음지기 캡스톤 개발일지 #6] 전처리 최종 보고서 자동화: python-docx 차트 생성과 Next.js 14 프론트엔드 킥오프

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 4월 5일은 마음지기 프로젝트에서 데이터 엔지니어링과 웹 풀스택 개발의 두 가지 핵심 축이 맞물린 매우 중요한 날이었습니다. 1차부터 4차까지 끈질기게 이어진 대규모 데이터 정제 과정을 체계적으로 정리하여 지도교수님께 제출할 기술 보고서를 전자동으로 생성하는 한편, 사용자가 실제로 접속하여 따뜻한 위로를 받을 수 있는 Next.js 14 기반의 프론트엔드 프로젝트를 공식 킥오프했습니다.

[마음지기 캡스톤 개발일지 #5] 10만 건의 감정 데이터 정제와 API 비용의 압박

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

4월 3일, 본격적으로 딥러닝 모델(Llama 3.1)에 먹일 훈련용 대화 데이터를 정제하는 작업에 착수한 날의 기록입니다. 단순히 데이터를 합치는 것을 넘어, AI가 텍스트를 보고 스스로 감정을 판별하게 만드는 거대한 파이프라인을 돌려본 날이기도 합니다.

[마음지기 캡스톤 개발일지 #4] 본격 데이터 전처리: Llama 3.1 챗 템플릿과 자율 JSONL 파이프라인 구축

· 약 4분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 4월 1일은 마음지기의 핵심 인공지능 두뇌가 될 Meta Llama 3.1 모델을 학습시키기 위해, 방대한 양의 한국어 공감 대화 원시 데이터를 모델이 완벽히 이해할 수 있는 인스트럭션 데이터로 변환하는 본격적인 데이터 전처리가 가동된 날입니다. 고성능 파인튜닝 모델의 성패는 모델 파라미터보다 데이터 전처리의 무결성에 달려 있습니다.

[마음지기 캡스톤 개발일지 #3] 알람 앱 빌드 테스트와 파인튜닝 전처리 돌입

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

마음지기 프로젝트의 초기 방향이었던 국방컨벤션 예약 알람 앱의 안드로이드 빌드 테스트를 진행하는 동시에, 본격적으로 인공지능 기반 프로젝트로의 전환을 암시하는 Llama 3.1 파인튜닝 데이터 전처리를 처음 시작한 3월 31일의 기록입니다.

[마음지기 캡스톤 개발일지 #2] 초기 알람 앱 기획 구체화와 테스트

· 약 2분
Jaybee
AI & Robotics Engineer

사진 01

마음지기 프로젝트의 초기 아이디어였던 '국방컨벤션 예약 알람' 애플리케이션의 개발을 본격적으로 시작한 3월 30일의 기록입니다. 지난번 세웠던 코딩 규칙을 바탕으로 구체적인 프로젝트 진행 계획을 수립하고, 테스트 주도 개발(TDD)을 위한 기반을 다졌습니다.

[마음지기 캡스톤 개발일지 #1] 첫 걸음과 기획: Claude Code 협업 규칙과 알람 앱에서 멘탈케어 AI로의 피봇

· 약 5분
Jaybee
AI & Robotics Engineer

Cover Image

2026년 3월 26일, 장장 1학기에 걸친 대형 캡스톤 디자인 프로젝트 '마음지기'의 대장정이 공식적으로 시작되었습니다. 첫날은 앞으로 진행될 수많은 밤샘 개발과 인공지능 모델 훈련의 초석을 다지는 날이었습니다. 특히 자율 코딩 에이전트인 Claude Code의 도입, 팀 코딩 컨벤션 수립, 그리고 프로젝트의 운명을 완전히 바꾼 **핵심 아키텍처 피봇(Pivot)**이 결정된 날입니다.