코스
8학년 AI: 똑똑한 앱 개발자
Python, 웹 페이지, 모델, AI API를 묶어 시험하고 발표하는 앱을 만들어요.
레슨을 차례대로 해요. 끝나면 AI 앱의 부분인 인터페이스, 백엔드, 모델, 데이터를 말하고, 실제 AI 앱의 아키텍처를 그릴 수 있어요. 코드를 모듈로 나누고, JSON 파일을 읽고 쓰며, HTML과 CSS로 작은 사이트를 만들 수 있어요. 분류기의 예측을 웹 페이지에 보여주고, 템플릿으로 프롬프트를 만들고, 모델의 답이 올바른 형식인지 확인할 수 있어요. Python에서 선생님이 관리하는 AI API를 호출하고, API 키를 비밀로 지키고, 테스트 20개의 평가 세트를 만들고, 안전 점검표를 쓰고, 시험이 끝난 AI 학습 도우미를 시연할 수 있어요.
이 레슨을 쓰는 방법
- 이것을 해요라고 표시된 레슨에서 시작해요. 제목 아래 줄을 혼자 할 수 있으면 다음으로 가요.
- 먼저 게임을 해요. 그다음 퀴즈를 해요. 10개 중 8개 정답이면 통과. 학습지는 종이예요. 정답은 아래에 있어요.
- 각 레슨은 앞 레슨 위에 쌓여요. 프로젝트 폴더를 하나로 두고, 레슨마다 내용을 더해요.
- 선생님이 허락한 AI 서비스만 써요. API 키는 코드에 넣지 않고, 아무에게도 알리지 않아요. 개인 정보는 모델에 보내지 말고, 앱이 보여주는 AI 답은 모두 시험해요.
각 수업에는 게임, 퀴즈, 학습지가 있습니다.
0/36
AI 앱 아키텍처
- 1AI 앱의 부분AI 앱의 부분인 인터페이스, 백엔드, 모델, 데이터를 말해요.
- 네 부분을 각각 정의해요.
- 번역 앱에서 그 부분을 찾아요.
- 사용자가 보는 부분을 말해요.
- 2요청을 따라가요클릭부터 답까지 요청 하나를 따라가요.
- 클릭부터 화면까지 각 단계를 적어요.
- 모델이 어디에서 도는지 말해요.
- 지연이 어디에서 생길 수 있는지 말해요.
- 3데이터가 있는 곳앱이 데이터를 두는 곳과 그 이유를 말해요.
- 브라우저, 서버, 데이터베이스를 비교해요.
- 저장하면 안 되는 것을 말해요.
- 각 장소를 누가 볼 수 있는지 말해요.
- 4앱의 아키텍처실제 AI 앱의 아키텍처를 그려요.
- 앱을 하나 골라요.
- 각 부분의 상자를 그려요.
- 데이터 흐름의 화살표를 그려요.
중급 Python
- 5모듈코드를 모듈로 나누고 가져와요.
- 함수를 자기 파일로 옮겨요.
- 다른 파일에서 가져와요.
- 모듈 이름을 분명히 붙여요.
- 6파일텍스트 파일과 JSON 파일을 읽고 써요.
- 텍스트 파일을 읽고 써요.
- JSON을 저장하고 불러와요.
- 없는 파일을 처리해요.
- 7라이브러리Python 라이브러리를 설치하고 써요.
- pip으로 라이브러리를 설치해요.
- 설명 문서를 읽어요.
- 그 함수 하나를 써요.
- 8다시 쓰는 코드반복되는 코드를 다시 쓰는 함수로 만들어요.
- 반복되는 코드를 찾아요.
- 인자가 분명한 함수로 만들어요.
- 짧은 docstring을 써요.
웹 앱 기초
- 9HTML제목, 글, 양식이 있는 HTML 페이지를 만들어요.
- 제목, 문단, 목록을 써요.
- 그림과 링크를 넣어요.
- 글상자와 버튼이 있는 양식을 넣어요.
- 10CSS색, 간격, 배치의 CSS로 페이지 모양을 맞춰요.
- 색과 글꼴을 정해요.
- margin과 padding을 넣어요.
- flexbox로 페이지를 배치해요.
- 11양식과 입력양식에 사용자가 입력한 내용을 읽어요.
- JavaScript로 양식 값을 읽어요.
- 페이지에 다시 보여 줘요.
- 빈 입력을 확인해요.
- 12작은 사이트페이지가 둘인 작은 사이트를 만들어요.
- 홈 페이지와 도구 페이지를 만들어요.
- 둘을 링크로 연결해요.
- 휴대폰 화면에서도 되게 해요.
모델 연결
- 13추론학습과 추론의 차이를 설명해요.
- 학습은 한 번, 추론은 요청마다 일어난다고 말해요.
- 학습이 끝난 모델을 저장하고 불러와요.
- 예측 하나의 시간을 재요.
- 14모델 입력모델이 기대하는 모양으로 모델 입력을 준비해요.
- 그림 크기를 바꿔요.
- 특징을 올바른 순서로 넣어요.
- 모델이 쓸 수 없는 입력은 거절해요.
- 15모델 출력모델 출력에서 라벨과 점수를 읽어요.
- 맨 위 라벨을 읽어요.
- 확신 점수를 읽어요.
- 기준값보다 낮으면 “모르겠어요”를 보여 줘요.
- 16분류기를 연결해요분류기의 예측을 웹 페이지에 보여 줘요.
- 브라우저나 작은 서버에서 모델을 불러와요.
- 페이지의 입력을 보내요.
- 라벨과 점수를 보여 줘요.
프롬프트 앱
- 17프롬프트 템플릿템플릿과 사용자 입력으로 프롬프트를 만들어요.
- 빈칸이 있는 템플릿을 써요.
- 사용자 입력으로 빈칸을 채워요.
- 사용자 입력이 지시를 바꾸지 못하게 해요.
- 18맥락모델에 필요한 맥락을 줘요.
- 학년과 주제를 넣어요.
- 예시 답을 넣어요.
- 맥락이 있을 때와 없을 때의 답을 비교해요.
- 19답의 형식 확인모델의 답이 올바른 형식인지 확인해요.
- JSON을 요청해요.
- 해석하고 필드를 확인해요.
- 틀리면 다시 하거나 오류를 보여 줘요.
- 20프롬프트 흐름프롬프트 둘의 흐름으로 작업을 끝내요.
- 프롬프트 하나로 문제를 만들어요.
- 두 번째 프롬프트로 답을 확인해요.
- 단계 사이에 데이터를 넘겨요.
AI API
- 21요청과 응답요청을 보내고 JSON 응답을 읽어요.
- GET 요청과 POST 요청을 보내요.
- 상태 코드를 읽어요.
- JSON 응답을 해석해요.
- 22API 키API 키를 비밀로 지켜요.
- 키를 환경 변수에 저장해요.
- 공유하는 코드에 키를 넣지 않아요.
- 키를 브라우저에 두면 안 되는 이유를 말해요.
- 23제한과 비용속도 제한과 사용 비용을 설명해요.
- 속도 제한 오류를 읽어요.
- 요청 100번의 비용을 어림해요.
- 제한되면 기다렸다가 다시 해요.
- 24API를 호출해요Python에서 선생님이 관리하는 AI API를 호출해요.
- 프롬프트를 보내요.
- 답장을 읽어요.
- 오류와 시간 초과를 처리해요.
AI 시험
- 25테스트 사례테스트 사례로, 입력과 기대하는 출력을 써요.
- 테스트 입력 10개를 써요.
- 좋은 출력이 어떤지 써요.
- 손으로 실행해요.
- 26신뢰성신뢰성을 보려고, 같은 테스트를 여러 번 실행하고 결과를 비교해요.
- 프롬프트 하나를 10번 실행해요.
- 몇 번 맞는지 세요.
- 무작위성을 낮추고 비교해요.
- 27경계 사례경계 사례로, 빈 입력, 긴 입력, 속이려는 입력을 시험해요.
- 빈 입력과 아주 긴 입력을 해 봐요.
- 다른 언어의 입력을 해 봐요.
- 앱을 속이려는 입력을 해 봐요.
- 28평가 세트테스트 20개의 평가 세트를 만들고 앱에 점수를 매겨요.
- 쉬운 테스트, 어려운 테스트, 속이려는 테스트를 섞어요.
- 각 답을 통과 또는 실패로 채점해요.
- 바꿀 때마다 점수를 기록해요.
책임 있는 앱 설계
- 29설계부터 하는 개인정보설계부터 하는 개인정보로, 앱에 필요한 데이터만 모아요.
- 앱이 모으는 데이터를 적어요.
- 필요 없는 것은 빼요.
- 데이터를 얼마나 두는지 말해요.
- 30안전장치안전장치로 위험한 입력과 출력을 막아요.
- 위험한 주제를 걸러요.
- 보여 주기 전에 답을 확인해요.
- 막으면 안전한 답장을 줘요.
- 31사용자 경험사용자 경험으로, AI가 답하는 때와 AI가 틀릴 수 있음을 보여 줘요.
- AI 답에 라벨을 붙여요.
- 틀린 답을 신고하는 방법을 넣어요.
- 불러오는 중을 보여 줘요.
- 32안전 점검표앱의 안전 점검표를 써요.
- 개인정보, 안전, 정확함을 담아요.
- 그 표로 앱을 확인해요.
- 실패한 항목 하나를 고쳐요.
앱 개발 스튜디오
- 33도우미를 계획해요학습 도우미의 기능과 테스트를 써요.
- 과목을 골라요.
- 기능을 적어요.
- 평가 세트를 먼저 써요.
- 34인터페이스를 만들어요인터페이스로, 과목 선택과 문제 화면을 만들어요.
- 과목 선택을 만들어요.
- 문제와 답 화면을 만들어요.
- 피드백 영역을 만들어요.
- 35AI를 연결해요AI를 연결해 모델의 문제와 피드백을 넣어요.
- 모델로 연습 문제를 만들어요.
- 답을 확인하고 피드백을 줘요.
- 평가 세트를 실행해요.
- 36나만의 AI 학습 도우미시험이 끝난 AI 학습 도우미를 시연해요.
- 앱 전체를 시연해요.
- 평가 점수를 보여 줘요.
- 프론트엔드, 백엔드, 모델을 설명해요.