코스
11학년 AI: 생성형 AI와 에이전트 공학
프롬프트, API, 검색, 도구로 LLM 앱을 만들고, 안전한지 시험해요.
레슨을 차례대로 해요. 끝나면 토큰을 세고, 임베딩 유사도로 글을 비교하고, 샘플링과 컨텍스트 창을 설명할 수 있어요. 구조화 프롬프트를 쓰고, 테스트 사례로 프롬프트 버전을 비교할 수 있어요. AI가 쓴 코드를 검토하고, 그 코드가 통과해야 하는 테스트를 쓸 수 있어요. 스키마에 맞는 JSON을 받고, 비용 한도가 있는 챗봇을 만들고, 문서에서 답하고 인용하는 앱을 만들 수 있어요. 제한된 도구와 멈춤 규칙이 있는 에이전트를 만들고, 프롬프트 인젝션으로부터 앱을 방어하고, 자동 테스트 모음을 만들고, 근거 있는 연구 도우미를 내보낼 수 있어요.
이 레슨을 쓰는 방법
- 이것을 해요라고 표시된 레슨에서 시작해요. 제목 아래 줄을 혼자 할 수 있으면 다음으로 가요.
- 먼저 게임을 해요. 그다음 퀴즈를 해요. 10개 중 8개 정답이면 통과. 학습지는 종이예요. 정답은 아래에 있어요.
- 각 레슨은 앞 레슨 위에 쌓여요. 앱마다 테스트 집합을 남기고, 바꿀 때마다 실행해요.
- 코딩 레슨은 Python을 써요. 선생님이 허락한 AI 서비스만 쓰고, API 키를 코드 밖에 두고, 지출 한도를 정하고, 개인 데이터를 모델에 보내지 않아요.
각 수업에는 게임, 퀴즈, 학습지가 있습니다.
0/36
LLM 기초
- 1토큰과 어휘토큰을 세고, 왜 중요한지 설명할 수 있어요.
- 진짜 토크나이저로 글을 토큰으로 나눠요.
- 언어마다 토큰 수를 비교해요.
- 토큰을 비용과 컨텍스트 한도에 연결해요.
- 2임베딩 유사도임베딩 유사도로 글을 비교할 수 있어요.
- 모델에서 임베딩을 받아요.
- 코사인 유사도를 계산해요.
- 같은 단어가 아니라 의미로 문장을 줄 세워요.
- 3샘플링, temperature, 컨텍스트 창샘플링, temperature, 컨텍스트 창을 설명할 수 있어요.
- 다음 토큰 예측을 설명해요.
- temperature를 바꾸고 출력을 비교해요.
- 글이 컨텍스트 창을 넘으면 무슨 일이 생기는지 보여요.
- 4사전학습, 파인튜닝, 지시 튜닝사전학습, 파인튜닝, 지시 튜닝을 구별할 수 있어요.
- 각 단계가 어떤 데이터를 쓰는지 말해요.
- 사람의 피드백을 설명해요.
- 모델에 지식 끊김이 있는 이유를 말해요.
프롬프트 공학
- 5구조화 프롬프트역할, 과제, 규칙, 형식이 있는 구조화 프롬프트를 쓸 수 있어요.
- 지시와 입력 데이터를 나눠요.
- 출력 형식을 정해요.
- 구조화 프롬프트와 구조 없는 프롬프트를 비교해요.
- 6퓨샷 예시퓨샷 예시로 출력을 더 좋게 할 수 있어요.
- 예시를 두 개나 세 개 넣어요.
- 경계 경우를 다루는 예시를 골라요.
- 테스트 집합에서 변화를 재요.
- 7길이, 말투, 형식길이, 말투, 형식을 제한할 수 있어요.
- 길이와 읽기 수준의 한도를 정해요.
- 모를 때 무엇을 할지 모델에 말해요.
- 각 제한에 맞춰 출력을 확인해요.
- 8테스트 사례와 프롬프트 버전테스트 사례를 쓰고 프롬프트 버전을 비교할 수 있어요.
- 기대한 결과가 있는 테스트 입력 스무 개를 써요.
- 프롬프트 버전 두 개에 점수를 매겨요.
- 이긴 버전을 남겨요.
AI 도움 코딩
- 9분명한 명세에서 동작하는 코드분명한 명세에서 동작하는 코드를 받을 수 있어요.
- 입력, 출력, 예시가 있는 명세를 써요.
- 그 명세로 코드를 생성해요.
- 예시로 실행해요.
- 10AI가 쓴 코드AI가 쓴 코드에서 버그와 위험을 찾을 수 있어요.
- 경계 경우와 오류 처리를 확인해요.
- 지어낸 함수와 라이브러리를 찾아요.
- 소스 안의 비밀처럼 안전하지 않은 코드를 찾아요.
- 11통과해야 하는 테스트AI 코드가 통과해야 하는 테스트를 쓸 수 있어요.
- pytest로 테스트를 써요.
- 그 테스트를 통과하는 코드를 AI가 쓰게 해요.
- 찾은 버그마다 테스트를 추가해요.
- 12AI로 버그 고치기AI로 버그를 고치고 그 수정을 설명할 수 있어요.
- 버그가 보이는 작은 예시를 만들어요.
- 수정만이 아니라 원인을 AI에게 물어요.
- 왜 그 수정이 되는지 설명해요.
LLM API
- 13채팅 요청과 답장채팅 요청을 보내고 답장을 읽을 수 있어요.
- 환경 변수에서 API 키를 불러와요.
- SDK로 요청을 보내요.
- 답장과 토큰 사용량을 읽어요.
- 14시스템 메시지와 사용자 메시지시스템 메시지와 사용자 메시지를 쓸 수 있어요.
- 규칙은 시스템 메시지에 넣어요.
- 사용자 입력은 사용자 메시지에 넣어요.
- 대화 기록을 남겨요.
- 15스키마에 맞는 JSON스키마에 맞는 JSON을 받을 수 있어요.
- JSON 스키마를 정의해요.
- 그 스키마를 따르는 출력을 요청해요.
- 출력을 검증하고, 실패하면 다시 시도해요.
- 16비용 한도가 있는 챗봇기록과 비용 한도가 있는 챗봇을 만들 수 있어요.
- 대화 기록을 남겨요.
- 오래된 메시지를 잘라 컨텍스트에 맞게 해요.
- 비용 한도에 닿으면 멈춰요.
검색으로 보강하는 생성
- 17왜 근거를 두나근거를 두면 지어낸 답이 줄어드는 이유를 설명할 수 있어요.
- 모델이 본 적 없는 문서에 대해 물어요.
- 그 문서를 넣고 다시 물어요.
- 먼저 찾고 그다음 생성하는 흐름을 그려요.
- 18문서를 청크로 나누기문서를 청크로 나눌 수 있어요.
- 겹침을 두고 크기로 나눠요.
- 제목으로 나눠요.
- 각 청크에 출처와 쪽을 남겨요.
- 19질문에 가장 가까운 청크질문에 가장 가까운 청크를 찾을 수 있어요.
- 청크의 임베딩을 만들어 저장해요.
- 질문에 대한 상위 일치를 가져와요.
- 올바른 청크를 찾는 비율을 재요.
- 20문서에서 답하고 인용하기문서에서 답하고 인용하는 앱을 만들 수 있어요.
- 가져온 청크를 프롬프트에 넣어요.
- 각 주장에 인용을 요구해요.
- 인용이 실제 구절을 가리키는지 확인해요.
AI 도구와 에이전트
- 21모델이 함수를 호출하기모델이 함수를 호출하게 할 수 있어요.
- 스키마로 도구를 설명해요.
- 모델이 요청한 도구를 실행해요.
- 결과를 모델에 다시 보내요.
- 22모델이 실행할 수 있는 단계과제를 모델이 실행할 수 있는 단계로 나눌 수 있어요.
- 먼저 모델에게 계획을 물어요.
- 계획을 한 단계씩 실행해요.
- 다음으로 가기 전에 각 단계를 확인해요.
- 23에이전트가 한 일에이전트가 한 일을 기록할 수 있어요.
- 각 단계와 그 결과를 저장해요.
- 긴 기록을 요약해요.
- 에이전트가 잊어야 할 것을 정해요.
- 24제한된 도구와 멈춤 규칙제한된 도구와 멈춤 규칙이 있는 에이전트를 만들 수 있어요.
- 안전한 읽기 전용 도구만 허용해요.
- 단계 수에 상한을 둬요.
- 무언가를 바꾸는 행동 전에 사람에게 물어요.
멀티모달 생성형 AI
- 25확산 모델이 이미지를 만드는 법확산 모델이 이미지를 만드는 법을 설명할 수 있어요.
- 노이즈를 더하고 빼는 것을 설명해요.
- 텍스트가 이미지를 이끄는 법을 설명해요.
- 생성 이미지의 동의와 저작권을 이야기해요.
- 26이미지에 대한 질문모델에게 이미지에 대한 질문을 할 수 있어요.
- 질문과 함께 이미지를 보내요.
- 구조화된 설명을 받아요.
- 모델이 틀리는 세부 사항을 찾아요.
- 27음성과 텍스트음성을 텍스트로, 텍스트를 음성으로 바꿀 수 있어요.
- 짧은 녹음을 받아써요.
- 단어 오류율을 재요.
- 음성을 만들고 AI가 만들었다고 표시해요.
- 28두 종류의 입력두 종류의 입력을 쓰는 시제품을 만들 수 있어요.
- 음성과 이미지처럼 입력 두 가지를 골라요.
- 하나의 앱에서 연결해요.
- 사용자 다섯 명으로 시험해요.
신뢰성과 보안
- 29출처가 뒷받침하지 않는 답출처가 뒷받침하지 않는 답을 찾을 수 있어요.
- 각 주장을 출처와 맞춰요.
- 두 번째 모델 호출로 뒷받침 없는 주장에 표시를 달아요.
- 답이 완전히 뒷받침되는 비율을 재요.
- 30프롬프트 인젝션프롬프트 인젝션으로부터 앱을 방어할 수 있어요.
- 사용자 입력과 문서에 숨긴 공격을 써요.
- 신뢰하는 지시와 신뢰하지 않는 텍스트를 나눠요.
- 공격이 닿을 수 있는 도구를 제한해요.
- 31루브릭과 테스트 집합루브릭과 테스트 집합으로 출력에 점수를 매길 수 있어요.
- 채점 루브릭을 써요.
- 손과 모델로 점수를 매겨요.
- 둘이 얼마나 자주 일치하는지 확인해요.
- 32자동 테스트 모음LLM 앱의 자동 테스트 모음을 만들 수 있어요.
- 정확도, 형식, 안전, 비용을 다뤄요.
- 명령 하나로 실행해요.
- 점수가 떨어지면 빌드를 실패시켜요.
AI 제품 스튜디오
- 33사용자, 기능, 성공 척도사용자, 기능, 성공 척도를 쓸 수 있어요.
- 승인된 연구 문서 모음을 골라요.
- 사용자와 그들의 질문을 써요.
- 정확도, 인용, 비용의 목표를 정해요.
- 34검색, 답, 인용검색, 답, 인용을 만들 수 있어요.
- 문서를 색인해요.
- 인용과 함께 답해요.
- 테스트 모음을 실행해요.
- 35모른다고 말하기증거가 없을 때 앱이 모른다고 말하게 할 수 있어요.
- 검색이 쓸모 있는 것을 못 찾을 때를 알아차려요.
- 추측하지 말고 «출처는 말하지 않아요»라고 답해요.
- 문서가 답할 수 없는 질문으로 시험해요.
- 36근거 있는 연구 도우미근거 있는 연구 도우미를 내보내고 발표할 수 있어요.
- 반을 위해 앱을 배포해요.
- 정확도, 근거, 보안, 비용의 점수를 발표해요.
- 한계를 설명해요.