본문으로 이동
DLDevelopment Lab책을 읽고, 직접 만드는 실험실
자료실

12장 · 저자 검증 기록

11장을 끝낸 프로젝트에서 12장 요청문만으로 Database와 Cache 적용까지 도달 프로젝트 전체 Test 113개 통과(이 장에서 새로 생긴 것 13개) · 실제 서비스 주소에서 측정 최종 확인 2026-08-31

실제로 만들어봤습니다

책에 인쇄된 요청문만으로 11장에서 만든 AI 브리핑 서비스를 같은 일을 덜 반복하는 구조로 바꿀 수 있는지 확인했습니다.

  • 요청문은 책 12장에 나오는 문장을 글자까지 그대로 썼습니다.
  • 12장은 11장을 이어가는 장이므로 11장을 끝낸 프로젝트에서 시작했습니다.
  • 책에 없는 추가 지시를 보태지 않았습니다.

12장의 완료 기준은 여섯 가지입니다. 전부 통과했습니다.

확인 항목결과
1같은 주식 데이터를 다시 요청하면 저장된 값을 쓰고 금융위원회를 다시 부르지 않는다통과
2유효시간이 지난 값은 그대로 쓰지 않고 원본에서 다시 확인한다통과
3같은 근거·같은 모델이면 저장된 브리핑을 돌려주고 Gemini를 다시 부르지 않는다통과
4근거나 모델, 주요 프롬프트가 바뀌면 이전 결과를 재사용하지 않는다통과
5사용량 한도에 도달한 동안 추가 호출이 나가지 않고 브리핑 버튼이 막힌다통과
6빨라진 뒤에도 11장에서 정한 브리핑 품질 기준이 그대로 유지된다통과

응답시간은 컴퓨터와 네트워크, 서비스 상태에 따라 달라집니다. 그래서 확인한 것은 책과 같은 숫자가 나오는지가 아니라 반복 요청에서 외부 호출과 AI 생성이 실제로 줄어드는지입니다.

완성된 결과를 공개합니다

무엇어디
12장을 끝낸 프로젝트chapters/ch12/source/ai-stock-briefing/
12장 요청문chapters/ch12/prompts.md
적용 전후 측정 결과 요약artifacts/measurement-summary.txt
측정 원자료artifacts/production-measurement-icn1.json
빈 폴더에서 돌린 Test 실행 결과artifacts/source-test-run.txt

장별 Source를 빈 폴더에 단독으로 놓고 준비와 빌드, Test 실행, 실제 화면 확인까지 했습니다.

자동 검사도 해봤습니다

개수
12장 Source에서 돌린 검사 전체113개
이 장에서 새로 생긴 검사13개

돌린 검사 코드는 12장 Source 안에 있습니다. 9장부터 11장까지 만든 검사도 함께 다시 돌렸습니다.

이 장에서 새로 생긴 검사는 세 파일에 있습니다.

파일무엇을 확인하는가새 검사
tests/briefing-actions.test.ts한도에 도달하면 다시 부를 수 있는 시간까지 Gemini를 부르지 않는 것, 그 시간을 알 수 없으면 화면에 시간을 확정해 보여주지 않는 것, 한도 오류와 일반 오류를 구분하는 것, 한도 중에도 저장된 결과는 그대로 쓰는 것, 검증을 통과하지 못한 답은 저장되지 않고 통과한 답만 다시 쓰이는 것6개
tests/gemini-briefing-api.test.ts한도 응답에서 다시 부를 수 있는 시간을 헤더와 응답 본문 두 곳에서 읽는 것, 어디에서도 확인할 수 없으면 시간을 만들어내지 않는 것, 한도 오류 문구에 Gemini 원문이나 API Key가 섞이지 않는 것4개
tests/server-only-key.test.ts오류 메시지에서 Secret 값을 지우는 것, 지울 값이 없으면 원문을 그대로 두는 것, Cache 오류에서 접속 주소와 Token을 모두 지우는 것3개

전체 검사 목록과 실행 결과는 artifacts/source-test-run.txt에 있습니다.

저자는 검사와 별도로 실제 서비스 주소에서 직접 측정했습니다. 같은 종목을 같은 조건으로 반복 요청해 적용 전과 적용 후를 각각 다섯 번씩 재고, 최초 저장 한 번과 최초 생성 한 번은 비교값에서 뺐습니다.

무엇을 확인했나결과
주식 데이터 응답시간1.339초 → 0.088초 (93.4% 단축, 약 15.3배)
AI 브리핑 응답시간3.350초 → 0.076초 (97.7% 단축, 약 44.3배)
반복 요청의 금융위원회 호출25회 → 0회
반복 요청의 Gemini 호출5회 → 0회
반복 요청의 Gemini Token30,236개 → 0개
저장된 값의 유효시간이 지난 뒤원본에서 다시 가져와 저장 데이터를 갱신
저장된 브리핑의 유효시간1시간
저장된 브리핑을 다시 쓸 때의 내용처음 만든 브리핑과 같은 문장, 알 수 없는 것 표시도 그대로
저장된 데이터를 정리할 때유효시간이 지난 것만 지우고 다른 자료는 그대로

값은 artifacts/에 있습니다.

공식 자료와 비교했습니다

저장한 데이터를 다시 쓰더라도 원본은 그대로 공식 자료입니다. 저장은 같은 값을 다시 받아오지 않기 위한 것이고, 유효시간이 지나면 아래 공식 자료에서 다시 확인합니다.

금융위원회 주식시세정보 · 지수시세정보 (공공데이터포털) https://www.data.go.kr

금융감독원 OpenDART https://opendart.fss.or.kr

Token 사용량은 Gemini 응답이 알려준 실제 값이고, 비용 환산은 공식 가격 안내의 단가를 그대로 적용했습니다.

Gemini API 가격 안내 https://ai.google.dev/gemini-api/docs/pricing

1회 요청에서 실제로 사용한 Token은 입력 4,998개와 출력 1,019개였습니다. 같은 조건의 요청이 100번 들어온다고 단순하게 가정하면 100번 모두 새로 만들 때 약 60만 Token이 필요하고, 처음 한 번만 만들면 6,017개로 끝납니다. 같은 단가로 환산하면 $0.41에서 $0.004로 약 99% 줄어듭니다.

이 숫자는 1회 실측값을 99회에 환산한 예시이고, 100번을 모두 실행해 합산한 값은 아닙니다.

직접 확인해볼 수 있습니다

만들어보실 때는 책의 12장을 그대로 따라 하시면 됩니다. 요청문은 chapters/ch12/prompts.md에 책에 나오는 순서대로 있습니다.

12장 Source를 받아 자기 인증키와 접속 정보를 넣으면 같은 검사를 그대로 돌려볼 수 있습니다.

이 폴더는 책 12장을 끝낸 상태의 프로젝트야.
내 인증키와 Database, Cache 접속 정보를 넣을 자리를 알려주고
Test를 전부 실행해서 결과를 보여줘.

저장된 값을 정말 다시 쓰는지 직접 재볼 수 있습니다.

같은 종목 화면을 두 번 열고 각각 걸린 시간을 보여줘.
두 번째에 금융위원회와 Gemini를 다시 불렀는지 아닌지도 알려줘.

유효시간이 지난 값을 다시 확인하는지도 볼 수 있습니다.

저장된 주식 데이터 한 건만 유효시간이 지난 것으로 바꾸고 다시 조회해줘.
원본에서 다시 가져왔는지, 다른 저장 데이터는 그대로인지 확인해줘.

조건이 바뀌면 브리핑을 새로 만드는지도 확인할 수 있습니다.

브리핑에 쓰는 근거를 한 군데만 바꿔서 다시 요청해줘.
저장된 이전 브리핑을 쓰는지, 새로 만드는지 알려줘.

이런 한계가 있습니다

  • 응답시간은 환경에 따라 달라집니다. 컴퓨터와 네트워크, 서버와 Database의 위치, 그때의 서비스 상태에 따라 값이 바뀝니다. 같은 숫자가 나오지 않는 것이 정상입니다.
  • 100번 환산은 가정입니다. 1회 실측값을 99회에 환산한 예시이며, 실제 호출 횟수와 사용량은 데이터 구성과 모델, 입력·출력, 가격 정책에 따라 달라집니다.
  • 비용은 추정치입니다. 무료 사용 범위에서 실제로 청구된 금액이 아니라, 실제 Token 측정값에 공식 유료 단가를 적용한 값입니다.
  • 저장된 값은 최신 값이 아닐 수 있습니다. 유효시간 안에는 저장된 값을 그대로 쓰므로 화면의 데이터 기준일을 함께 확인합니다.
  • 저장된 브리핑은 같은 문장이 다시 나옵니다. 근거와 모델이 같은 동안에는 새 표현으로 바뀌지 않습니다.
  • Gemini의 모델과 무료 사용 범위, 호출 한도는 바뀔 수 있습니다. 사용할 수 있는 모델과 내 사용량은 Google AI Studio의 공식 안내에서 확인합니다.
  • Supabase와 Upstash의 무료 제공량과 화면은 바뀔 수 있습니다. 실습 시점의 화면과 공식 안내를 기준으로 판단합니다.
Development Lab아이디어를 AI와 함께 나만의 결과물로 만듭니다.

책에서 배운 개발 원칙을 AI와 직접 만들며 확인하는 실험실입니다. 아이디어를 서비스로, 서비스를 나만의 결과물로. AI와 함께 만들고, 직접 확인하며, 내 손으로 완성합니다.

자료실튜터 안내업데이트
SAStudy AI LabILInvestment LabDLDevelopment Lab

© 2026 Study AI Lab. All rights reserved.