자율 프로젝트 ① 착수
이제 정해진 미션이 아니라, 내가 정한 프로젝트예요. 오늘 목표는 '완성'이 아니라 핵심 기능 하나가 도는 것입니다.
오늘 배우는 것
자율 프로젝트 첫날이에요. 오늘부터는 정답을 알려주기보다 막힌 곳을 함께 푸는 코칭 시간입니다. 속도는 사람마다 달라도 괜찮아요.
MVP (최소 기능 제품)란?
핵심 기능 하나만 들어간 '가장 작은 완성품'이에요. 영어로 Minimum Viable Product의 줄임말이죠. 모든 기능을 한 번에 만들지 않고, 가장 중요한 한 조각부터 돌아가게 만드는 거예요.
한꺼번에 다 만들지 않는다
오늘의 전략은 단순해요. 핵심 정하기 → 그것만 먼저 → 점점 키우기. 이 순서를 지키면 막막한 프로젝트도 한 걸음씩 나아갈 수 있어요.
오늘부터는 코칭 시간이에요. 막히면 ① 자가 디버깅 → ② AI에게 질문 → ③ 선생님과 의논 순서로 해보세요.
기획 확정 + 핵심 기능 정하기
이렇게 진행해요
- 기능을 다 만들려 욕심냄 → 핵심 하나만. 나머지는 노션에 메모만 해둬요.
- 핵심을 못 고름 → "이건 ___해주는 앱"의 빈칸을 먼저 채워 보세요.
핵심 기능 하나 작동시키기
① 내 핵심 기능이 '입력 → 처리 → 출력' 중 무엇을 하는지 적어 보세요.
② AI에게 보낼 첫 요청을 한 문장으로 먼저 적어 보세요.
AI에게 골격 요청하기
1단계 — VS Code 터미널에서 수업 폴더 안에 파일 만들기
# Windows
New-Item .env
# Mac
touch .env2단계 — .env 파일을 열고 아래 한 줄 입력 (선생님이 알려준 키 사용)
OPENAI_API_KEY=여기에_선생님이_알려준_키_붙여넣기⚠️ 키 앞뒤에 공백이나 따옴표 없이 딱 붙여서 저장하세요. .env 파일은 코드와 같은 폴더에 있어야 해요.
스스로 정리했다면, 아래처럼 요청해 핵심 기능부터 작동시켜 보세요.
골격은 보통 이런 모양이에요
대부분의 앱은 입력 → 처리 → 출력 세 부분으로 되어 있어요. AI가 준 코드에서도 이 세 부분을 찾을 수 있으면 충분해요. (키는 코드에 직접 쓰지 않고 .env / st.secrets에서 자동으로 불러와요.)
import streamlit as st
from openai import OpenAI
client = OpenAI() # 키는 .env / st.secrets에서 자동으로
def ask_ai(prompt):
res = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
return res.choices[0].message.content
st.title("내 프로젝트")
# ① 입력 ─ 사용자에게서 받는다
user_input = st.text_input("무엇을 도와줄까요?")
# ② 처리 ─ 핵심 기능 (여기선 AI 호출)
if st.button("실행"):
result = ask_ai(user_input)
# ③ 출력 ─ 결과를 화면에
st.write(result)내 프로젝트
무엇을 도와줄까요? [ 내일 시간표 짜줘 ]
[ 실행 ]
좋아요! 내일 시간표를 이렇게 짜볼게요 ...- 한 번에 다 만들려다 막힘 → 동작 하나만 먼저 작동시켜요.
- 코드 이해 없이 넘어감 → AI에게 "한 줄씩 설명해줘"라고 요청해요.
- 오늘 못 끝냄 → 정상이에요. 어디까지 됐는지 기록만 해두면 돼요.
🔒 힌트 — 어디서부터 손대야 할지 모르겠어요
핵심 기능을 입력 → 처리 → 출력 세 칸으로 먼저 나눠 적어 보세요.
① 입력: 사용자에게 무엇을 받나? (글자·선택·숫자)
② 처리: 받은 걸로 무엇을 하나? (AI 호출·계산·검색)
③ 출력: 결과를 어떻게 보여주나? (글·표·이미지)
이 세 칸을 그대로 AI에게 알려주면, 골격 코드를 훨씬 정확하게 받을 수 있어요.
오늘 한 일 노션에 남기기
딱 3줄만 기록해요
작동 화면 캡처도 함께 붙이면, 다음 시간에 한눈에 떠올릴 수 있어요.
🃏 선택지 카드 — 다음에 이어서 갈 방향
핵심이 돌아간다면, 다음엔 어디로 갈까요? 하나를 골라 AI에게 요청해 보세요.
- 기록이 귀찮아 건너뜀 → 딱 3줄이면 다음 시간의 나를 구해줘요.
- 새 기능 추가 시 "기존 기능은 그대로 두고"를 빠뜨림 → 그러면 만들던 게 사라질 수 있어요.
상황별 가이드
자율 프로젝트는 속도가 사람마다 달라도 괜찮아요. 내 상황에 맞는 쪽을 골라 보세요.
보너스 ① 두 번째 기능 도전 (빠른 학생)
핵심이 다 됐다면 두 번째 기능에 도전해 보세요.
보너스 ② 화면 다듬기 (빠른 학생)
기능은 그대로 두고 화면·디자인을 보기 좋게 정리해요.
🐢 진도가 막혔다면
오늘의 핵심 정리
다음 주는 자율 프로젝트 ② 완성이에요. 오늘 만든 골격에 기능을 더해 MVP를 완성하고, 테스트 후 발표를 예행연습합니다. 오늘 막힌 부분을 한 번 더 시도하고, 이어갈 부분을 노션에 정리해 오세요.
🔧 막혔을 때 — 자가 디버깅 4단계
자율 프로젝트에선 스스로 푸는 힘이 가장 중요해요. 막히면 이 순서대로 해봅니다.