기술 블로그
- 개인 OSS
기억을 잃지 않는 멀티에이전트 런타임 (Glimi)
LangGraph나 AutoGen 같은 프레임워크를 사용하지 않고, 외부 의존성 없이 멀티에이전트 커널을 직접 구현했다. 5,000줄짜리 모놀리식 코드를 분리해 공용 커널을 추출했고, 두 애플리케이션이 동일한 런타임 위에서 동작하도록 구성했다. 품질은 git 기록 기반 EDD(eval-driven development) 방식으로 관리하며, gen‑1(69.4 FAIL)에서 gen‑11(85 PASS)까지 개선됐다. 개발 중 가장 큰 난관은 웹 턴(Web turn)이 동작하지 않던 런타임 버그였다.
- AI·RAG
Ollama 4096토큰 안에 기억 욱여넣기
Ollama 로컬 모델의 기본 컨텍스트 길이는 4096토큰이다. 프롬프트가 이 한도를 넘으면 시스템 메시지나 메모리 섹션이 경고 없이 잘린다. 이는 모델이 GPU·RAM 용량에 맞춰 컨텍스트 예산을 고정하여 초과 입력을 원천 차단하는 구조적 설계 때문이다.
- iOS·바이너리
배포된 iOS 앱에 동적 라이브러리 추가하기
공식 배포된 IPA를 추출한 뒤 내부 Frameworks 디렉터리에 dylib를 추가하고, Mach-O load command를 수정해 주입 라이브러리를 로드하도록 조작한 후 자체 인증서로 재서명해 실행하는 절차를 단계별로 보여준다. 해당 방식이 보안 SDK 삽입과 악성 코드 변조에 동일하게 활용될 수 있음을 짚고, 코드 서명 무결성 검증 및 재서명 탐지 기능으로 이를 방어하는 방법을 다룬다.
- AI·RAG
메모리 예산에 맞춰 RAG 모델 번갈아 올리기
GPU 클라우드를 쓸 수 없는 상황에서 제한된 RAM 장비 한두 대로 RAG 파이프라인을 구현한 과정. 임베딩, 리랭커, 생성 모델을 동시에 띄울 수 없을 때 메모리 예산을 기준으로 모델 적재·언로드·캐싱 전략을 설계하고 검증한 사례를 다룬다. 사내 TextRAG의 제약을 개인 이력서 챗봇 구현에서도 동일하게 재현하며 해결 과정을 구체적으로 기록했다.
- iOS·바이너리
서명 깨지 않고 Mach-O 섹션 추가하기
기존에 서명된 IPA 바이너리를 재빌드 없이 수정하는 방법을 다룬다. Mach-O 파일 내부에 새로운 섹션을 삽입할 때 발생하는 오프셋 변위 문제와 그로 인한 문자열 참조 손상을 분석하고, 원본 오프셋을 유지한 채 임의 코드나 데이터(보호 SDK 등)를 삽입하는 무손상 레이아웃 방식을 설명한다. 섹션 추가 실패 시 적용 가능한 문자열 암호화 대체 전략도 함께 다룬다.
- AI·RAG
방치된 맥스튜디오로 사내 RAG 만들기
외부 전송이 금지된 사내 환경에서 3년간 방치됐던 맥스튜디오를 활용해 임베딩, 리랭킹, 생성 모델 스택을 온프레미스로 구성한 과정. 코드·문서 유출 없이 검색 정확도를 높이기 위해 골든셋으로 recall@5 87%까지 튜닝했고, 완성된 RAG 엔진을 사내 검색, MCP 모듈, MR 리뷰봇에서 공용 인프라로 통합한 전체 설계와 검증 절차를 다룬다.
- AI·RAG
이력서 챗봇을 믿을 수 있게 만드는 평가 게이트
이력서 RAG 챗봇이 존재하지 않는 경력·기술을 생성하거나 PII, 내부 코드명, 프롬프트를 노출하지 않도록 하는 자동 회귀 검증 체계를 설계한 과정. 32개 문항의 골든셋으로 모델 응답을 테스트하고, 결정론적 게이트를 통해 환각·유출 가능 응답을 배포 이전에 차단하는 구조를 구현함.
- AI·RAG
RAG를 MCP로 Claude Code에 물리기
사내 보안 정책상 외부 LLM으로 코드를 전송할 수 없는 환경에서, 자체 구축한 로컬 RAG(TextRAG)와 GitLab MR 리뷰봇을 MCP 프로토콜로 Claude에 연동한 구축 사례를 다룬다. Claude Code 내에서 코드 분석과 리뷰 자동화를 내부 리소스로 처리하게끔 구성한 과정과, 이를 통해 반복 작업의 토큰 비용 제거 및 내부 데이터(경력 DB·이력서 자동화 등)까지 확장한 방법을 구체적으로 정리했다.
- 개인 OSS
온디바이스 AI와 단축어로 만든 음성 기반 홈 제어 (IntentCP)
스마트홈 기기를 음성으로 제어하기 위한 온디바이스 AI 파이프라인을 iPhone 단축어와 결합해 구축한 과정이다. LLM에 직접 기기를 연결하는 방식이 토큰 비용, 지연, 상시 서버 운용 문제로 현실적이지 않음을 검증하고, 폰을 개인 AI 실행 환경으로 전환하는 접근으로 전환했다. 자연어 명령을 검증 가능한 형식(intention code pattern)으로 정규화하는 구조를 설계하며, 홈 제어 명령의 안정성과 재현성을 확보하기까지의 기술적 시행착오와 설계 의도를 정리했다.
- 운영·인프라
노션 하나로 이력서 사이트·PDF·챗봇 만들기
이력서 데이터를 노션 한 문서에서 관리하고, 웹사이트(ai.iruyo.com)·인쇄용 PDF·챗봇 응답 코퍼스를 주기적으로 자동 갱신하도록 연결한 워크플로를 설계·구현한 과정. 소스 통합, 스크립트 구성, 자동 배포 및 검증 절차를 구체적으로 다룬다.