2026. 1. 31. 07:10ㆍ카테고리 없음

🚀 3초 요약: DeepSeek가 GPT보다 낫다?
- 무료 로컬 AI DeepSeek-R1에게 파이썬 코딩을 시켜보았습니다.
- 주제: GUI 로또 번호 생성기 (Tkinter)
- 결과: GPT-4o보다 속도는 느리지만, '사고 과정(Thinking)' 덕분에 에러 없는 완벽한 코드를 짭니다.
안녕하세요. 로컬 AI 연구소, Smart AI Navi입니다.
지난 포스팅에서 DeepSeek(딥시크) 설치법과 속도 최적화를 다뤘습니다. 이제 환경 구축은 끝났으니, 본격적으로 이 녀석의 '코딩 실력'을 검증해 볼 차례입니다.
주말을 맞아 가벼운 프로젝트를 하나 던져주었습니다.
"야, 이번 주 로또 번호 좀 뽑아봐. 그냥 텍스트 말고, 클릭해서 뽑는 프로그램으로 만들어줘."
과연 내 컴퓨터에 설치된 무료 AI가 이 미션을 수행할 수 있을까요? 결과는 충격적이었습니다.
Phase 1. 논리력 테스트 (Strawberry 문제)
코딩에 앞서, 전 세계적으로 유명한 AI 벤치마크 질문인 'Strawberry 테스트'를 먼저 진행했습니다.
기존 LLM들의 실수:
대부분의 AI는 단어를 통째로 인식(Tokenization)하기 때문에 "2개"라고 오답을 내놓는 경우가 많습니다.
DeepSeek-R1의 답변 과정:
하지만 R1 모델은 <think> 태그를 열고 스스로 검산합니다.
Let's count manually.
S-t-r (1)
a-w
b-e-r (2)
r (3)
y.
So the total count is 3.
정확합니다. 이 '생각하는 능력(Reasoning)'이 바로 코딩에서 버그를 줄여주는 핵심 기술입니다.
Phase 2. 파이썬 로또 생성기 만들기
이제 본게임입니다. 파이썬의 기본 GUI 라이브러리인 Tkinter를 사용해 프로그램을 짜달라고 했습니다.
"Create a Python script using Tkinter for a 'Lotto Number Generator'.
1. It needs a 'Generate' button.
2. Pick 6 random numbers (1-45) and 1 bonus number.
3. Sort the main numbers.
4. Draw colorful balls on a canvas for the numbers.
5. Make the UI look modern and clean."
DeepSeek가 작성한 코드 (100% 무수정)
놀랍게도 단 한 번의 에러도 없이 실행되었습니다. 특히 공을 그리는 Canvas 좌표 계산 부분이 완벽했습니다.
import tkinter as tk
from tkinter import font
import random
class LottoGenerator:
def __init__(self, root):
self.root = root
self.root.title("DeepSeek AI Lotto Generator")
self.root.geometry("600x450")
self.root.configure(bg="#f0f0f0")
# 타이틀 라벨
title_font = font.Font(family="Helvetica", size=24, weight="bold")
self.label = tk.Label(root, text="Lotto 6/45 Generator", font=title_font, bg="#f0f0f0", fg="#333")
self.label.pack(pady=30)
# 공이 그려질 캔버스 영역
self.canvas = tk.Canvas(root, width=550, height=100, bg="white", bd=0, highlightthickness=0)
self.canvas.pack(pady=20)
# 생성 버튼
btn_font = font.Font(size=14, weight="bold")
self.btn = tk.Button(root, text="번호 추첨하기 (Generate)", command=self.generate_numbers,
bg="#4CAF50", fg="white", activebackground="#45a049",
font=btn_font, padx=20, pady=10, relief="flat")
self.btn.pack(pady=30)
def generate_numbers(self):
# 번호 추출 로직 (1~45 중 7개)
nums = random.sample(range(1, 46), 7)
main_nums = sorted(nums[:6])
bonus_num = nums[6]
self.draw_balls(main_nums, bonus_num)
def get_color(self, num):
# 로또 공식 색상 적용
if num <= 10: return "#fbc400" # 노랑
elif num <= 20: return "#69c8f2" # 파랑
elif num <= 30: return "#ff7272" # 빨강
elif num <= 40: return "#aaaaaa" # 회색
else: return "#b0d840" # 초록
def draw_balls(self, main_nums, bonus_num):
self.canvas.delete("all")
start_x = 30
y = 50
radius = 30
gap = 10
# 메인 번호 6개 그리기
for i, num in enumerate(main_nums):
x = start_x + i * (radius * 2 + gap)
color = self.get_color(num)
# 원 그리기
self.canvas.create_oval(x, y-radius, x+radius*2, y+radius, fill=color, outline=color)
# 숫자 쓰기
self.canvas.create_text(x+radius, y, text=str(num), font=("Arial", 14, "bold"), fill="white")
# 보너스 번호 구분선 (+)
plus_x = start_x + 6 * (radius * 2 + gap)
self.canvas.create_text(plus_x, y, text="+", font=("Arial", 20, "bold"), fill="#999")
# 보너스 번호 그리기
bonus_x = plus_x + 30
b_color = self.get_color(bonus_num)
self.canvas.create_oval(bonus_x, y-radius, bonus_x+radius*2, y+radius, fill=b_color, outline=b_color)
self.canvas.create_text(bonus_x+radius, y, text=str(bonus_num), font=("Arial", 14, "bold"), fill="white")
if __name__ == "__main__":
root = tk.Tk()
app = LottoGenerator(root)
root.mainloop()
위 코드를 복사해서 lotto.py로 저장하고 실행해 보세요. 아주 예쁜 로또 생성기가 뜹니다.
DeepSeek는 심지어 로또 공식 공 색상(10번대 노랑, 20번대 파랑 등)까지 정확하게 구현했습니다. 제가 따로 말하지도 않았는데 말이죠.

Phase 3. 개발자를 위한 총평
직접 사용해 보고 느낀 DeepSeek-R1(Local)의 장단점입니다.
| 항목 | DeepSeek-R1 (Local) | ChatGPT-4o (Cloud) |
|---|---|---|
| 코드 정확도 | ⭐⭐⭐⭐⭐ (논리적) | ⭐⭐⭐⭐ (빠르지만 가끔 환각) |
| 속도 | ⭐⭐⭐ (생각할 시간이 필요함) | ⭐⭐⭐⭐⭐ (즉답) |
| 비용 | 0원 (Free) | 월 30,000원 |
결론적으로, "생각할 시간이 필요한 복잡한 로직"을 짤 때는 DeepSeek가 훨씬 안정적입니다. 특히 인터넷이 안 되는 환경이나, 보안이 중요한 사내 프로젝트에서는 대체 불가능한 선택지가 될 것 같습니다.
이번 설 연휴, 딥시크가 뽑아준 번호로 로또 1등을 노려보는 건 어떨까요? 😄
(50대 아재의 솔직한 AI 활용 후기는 네이버에서 연재 중입니다)