AI/ML 엔지니어 · AI 분야 10년 (석사 연구 2년 + 실무 7년+)

김원혁Portfolio

복잡한 데이터 특성을 파악해 모델 성능을 극대화하는, AI 분야 10년 차 AI/ML 엔지니어입니다 (석사 연구 포함). 보안 데이터와 같이 특수성이 강한 도메인에서도 최적의 모델을 설계하고 파인튜닝할 수 있는 응용력을 갖췄으며, TB급 대용량 데이터 처리부터 MLOps 파이프라인 구축까지 문제를 AI 기술로 해결하는 End-to-End 엔지니어링에 주력합니다. 최근에는 LLM 에이전트를 실제 서비스에 적용하는 영역으로 넓혔고, 특히 Claude Code를 적극 활용해 개발 하네스와 멀티에이전트로 개발 과정 자체를 자동화하며 여러 개인 프로젝트를 빠르게 구현하고 있습니다.

대표 개인 프로젝트

여러 프로젝트와 머신을 오가며 Claude Code로 개발하는 환경을 지침·룰·서브에이전트 계층으로 직접 설계하고, 예제 하나를 기획부터 명세·위임·검증까지 관통시킨 과정을 공개한 워크드 예제입니다

문제 Claude Code를 여러 프로젝트와 머신에서 쓰다 보면 세션마다 맥락이 유실되고 품질 편차와 셀프리뷰의 한계가 반복됩니다
접근 지침(CLAUDE.md)과 룰·스킬·서브에이전트를 계층으로 쌓아 SDD 파이프라인, 리드 아키텍트 위임 사이클, 환경 적응형 테스트 티어를 하나의 개발 환경으로 엮었습니다
결과 git clone 한 번이면 어느 머신에서든 동일하게 동작하며, 예제 프로젝트 하나를 기획부터 EARS 명세·에이전트 위임·검증(테스트 통과)까지 관통시킨 과정을 공개 쇼케이스로 정리했습니다
Claude CodeSDD서브에이전트
상세 설명
배경여러 개인 프로젝트를 동시에 굴리며 Claude Code로 개발하다 보니, 세션이 매번 새로 시작되고 프로젝트마다 규칙이 달라 같은 시행착오를 반복하는 것이 아까웠습니다
가치새 프로젝트를 시작할 때 검증된 개발 규칙과 위임·검증 절차가 처음부터 갖춰져 있어, 환경을 매번 다시 세팅하지 않고도 일정한 품질로 빠르게 진행할 수 있습니다
공개github.com/novatecoder/claude-code-harness-showcase 에서 기획→명세→위임→검증 워크드 예제를 직접 볼 수 있습니다

티켓 라우터

링크 : ticket-router

서비스데스크로 들어오는 문의를 AI가 담당 팀에 자동 분류·배정하고, 근거가 충분한 단순 문의는 매뉴얼을 인용해 직접 답하되 민감하거나 근거가 부족하면 사람에게 넘기는 시스템입니다

문제 서비스데스크로 들어오는 문의를 담당자가 일일이 읽고 분류·배정하다 보니 처리가 지연되고, 매뉴얼만 봐도 답할 수 있는 단순 문의에까지 사람 손이 들어갔습니다
접근 LangGraph 그래프로 문의를 담당 팀별로 자동 분류·배정하고, 근거가 충분한 단순 문의는 매뉴얼에서 근거를 찾아 인용까지 붙여 자동 답변합니다 (FastAPI·PostgreSQL·로컬 vLLM Qwen2.5-7B)
결과 서비스데스크 대체 과제의 개인 PoC로, 서로 다른 문의 5건을 자동응답 2건·사람 이관 3건으로 처리하는 E2E 흐름을 검증했습니다 (mock 모드라 누가 돌려도 같은 결과가 나오고 실로직은 제품과 동일)
LangGraphRAGFastAPIPostgreSQLvLLM
데모 및 상세 설명
배경서비스데스크 문의 자동화를 실무에서 다루게 되면서, 사내 적용에 앞서 분류·근거응답·안전 판단 같은 핵심 설계를 자유롭게 실험하고 검증할 개인 PoC가 필요했습니다
가치반복되는 단순 문의를 근거까지 붙여 자동 응대하면서도 위험한 문의는 반드시 사람에게 넘겨, 담당자가 정말 판단이 필요한 일에만 집중할 수 있습니다
안전 레이어(answerability)"이 문의에 자동으로 답해도 되는가"를 별도로 판단해, 민감정보나 금지 카테고리·근거 부족 문의는 자동응답을 막고 사람 상담원에게 이관함으로써 환각과 오응답을 막습니다
데모문의 5건이 분류에서 근거 검색, 인용, 자동응답 또는 사람 이관으로 흐르는 전 과정을 담았고, 특히 매뉴얼(M_IT01)을 근거로 든 자동답변 화면과 피싱·계정도용 문의를 강제 차단해 이관하는 안전 장면, 실제 웹 접수 게시판 UI를 함께 보여줍니다
티켓 라우터 스크린샷티켓 라우터 스크린샷티켓 라우터 스크린샷티켓 라우터 스크린샷

sift

완전 오프라인 온디바이스 LLM이 기기 안에서 문자를 직접 읽어 중요한 것만 다이제스트로 선별하고 스미싱까지 잡아내, 문자 원문이 기기 밖으로 나가지 않는 Android 앱입니다

문제 문자와 알림 홍수에서 중요한 것만 골라내고 싶지만, 클라우드로 분류를 맡기면 문자 원문이 기기 밖으로 나가 프라이버시가 깨집니다
접근 온디바이스 LLM(LiteRT-LM + Gemma-4-E4B)을 GPU로 추론해 기기 안에서 문자를 직접 읽고 중요도를 판정하며, 서버 호출이 전혀 없습니다
결과 실기기(Galaxy S24 Ultra)에서 9건 배치 추론에 약 15초가 걸리는 것을 비행기 모드로 검증했고, 현재 비공개로 수익화를 준비하고 있습니다
KotlinLiteRT-LMGemma-4-E4B온디바이스 GPU
데모 및 상세 설명
배경하루에도 수십 통씩 쌓이는 문자·알림을 정리해 주는 앱을 쓰고 싶었지만, 문자 내용을 클라우드로 보내는 방식은 개인정보 때문에 꺼려졌습니다
가치문자 원문이 기기를 벗어나지 않으면서도 중요한 것만 골라주고 스미싱까지 걸러줘, 프라이버시 걱정 없이 알림 홍수를 정리할 수 있습니다
중요도 다이제스트수십 통이 쏟아져도 결제·납부기한처럼 지금 봐야 할 것만 위로 끌어올려 보여줍니다
사기(스미싱) 탐지중요도와는 별개의 축으로 단축URL·사칭 패턴을 잡아 "사기 의심" 경고를 띄웁니다
데모문자 홍수가 온디바이스 추론을 거쳐 다이제스트로 정리되는 트리아지 루프와, 스미싱 문자에 "사기가 의심돼요" 배너가 뜨는 상세 화면을 비행기 모드에서 촬영한 영상·GIF로 보여줍니다
sift 스크린샷sift 스크린샷sift 스크린샷sift 스크린샷

코딩테스트 퀴즈 앱

알고리즘 43개 유형·426문항을 일곱 가지 퀴즈와 간격 반복(SRS)으로 이동 중에도 복습할 수 있게 만든 오프라인 Android 앱입니다

문제 이동 중 짧은 시간에 알고리즘 유형을 복습하고 싶지만, 단순히 문제만 풀어서는 무엇을 언제 다시 봐야 하는지(망각곡선)가 관리되지 않습니다
접근 Kotlin·Room 단일 모듈 MVVM(Material3)으로 알고리즘 43유형·426문항과 유형별 이론 노트를 담고, 상태 기반 가중 랜덤 샘플러로 간격 반복(SRS)을 구현했습니다
결과 네트워크 권한이 아예 없는 오프라인 전용 앱으로, R8/minify 릴리스 약 1.7MB에 단위 테스트 198건을 갖춰 앱스토어 출시를 준비 중입니다 (비공개)
KotlinRoomSRS
데모 및 상세 설명
배경자투리 시간에 알고리즘 감을 유지하고 싶었는데, 기존 문제풀이 앱은 한 번 푼 문제를 언제 다시 봐야 하는지 챙겨주지 않았습니다
가치자주 틀리는 유형은 더 자주, 잘 푸는 유형은 뜸하게 나와서 짧은 시간에 지금 가장 약한 부분을 집중해 복습할 수 있습니다
퀴즈OX·4/5지선다·주관식·Cloze·Parsons·유형판별 등 일곱 유형을 자동 채점하고, 틀리면 정답과 해설을 보여준 뒤 복습 큐로 되돌립니다
SRS 설계신규·난이도·지연·leech를 반영한 가중 랜덤 샘플러로 연속 정답일수록 출제 빈도를 단조 감소시켜 스페이싱을 보장하고, leech는 자동 해제됩니다
통계정답률·주관식 오답 감소율·주간 복습일 같은 진도 지표와 하루 목표, 라이트/다크 테마를 제공합니다
데모6일치 학습 진도를 결정적으로 주입한 "쓰던 앱" 상태에서 홈에서 퀴즈 풀이(정답·오답), 요약, 통계로 이어지는 실사용 흐름을 실기기 녹화와 스크린샷으로 보여줍니다
코딩테스트 퀴즈 앱 스크린샷코딩테스트 퀴즈 앱 스크린샷코딩테스트 퀴즈 앱 스크린샷코딩테스트 퀴즈 앱 스크린샷

persona-agent

링크 : persona-agent

감정 엔진을 가진 캐릭터가 대화·기억·일정을 직접 관리하고 코딩 같은 태스크는 하위 에이전트에 맡기는, 인터넷 없이 도는 개인 AI 동반자입니다

문제 개인 AI 동반자는 대화와 기억이 클라우드로 나가면 프라이버시가 깨지고, 감정 표현을 매 턴 LLM에 맡기면 비결정적이고 비용도 큽니다
접근 캐릭터(페르소나)가 최상위에서 대화·감정·기억을 소유하는 LangGraph 오케스트레이터(router→감정 갱신→chat·retrieve·delegate·task·persona 분기)를 짜고, 감정은 LLM 밖 결정론적 엔진이 맡으며 대화는 로컬 vLLM, 코딩은 하위 에이전트(pi)에 위임해 런타임을 완전 오프라인으로 유지합니다
결과 인터넷 없이 도는 개인 AI 동반자로, 기억이 로컬에 남아 다음 대화에서 참조되고 감정이 대화 톤에 배어나며 코딩 태스크까지 캐릭터 톤으로 위임·보고합니다 (개인용)
LangGraphvLLMEXAONESQLite
데모 및 상세 설명
배경개인적인 대화를 나눌 AI 동반자를 만들어 보고 싶었지만, 대화와 기억이 외부 서버로 나가는 것도 감정을 매번 LLM에 물어보느라 느리고 들쭉날쭉한 것도 마음에 걸렸습니다
가치모든 대화와 기억이 기기 안에만 남아 사생활이 지켜지고, 감정 상태가 결정론적으로 유지돼 같은 캐릭터가 일관된 성격으로 반응합니다
감정 엔진valence·arousal·dominance(VAD) 연속 상태를 축별 시간 감쇠(half-life)로 결정론적으로 유지하고, 매 턴 그 상태를 해석하는 부분(mood-congruent appraisal)만 LLM이 맡아 같은 말도 기분에 따라 다르게 받아들입니다
기억md 위키를 정본으로 두고 SQLite FTS5 + sqlite-vec에 BGE-M3 임베딩을 얹은 하이브리드 RAG로 검색하며(RRF 융합), 쓰기는 검증기를 거쳐 git 커밋으로 감사 추적됩니다
서빙로컬 vLLM에 EXAONE 3.5 7.8B AWQ 단일 모델을 올려 시스템 프롬프트로 역할만 바꿔 멀티롤로 씁니다
데모같은 8턴 시나리오를 브라우저(감정 게이지 시각화)와 터미널(감정 수치·로컬 md/git 노출) 두 형태로 녹화해, 이름을 지어주고 기분이 오르내리며 시드된 기억을 정확히 회상하고 피보나치 코드를 하위 에이전트에 위임하는 장면을 보여줍니다
persona-agent 스크린샷persona-agent 스크린샷persona-agent 스크린샷persona-agent 스크린샷

그 외 개인 프로젝트

영화 분석 파인튜닝

링크 : cine-analyst-llm

영화 줄거리·메타데이터를 이해해 분석하도록 LLM을 파인튜닝해 본 초기 실험 프로젝트입니다

LLM 파인튜닝Python

가계부 AI 어드바이저

링크 : household_Ledger_ai

여러 에이전트가 스스로 쿼리를 고쳐가며 자연어 질문에 답하고, 가맹점 관계를 그래프로 분석해 이상 지출을 짚어주는 가계부 어드바이저입니다

LangGraphpgvectorNeo4jRedis

증권사(KIS) API를 MCP 표준 도구로 감싸 "잔고 보여줘" 같은 자연어 명령만으로 주식 잔고 조회와 매매를 할 수 있게 한 중계 서버입니다

FastMCPKIS-API

Ollama RAG 문서QA

링크 : DocuChatAi

업로드한 문서를 근거로만 답하도록 RAG를 붙이고 경량 모델을 온프레미스로 돌려, 데이터 유출과 환각 없이 내 문서에 질문할 수 있는 앱입니다

OllamaLangChainVectorDBStreamlit

투자 에이전트

링크 : PyInvestAdvisor

뉴스·주가·재무제표처럼 흩어진 정보를 한데 모아 LLM이 매수·매도 의견을 논리적으로 정리해 주는 투자 분석 보조 에이전트입니다

Google ADKLLM

PySpark NLP 파이프라인

링크 : pyspark-nlp-pipeline

특정 파티션에 쏠리는 데이터(Data Skew)를 Key Salt로 흩어 TB급 텍스트를 병렬로 정제·토큰화하는 대용량 처리 파이프라인입니다

PySparkUDF

진행 중 개인 프로젝트

특허 출원 자동화

특허 명세서 초안 작성과 출원 절차를 LLM으로 보조·자동화하는 도구로, 현재 출원을 준비하며 다듬고 있습니다

LLMPython

AI 투자 자문 시스템

MCP로 여러 시장 데이터를 한데 모아 투자 판단을 돕는 자문 시스템으로 개발 중입니다

MCPLLM

핵심 역량

Agentic 개발 워크플로우: Claude Code·SDD·멀티에이전트(provider/reviewer) 오케스트레이션 기반 개발 자동화
LLM 앱 엔지니어링: LangGraph 멀티에이전트·RAG·MCP 설계 (실무 + 개인 프로젝트)
LLM 파인튜닝: LoRA·DeepSpeed/Unsloth 기반 분산 학습 최적화 및 도메인 특화
MLOps Automation: Airflow/Kubernetes 기반 학습·배포 파이프라인 자동화 (CI/CD)
Deep Learning Modeling: TensorFlow/PyTorch 기반 보안 도메인 맞춤형 모델 설계·최적화
Big Data Engineering: Spark 기반 TB급 대용량 처리 아키텍처 및 비용 효율화
DevOps & Environment: Docker 기반 연구개발 환경 컨테이너화·표준화

기술 스택

성과 보유 핵심 Advanced
LLM 앱 엔지니어링
LangGraphRAGMCP
Agentic 개발
Claude Code멀티에이전트SDD
LLM 파인튜닝·분산학습
LoRADeepSpeedUnslothSequence Parallelism
서빙·추론 최적화
양자화(4/8-bit)모델 경량화TensorFlow Serving
MLOps·인프라
AirflowMLflowKubernetesCI/CDDocker
딥러닝 모델링
PyTorchTensorFlowBERTCNN
빅데이터·분석
SparkPySparkScalaPythonPandas
즉시 투입 Apply
온디바이스 LLM
LiteRT-LMGemmaEXAONEllama.cppvLLM
벡터·검색
FaisspgvectorBGE-M3
백엔드·API
FastAPIFastMCPMySQL
모바일
KotlinAndroidRoom
클라우드
GCPAWS S3

경력

2026.03–현재

메타넷디지털 (삼성 파견) · AI 엔지니어

  • 서비스데스크 문의 분류·라우팅 + RAG 자동응답 시스템 설계·구현 (메인 담당)
2025.09–2026.03

개인 연구

  • 최신 LLM·LangGraph·RAG·MCP 직접 구현·검증
  • AI 개발 하네스 자체 설계 (현재 지속)
2018.07–2025.08

안랩 (AhnLab) · 선임 연구원

  • Security LLM 파인튜닝 및 대규모 분산 학습 시스템 구축
  • Airflow/Kubernetes 기반 MLOps 파이프라인 자동화
  • TensorFlow/PyTorch 보안 도메인 특화 모델 개발
  • Spark 기반 대용량 데이터 처리·비용 효율화
  • 전처리/스키마 최적화로 데이터 신뢰성 확보
  • Docker 기반 개발 환경 컨테이너화·표준화

상세 경력·성과(PAR)는 이력서 보기에서 확인하세요.

학력

광운대학교 대학원 · 석사 로봇학과 (지능 시스템) · 스케치 실사화를 위한 Multi Label Discriminator Generative Adversarial Nets
2017.03–2019.02
광운대학교 · 학사 전자정보공과대학 로봇학부 지능시스템전공
2010.03–2017.02
강서고등학교 · 고등학교
2007.03–2010.02