AI가 직접 분석 코멘트를
써주는 진짜 비밀병기
단순 차트 뷰어 → 진짜 AI 분석 도구로
🎯 이번 강의의 목표
차트 아래에 "이 회사는 매출은 늘었지만 영업이익률은 하락 추세입니다" 같은 AI 분석 코멘트가 자동으로 뜨게 만듭니다. 종목코드 하나 입력하면 Claude가 직접 재무·주가 데이터를 읽고 분석문을 써줍니다.
💎 이번 편이 시리즈의 하이라이트입니다
지금까지 만든 건 "네이버 금융 따라하기"였다면, 5편을 마치면 네이버 금융엔 없는 기능을 가진 진짜 차별화된 도구가 됩니다.
📌 이번 편 순서
- Claude API Key 발급받기 (5분)
- 백엔드에 AI 분석 엔드포인트 추가 (15분)
- 프롬프트 설계 — AI에게 좋은 질문하기 (10분)
- 프론트엔드에 AI 분석 박스 추가 (10분)
- 로딩·에러 처리 (5분)
- 비용 관리 — 돈 새는 일 막기 (5분)
잠깐, 핵심 개념부터
처음 듣는 용어가 나올 수 있습니다. 3가지만 알고 갑시다.
🤖 Claude API
평소 우리가 채팅으로 쓰던 Claude를 프로그램 안에서 자동으로 부를 수 있게 해주는 통로. 사람이 직접 채팅창에 안 쳐도, 내 프로그램이 Claude에게 자동으로 질문하고 답변을 받아옵니다.
💬 프롬프트 (Prompt)
Claude에게 보내는 질문 또는 지시문. 프롬프트의 품질이 답변 품질을 100% 결정합니다. "분석해줘"보다 "이 회사 매출 추이를 보고 3줄로 평가해줘"가 훨씬 좋습니다.
💰 토큰 (Token)
Claude API는 사용한 만큼 돈이 나가는데, 그 단위가 토큰입니다. 대략 한글 1글자 = 약 2토큰. 질문(입력) + 답변(출력) 둘 다 토큰 소모. 한 번 분석에 보통 50~200원 수준이라 부담 없습니다.
STEP 1. Claude API Key 발급받기
Anthropic 콘솔에 가서 키를 발급받습니다.
1-2. 결제수단 등록
좌측 메뉴 [Plans & Billing] → 신용카드 등록 후 $5~10 정도 충전. 이 정도면 수백 번 분석 가능합니다.
1-3. API Key 생성
좌측 메뉴 [API Keys] → [Create Key] → 이름은 "stock-analyzer"처럼 적당히. 생성된 키는 sk-ant-api03-...으로 시작합니다.
⚠️ 중요: 키는 생성 시점에만 전체 표시됩니다. 지금 바로 메모장에 복사해두세요. 창을 닫으면 다시 못 봅니다 (새로 만들어야 함). 그리고 절대 SNS·블로그·GitHub에 올리지 마세요. 키가 유출되면 누군가 여러분 돈으로 Claude를 씁니다.
STEP 2. .env에 키 추가하기
2편에서 만든 backend/.env 파일을 엽니다. DART_API_KEY 아래에 한 줄 추가:
ANTHROPIC_API_KEY=sk-ant-api03-...
저장(Ctrl+S) 누르고 끝.
STEP 3. 환경 다시 가동
컴퓨터를 껐다 켰다면:
VS Code 터미널 두 개 열고:
cd backend
uvicorn main:app --reload
cd frontend
npm run dev
STEP 4. 백엔드에 AI 분석 엔드포인트 추가
세 번째 터미널을 열어서 (백엔드·프론트엔드 서버 둘 다 켜둔 채로) Claude Code 실행.
4-1. Claude Code 실행
claude
4-2. Claude SDK 설치 명령
먼저 라이브러리 설치:
4-3. AI 분석 API 만들기
아래 명령을 그대로 복사해서 Claude에게 붙여넣으세요.
/api/analyze/{stock_code} 엔드포인트를 추가해줘.동작:
1. 종목코드를 받으면 내부적으로
/api/financials/{stock_code}와 /api/price/{stock_code}를 호출해서 데이터 수집2. 수집한 데이터를 Claude API에 보내서 분석 코멘트 생성 요청
3. 결과를 JSON으로 반환 (분석문 본문 + 핵심 요약 3줄)
Claude API 호출 시 요구사항:
- 모델:
claude-sonnet-4-6- max_tokens: 1024
- API key는 .env의
ANTHROPIC_API_KEY에서 읽기- 시스템 프롬프트와 사용자 프롬프트는 별도로 분리해서 작성
- 응답에서 텍스트만 추출해서 반환
✅ Claude가 코드 작성 끝내면 백엔드가 자동으로 재시작됩니다 (uvicorn의 --reload 옵션 덕분).
STEP 5. 프롬프트 설계 — 진짜 핵심
여기가 5편 전체의 가장 중요한 부분입니다. Claude가 짠 기본 프롬프트는 평범할 수 있습니다. 우리만의 프롬프트로 업그레이드합시다.
💡 프롬프트는 사람을 채용하는 것과 같습니다. "분석해줘" = 인턴에게 "알아서 해" / 좋은 프롬프트 = 시니어 분석가에게 명확한 보고서 가이드를 주는 것.
5-1. 프롬프트 업그레이드 명령
아래 명령을 Claude Code에 붙여넣으세요.
/api/analyze 엔드포인트의 프롬프트를 아래 내용으로 교체해줘.시스템 프롬프트:
"당신은 한국 주식 시장을 깊이 이해하는 재무 분석 전문가입니다. 객관적인 데이터에 기반해 분석하되, 일반 투자자도 이해할 수 있는 쉬운 언어로 설명합니다. 투자 권유는 절대 하지 않고, 사실에 기반한 관찰만 제공합니다."
사용자 프롬프트 구조:
아래 데이터를 보고 다음 4개 섹션으로 분석해줘.
[재무제표 데이터]
{재무제표 JSON 삽입}
[주가 데이터 (최근 1년)]
시작가: {1년전 종가}
현재가: {최근 종가}
최고가: {1년 최고가}
최저가: {1년 최저가}
분석 섹션:
1. 📈 매출·수익성 트렌드 (2~3문장)
2. 💰 재무 건전성 코멘트 (2~3문장)
3. 📊 주가와 실적의 상관관계 (2~3문장)
4. ⚠️ 투자자가 주목할 포인트 (2~3문장, 위험요소 포함)
각 섹션은 위 이모지와 제목 그대로 시작해줘. 마크다운 형식으로 작성. 마지막에 "※ 이는 AI의 데이터 기반 분석이며, 투자 결정은 본인의 판단입니다." 면책 문구를 반드시 추가.
💡 왜 이렇게 자세하게?
"분석해줘" 한 마디 vs 위 프롬프트 → 답변 품질이 10배 차이납니다. 섹션을 명시하면 답변이 들쑥날쑥하지 않고 매번 같은 구조로 나옵니다. 면책 문구는 법적 안전장치이기도 합니다.
STEP 6. 백엔드 테스트
프론트엔드 손대기 전에 백엔드부터 확인합시다.
6-1. 브라우저에서 직접 호출
주소창에:
→ /api/analyze/{stock_code} 클릭 → Try it out → 005930 입력 → Execute.
10~20초 기다리면 응답이 옵니다. (Claude가 생각하는 시간) 분석 텍스트가 4개 섹션 구조로 잘 나오면 백엔드 성공.
"analysis": "📈 매출·수익성 트렌드
삼성전자의 매출은 2022년 302조에서 2023년 258조로 감소했으나...
💰 재무 건전성 코멘트
..."
}
STEP 7. 프론트엔드에 AI 분석 박스 추가
백엔드는 됐으니 이제 화면에 표시합시다.
7-1. frontend 폴더에서 Claude Code 실행
claude
7-2. AI 분석 박스 추가 명령
구성:
1. 좌우 차트 영역 아래 가로 전체 폭
2. 박스 제목: "🤖 AI 분석 코멘트"
3. 조회 버튼 누르면
/api/analyze/{종목코드}를 호출해서 결과 표시4. 마크다운 형식의 응답을 보기 좋게 렌더링 (react-markdown 라이브러리 사용)
5. 박스 디자인: 흰 배경, 둥근 모서리, 살짝 그림자, 주황색(#c2410c) 좌측 보더 4px
6. 본문 글씨는 line-height 1.8로 읽기 편하게
필요한 라이브러리 설치 명령어도 알려줘.
7-3. 라이브러리 설치
Claude가 안내한 대로:
STEP 8. 로딩 상태 처리하기
AI 분석은 10~20초 걸립니다. 그 동안 화면이 멈춘 듯 보이면 사용자가 답답합니다.
8-1. 로딩 UX 추가
1. 조회 버튼 누르면 박스에 회전 스피너 + "🤖 AI가 분석 중입니다... (약 15초 소요)" 메시지 표시
2. 점진적으로 메시지 변경: "재무 데이터 수집 중..." → "주가 추이 분석 중..." → "최종 코멘트 작성 중..." (3초 간격)
3. 응답 오면 스피너 사라지고 분석 결과로 자연스럽게 전환
4. 차트는 분석 끝나기 전에 미리 표시 (분석만 늦게 와도 차트는 빠르게 보이게)
💡 UX 팁: "분석 중" 메시지를 단계별로 바꾸기만 해도 체감 속도가 절반으로 느껴집니다. 사람은 정지된 화면에 답답해하지만, 뭔가 변하고 있으면 기다립니다.
STEP 9. 브라우저에서 확인 🎉
브라우저에서 http://localhost:5173 새로고침.
- 005930 입력 → 조회 클릭
- 차트는 빠르게 뜸 (몇 초)
- AI 분석 박스는 "분석 중" 메시지 표시
- 15초 후 → 4개 섹션의 AI 분석문이 보기 좋게!
🎉 진짜 AI 분석 도구 완성!
이제 여러분이 만든 건
네이버 금융엔 없는 진짜 차별화된 도구입니다.
STEP 10. 비용 관리 — 매우 중요!
Claude API는 사용한 만큼 돈이 나갑니다. 안전장치를 만듭시다.
10-1. 콘솔에서 한도 설정
console.anthropic.com → [Plans & Billing] → [Cost limit]에서 월간 한도를 설정. 입문자는 $10/월 정도로 시작.
10-2. 캐싱 기능 추가 (선택)
같은 종목을 여러 번 분석하면 매번 돈이 나갑니다. 1시간 캐싱:
/api/analyze 엔드포인트에 1시간 캐싱을 추가해줘. 같은 종목코드 1시간 내 재요청 시 Claude API를 다시 호출하지 말고 저장된 분석을 반환. 메모리 캐시면 충분 (파이썬 dict 사용).
10-3. 사용량 확인
콘솔의 [Usage] 메뉴에서 일별·시간별 사용량 확인 가능. 분석 한 번에 보통 50~200원입니다.
STEP 11. 검증하기
AI 분석이 그럴듯해 보여도 사실 확인은 사람이 해야 합니다.
⚠️ AI 환각(Hallucination): Claude가 가끔 데이터에 없는 정보를 그럴듯하게 만들어낼 수 있습니다. "삼성전자가 작년에 반도체 공장을 인수했다" 같은 거짓 정보가 나올 수 있어요.
검증 체크리스트:
- 분석문에 나오는 구체적 숫자가 우리 차트의 숫자와 일치하는가?
- 데이터에 없는 외부 사실(인수, 합병, 신제품 등)을 언급하면 의심
- 투자 권유("매수 추천", "오를 가능성 높음")가 들어가면 프롬프트 다시 점검
이상한 분석이 나오면 Claude에게:
자주 발생하는 에러 해결법
❌ "Invalid API Key" 또는 "Authentication Error"
→ .env의 키가 잘못됐을 가능성. 앞뒤 공백, 따옴표 확인. sk-ant-api03-으로 시작하는지도 확인. 백엔드 서버 재시작 (Ctrl+C 후 다시 실행).
❌ "Credit balance is too low"
→ Anthropic 계정 잔액 부족. 콘솔에서 충전 ($5 정도).
❌ 분석 결과가 영어로 나옴
→ 프롬프트에 "반드시 한국어로 답변" 한 줄을 추가하라고 Claude에게 요청.
❌ 분석문이 마크다운 그대로 (별표·#가 보임)
→ react-markdown이 적용 안 됨. "AI 분석 박스의 텍스트를 ReactMarkdown 컴포넌트로 감싸서 마크다운으로 렌더링해줘"
❌ 분석 응답이 너무 짧거나 잘림
→ max_tokens가 너무 작음. Claude에게 "max_tokens를 2048로 늘려줘".
응용해보기 — 한 단계 더
🆚 종목 비교 분석
"두 종목을 동시에 입력하면 AI가 두 회사를 비교 분석하는 기능을 추가해줘. 예: '삼성전자 vs SK하이닉스'."
💬 후속 질문 기능
"AI 분석 박스 아래에 '추가 질문' 입력창을 만들어서, '왜 영업이익이 줄었나요?' 같은 후속 질문을 자유롭게 할 수 있게 해줘."
📥 PDF 리포트 다운로드
"오른쪽 상단에 'PDF 다운로드' 버튼을 추가해서, 차트와 AI 분석을 합쳐 한 장의 PDF 리포트로 저장할 수 있게 해줘."
오늘 배운 것 정리
- ✅ Claude API Key 발급 + 비용 한도 설정
- ✅ 백엔드에서 Claude API 호출하기
- ✅ 프롬프트 설계 — 시스템/사용자 분리, 구조화된 출력
- ✅ 마크다운 응답 렌더링 (react-markdown)
- ✅ 로딩 UX 처리 — 단계별 메시지 변경
- ✅ 비용 절감 — 캐싱과 한도 설정
- ✅ AI 환각 검증 방법
이제 여러분의 도구는 단순히 데이터를 보여주는 차트가 아닙니다. AI가 직접 읽고, 생각하고, 분석문을 써주는 진짜 분석 도구입니다. 시중에 이런 거 만들면 월 구독료 받고 팝니다.
다음 편 예고
📺 6편 (최종편): 검증·디버깅·인터넷에 배포하기
지금까지는 내 컴퓨터에서만 도는 프로그램이었습니다. 6편에서는 GitHub에 코드 올리고, Vercel과 Railway로 인터넷에 무료 배포해서 친구·가족 누구나 인터넷 주소로 접속할 수 있게 만듭니다. 시리즈의 화룡점정!
📌 이번 주 미션
관심 종목 5개의 AI 분석을 받아본 후,
네이버 금융이나 증권사 리포트와 비교해보세요.
어디가 비슷하고 어디가 다른지 발견하는 게 진짜 학습입니다.
ATOZAI · 실전 구축기 · 5편