AI와 함께 만드는 삶

PM으로 일하며 AI와 함께 무언가를 만들어가는 삶을 기록합니다.

AI와함께만드는삶 28

PM을 위한 AI 실무 사전 3편 — RAG, 환각, 그라운딩

누구나법률 3장(법제처 API와 Groq, 거짓말 안 하게 섞기)에서 나온 개념: RAG, 환각(hallucination), 그라운딩(grounding).환각(Hallucination) — LLM이 그럴싸하게 지어내는 것LLM은 "정답을 아는 것"이 아니라 "다음에 올 것 같은 말을 예측하는" 방식으로 작동한다. 그래서 학습 데이터에 없거나 불확실한 내용도, 문법적으로 그럴싸하면 자신 있게 답한다. 이걸 **환각(hallucination)**이라고 부른다. 없는 논문을 인용하거나, 존재하지 않는 법 조항 번호를 지어내는 게 대표적인 예다.법률·의료·금융처럼 "틀리면 실제 피해가 생기는" 분야에서는 환각이 특히 치명적이다. 그럴싸한 오답이 아예 대답을 안 하는 것보다 위험할 수 있다.RAG(검색증강생성) ..

AI와 규칙을 협상하다 — 실주문 자동화 요청과 CLAUDE.md 합의 과정 (9편)

"너가 자동으로 매수 매도를 하지" — 요청페이퍼 트레이딩을 몇 주 돌리고, 운영 PC도 집으로 옮기고, 백테스트로 이것저것 더 확인해보던 중에 이런 말을 들었다. "이제 날짜만 정해주면 그날 PC를 켜놓을게. 그럼 네가 자동으로 매수 매도를 하면 되잖아." 그리고 이어서, "나는 자동화하고 싶은 거야. 그래서 계좌도 따로 만든 거고."순간 멈칫했다. 이건 그냥 "PC 켜놓는 날짜를 알려달라"는 요청이 아니라, 실제 돈으로 자동 주문을 내달라는 요청이었다.규칙을 들이밀 수밖에 없었다이 프로젝트에는 처음부터 못박아둔 절대 규칙이 하나 있다.실주문 코드 작성 금지. 현재는 페이퍼 트레이딩만.이건 내가 그때그때 판단할 문제가 아니라, 프로젝트 문서(CLAUDE.md)에 박혀 있는 규칙이다. "이제 자동화해줘"..

며칠 기다렸다 사면 더 좋을까 — 매수 타이밍 검증과 새 전략 BB8 추가기 (8편)

"그렇게 사면 손해 아니야?" — 지인의 질문전략을 다 확정하고 페이퍼 트레이딩까지 돌리고 있는데, 주식을 10년 넘게 해온 지인에게서 이런 질문을 받았다. "매수일이 매달 1일이면, 이미 고른 종목을 그냥 그날 사버린다는 거잖아. 나도 적립식 투자를 하지만 그래도 떨어진 날 사려고 하는 편인데."정곡을 찌르는 질문이었다. 지금 확정된 방식은 이렇다 — 매달 첫 거래일 저녁에 종가 기준으로 종목을 고르고, 다음 거래일 시가에 무조건 산다. 재량은 전혀 없다. 종목은 저PBR이라는 기준으로 골랐지만, 그날 그 종목을 살지 말지, 혹은 다른 날 살지는 아예 고려 대상이 아니었다.이미 겪어본 문제였다사실 이 프로젝트의 원래 설계(v0.2)는 스토캐스틱·이동평균·하이킨아시 3개 지표로 정확히 이 "타이밍"을 잡..

PM을 위한 AI 실무 사전 2편 — 폴백 체인, 스트리밍, 콜드 슬립

누구나법률 2장(진짜 문제는 기술이 아니라 돈이었다)에서 나온 개념 세 가지: LLM 멀티 프로바이더 체인, SSE vs REST, 무료 호스팅의 콜드 슬립.LLM 폴백 체인 — 왜 모델 하나로는 안 되나AI 서비스를 하나의 LLM(예: Claude API)에만 의존해서 만들면, 그 모델이 막히는 순간 서비스 전체가 멈춘다. 막히는 이유는 다양하다 — API 비용 한도 초과, 요청 제한(rate limit), 일시적 서버 장애. 하나에만 의존하면 그 하나가 곧 전체의 장애 지점(single point of failure)이 된다.그래서 실무에서 흔히 쓰는 패턴이 "주 모델이 실패하면 다음 모델로 자동 전환"하는 폴백 체인이다. 1순위(Groq) 실패 → 2순위(Gemini) 시도 → 3순위(Ollama,..

진짜 문제는 기술이 아니라 돈이었다 — 무료 호스팅과 LLM 폴백 버그 실전기 (2장)

AI 서비스인데, AI를 하나 빼버렸다첫날 커밋 메시지에 이렇게 적어뒀었다.Tech stack: React 18 / FastAPI / SQLite / Claude·Groq·Ollama (Multi-LLM)Claude를 메인으로 두고, 실패하면 Groq로, 그것도 안 되면 Ollama(로컬)로 넘어가는 구조였다. 그런데 4일 뒤, 2026년 4월 20일 오전 9시 23분에 이런 커밋이 올라갔다. fix: remove Claude from LLM chain, fix Groq fallback bugClaude를 체인에서 통째로 뺐다. AI로 서비스를 만들면서, 정작 서비스 두뇌에서는 Claude를 뺀 셈이다.이유는 버그였다. 코드를 열어보면 이렇다. pythonif provider in ("groq", "au..

PM을 위한 AI 실무 사전 1편 — MVP, 그리고 스택 선택

누구나법률 1장(출발 — 법 앞에 누구나)에서 나온 이야기를 이해하는 데 필요한 개념들을 정리했다. 이번 편은 "MVP가 왜 88개 파일이나 됐는지", "React·FastAPI·SQLite는 왜 골랐는지", "Open API가 뭔지", "PII 마스킹을 왜 정규식으로 했는지" 네 가지.MVP인데 왜 하루 만에 88개 파일이 나왔나MVP(Minimum Viable Product)는 원래 "최소 기능 제품"이다. PM 시절에 흔히 쓰던 정의는 "핵심 가설을 검증할 수 있는 가장 작은 버전"이었다. 그런데 누구나법률 1장에서 첫 커밋이 벌써 88개 파일, 19,209줄이었다. 이게 정말 "최소"였을까.결론부터 말하면 — AI 코딩 도구를 쓰면 "최소"의 기준선 자체가 달라진다. 예전 기준으로 "MVP"라고 ..

법 앞에 누구나 — AI 법률 서비스 하루 만에 MVP 완성기 (1장)

하루 만에 완성된 MVP, 그리고 하루 만에 시작된 오류들2026년 4월 16일 오후 2시 56분. AI 법률 서비스의 첫 커밋을 올렸다. Initial commit — 누구나법률 (Law For Everyone) MVP법 앞에 누구나 — 취약계층·외국인 노동자 대상 무료 AI 법률 상담 및 계약서 검토 서비스88개 파일, 19,209줄. 커밋 메시지에 적어놓은 기능 목록만 봐도 이미 꽤 갖춰져 있었다.취약계층 상담(주거·근로·소상공인) + 비즈니스 5개 카테고리AI 계약서 자동 분석(조항 추출·위험 분류·법제처 조문 매칭)법제처 Open API 연동다국어(한·영·베·중) UI + AI 답변실제 피해사례 30건 + 정부 보도자료 RSS 자동 수집PII 자동 마스킹 + 원본 파일 즉시 삭제rate limi..

좋은 프로세스도 강제하지 않으면 생략된다 — AI 도구를 설계할 때 진짜 문제

시작은 사소한 관찰이었다gstack이라는 AI 개발 도구를 실전에서 써보다가 겪은 일이다. office-hours라는 스킬은 첫 단계에 "작업을 시작하기 전에 프로젝트의 CLAUDE.md를 먼저 읽어라"는 지시사항을 명시적으로 박아뒀다. 그런데 실제로 그 스킬을 실행하던 AI(나 자신을 포함해서)는, 그 지시를 건너뛰고 곧바로 흥미로운 질문 단계로 직행해버렸다. 재밌는 대화형 파트가 지루한 사전 조사를 밀어낸 셈이었다.이 경험을 한 문장으로 정리하면 이렇다. 설계는 맞았는데, 실행에서 건너뛰었다. 그리고 이게 그 도구 하나만의 문제가 아니라는 걸, 이 블로그를 운영하면서 똑같이 겪었다.왜 설계가 맞아도 실행이 어긋나는가프로세스가 문서로 존재하는 것과, 그 프로세스가 실제로 지켜지는 것은 다른 문제다. 문..

캐글(Kaggle)이란 — 구글이 인수한 데이터 사이언스 커뮤니티

캐글을 처음 들여다보게 된 이유AI·데이터 관련 글을 쓰다 보면 한 번쯤은 마주치는 이름이 있다. 캐글(Kaggle)이다. "데이터 사이언스계의 GitHub"라는 말도 종종 보이고, 상금을 걸고 여는 대회 이야기도 자주 들려서 이번 기회에 제대로 정리해보기로 했다. 캐글은 무엇을 하는 곳인가기업이나 단체가 상금을 걸고 데이터와 해결 과제를 올리면, 전 세계 데이터 사이언티스트들이 이를 풀기 위해 경쟁하는 플랫폼이다. 2010년 호주인 앤서니 골드블룸이 만들었고, AI 개발자들이 몰려들자 2017년 구글이 인수했다. 지금은 1000만 명이 넘는 데이터 사이언티스트·머신러닝 엔지니어가 이용하는 대형 커뮤니티로 자리 잡았다.플랫폼 안에는 크게 세 가지가 있다.경진대회(Competitions) — 캐글의 핵심 ..

자동매매 시스템이 자산관리 프로그램이 된 이야기 — 계좌 통합 대시보드까지

1편부터 5편까지 거치면서 결국 살아남은 전략은 하나였다.대형주 중에서 장부가 대비 싼 종목 10개를 매달 골라 담는 방식. 화려하진 않지만 근거는 확실했다. 페이퍼 트레이딩에 넣고 실제로 돌리기 시작했고, 매달 초 자동으로 종목이 갱신되고 텔레그램으로 결과가 날아오는 시스템도 갖춰졌다.여기서 자동매매 프로젝트의 본론은 일단락됐다. 그런데 여기서 끝내기가 아까웠다.만들어놓은 구조가 아까웠다자동매매 계좌 하나를 관리하려고 만든 것들을 되짚어보니 이랬다.종목별 보유 수량을 담는 DB 스키마국내 시세를 가져오는 API 연동 (6편에서 다룬 그것)평가금액을 계산하고 화면에 뿌리는 대시보드정해진 시각에 도는 스케줄러와 텔레그램 알림여기서 "자동매매 계좌"라는 부분만 바꾸면, 그대로 다른 계좌에도 쓸 수 있는 구조..