AI NATIVE COMPANY

AX4U 바이브코딩 마스터 과정

내 아이디어가 작동하는 첫 앱이 되기까지

LLM·파인튜닝·이미지 생성의 선택 기준을 익히고 검증 전 뉴스 초안·책방 안내 챗을 실행 가능한 로컬 웹앱으로 완성한다. 생성 이미지·유료 모델 호출은 필수가 아니다.

읽음과 숙련은 별개입니다. 자동채점은 선택형에만 적용합니다.

교육자의 독립: 개념을 이해하고 실전 사례를 직접 검증해 현실 문제를 해결하는 시스템을 스스로 개발합니다.

공동체 기여: 결과와 실패·복구 과정을 다른 사람에게 설명하고 함께 개선합니다. 이 과정은 숙련을 보장하지 않습니다.

첫 단원 시작하기 → · 단원 목록 보기

내 기기의 학습 기록

이 기기에만 저장됩니다. 자동 동기화되지 않으며 개인정보·비밀키를 적지 마세요. 읽음·답변·증거는 숙련 인증이 아닙니다.

학습 단원

생각을 시험 가능한 서비스 카드로

해결할 문제와 목표

막연한 앱 아이디어는 기능이 늘어도 사용자 문제 해결 여부를 알기 어렵다.

대상·입력·출력·수용 기준을 한 장으로 작성하고 LLM의 한계를 이해한다.

먼저 알아둘 것

필수 선수지식 없음

핵심 한 문장: 좋은 앱 기획은 누구의 어떤 일을 어떤 입력과 확인 가능한 출력으로 줄이는지 정한다.

지금 할 일준비물개념과 원리따라 하기예상 결과와 검증오류 복구혼자 변형설명과 기여

큰 그림: 비유와 경계

요리 주문서에 손님, 재료, 완성 접시와 알레르기 조건을 쓰는 일이다.

비유가 닿지 않는 곳: 명세가 좋아도 사용자 조사와 구현 검증을 대신하지 않는다.

실제로 작동하는 원리

언어모델은 문맥에서 다음 토큰을 예측한다. 지시가 선명하면 답을 구조화하기 쉽지만 사실 검증은 별개다. 모델 버전과 사용량·비용·약관은 변하며 ChatGPT 사용과 개발자 API 호출은 서로 다른 접근·과금 체계다. 포스터에서만 별도로 확인된 맞춤형 GPT 구성과 자동화 기초는 반복 지침(역할·지식·출력형식·금지)을 보존하는 방식으로 연습한다. 이것은 앱 안에서 실제 모델 호출을 구현하는 것과 다르다.

따라 하기

  1. 가상 책방 「행사 소개 카드」를 대상=운영자, 입력=행사명·일시·대상, 출력=80자 소개·확인 필요 항목으로 적는다.
  2. 이미 쓸 수 있는 대화형 AI에 「가상 행사 정보를 바탕으로 80자 이내 소개를 만들고 사실이 없는 항목은 미확인으로 표시하라. 행사명: 밤의 낭독, 일시: 11월 3일 19시, 장소: 미정」을 입력한다. 계정이 없으면 사람이 카드 초안을 쓴다.
  3. 일시·미정 장소를 원자료와 대조하고 공개 금지 상태를 표시한다.
  4. 포스터 추가 주제인 「프롬프트 작성 요령·나만의 GPT·자동화 기초」를 이 카드에 적용한다: 역할(초안 보조), 자료(가상 행사), 금지(없는 장소 생성), 형식(소개+미확인)을 명시하고, 맞춤형 GPT를 만들 수 있는 기존 계정이면 공유를 비공개로 두고 가상 자료로 2문항 테스트한다. 기능이 없으면 카드 자체를 재사용 지침으로 저장한다. 외부 발송 자동화는 승인 전 실행하지 않는다.

입력 예제

행사명/일시/장소 미정

예상 결과

소개는 날짜·시간만 확정; 장소는 미정으로 표시.

검증 방법

  1. 입력에 없는 장소가 나타나면 실패.
  2. 행사명을 바꿔 다시 작성할 때 날짜가 보존되는지 확인한다.

흔한 오해와 실패 복구

  1. 모델이 특정 장소를 채우면 「입력 근거 없음」 표시로 되돌린다.
  2. GPT-4 등 상용 제품명과 API 접근권을 혼동하지 않는다.

확인 문제

「행사명/일시/장소 미정」의 출력으로 맞는 것은?

자동채점 · 선택형

답을 고르세요
해설과 정답 보기

입력에 없는 장소가 나타나면 실패.

정답: 소개는 날짜·시간만 확정; 장소는 미정으로 표시.

대상-입력-출력-수용기준과 모델이 없는 사실을 왜 지어낼 수 있는지 설명한다.

동료평가 · 자동채점 아님

평가 기준: 누락된 입력을 정확히 보류하고 변경된 입력으로 재시험하면 통과. 동료에게 해당 입력의 중간 상태·오류 반례를 시연한다.

해설 보기

정답 암기보다 새 상황에 원리를 옮겨 설명하고 실제 결과를 보이는 것이 목표다.

독립 실습

도서관 신간 안내 카드의 대상/입력/출력/수용기준을 새로 정의한다.

남길 증거: 본인 작성 서비스 카드, 정보 누락 테스트, 수정된 카드 문구.

가상 서비스 명세

대상=가상 책방 운영자
입력=행사명, 일시, 대상, 장소
출력=80자 이하 소개와 미확인 항목
수용=없는 장소를 만들지 않음
실습 해설 보기

장소 미정이면 「장소 확인 후 게시」로 남긴다. 첫 버전은 공개 게시 기능 없이 초안 생성만 제공한다.

평가 기준: 누락된 입력을 정확히 보류하고 변경된 입력으로 재시험하면 통과.

새 맥락에 적용하기

문화센터 강좌 모집 카드로 바꿔 정원 미정 상황을 처리한다.

내 말로 설명하고 가르치기

대상-입력-출력-수용기준과 모델이 없는 사실을 왜 지어낼 수 있는지 설명한다.

실습·전이·설명 결과는 본인 또는 동료가 기준에 따라 검토하세요. 이 페이지는 숙련을 자동 인증하지 않습니다.

읽음과 숙련은 별개입니다.

참고 출처와 확인 범위

학습 단원

자료 넣기와 모델 바꾸기 구분

해결할 문제와 목표

책방 말투를 만들려고 무턱대고 파인튜닝하면 비용을 들이고도 바뀐 공지를 반영하지 못한다.

프롬프트·RAG·파인튜닝 선택 기준과 훈련/평가 데이터 분리를 실습한다.

먼저 알아둘 것

  1. idea-card

핵심 한 문장: 변하는 사실은 자료 검색, 반복되는 스타일은 예시·필요시 파인튜닝으로 다룬다.

지금 할 일준비물개념과 원리따라 하기예상 결과와 검증오류 복구혼자 변형설명과 기여

큰 그림: 비유와 경계

직원에게 오늘 공지를 주는 것과 직원의 장기 훈련은 다른 투자다.

비유가 닿지 않는 곳: 파인튜닝이 사실성·정확성·최신성을 자동 보장하지 않으며 개인정보를 넣어서는 안 된다.

실제로 작동하는 원리

파인튜닝은 예시 데이터로 가중치를 갱신한다. 프롬프트 예시는 호출 시 문맥만 바꾸고 RAG는 외부 문서에서 근거를 회수한다. 훈련/검증 자료를 분리하고 기본 모델 대비 성능·비용·갱신 주기를 비교한 뒤 유료 실험 여부를 결정한다. Training example JSONL uses one messages array per line; separate train, validation, held-out evaluation. Score format compliance, hallucinated facts and inference cost against prompt/RAG baseline before any paid job. Two examples alone cannot establish generalization.

따라 하기

  1. 세 문제를 분류한다: 「매주 바뀌는 영업시간」→검색, 「짧고 공손한 톤」→프롬프트 예시, 「대량의 반복 형식에서 기본 설정으로 실패」→파인튜닝 후보.
  2. 가상의 입력/출력 두 쌍을 아래 material에서 읽고 세 번째는 평가 전용으로 남긴다.
  3. 선택 심화(미실행): 제공사 파인튜닝 문서의 데이터 형식·지원 모델·가격·삭제 정책을 확인한 뒤 승인 없이는 업로드/결제하지 않는다.
  4. 아래 train.jsonl 두 줄과 eval.jsonl 한 줄을 별도 파일로 저장한다. 장소 미정 사례는 훈련에 넣지 않는다. API 업로드/결제는 하지 않는다.
  5. 평가 사례 「새벽 모임, 장소 미정」에 대해 기준선 프롬프트 응답과 가상 후보를 동일 조건에서 비교한다. 장소를 만들어내면 실패. 실측 후보가 없으면 도입 보류.

입력 예제

매주 영업시간 변경

예상 결과

자료 갱신/검색 우선. 학습 데이터에 실제 운영 정보나 개인정보를 넣지 않음.

검증 방법

  1. train 두 줄과 eval 한 줄의 겹침이 없고 실제 고객 자료가 없는지 검사한다.
  2. 기준선 대비 형식 오류·가짜 장소·비용 실측이 없으면 유료 파인튜닝 채택 보류.

흔한 오해와 실패 복구

  1. 자료 갱신을 파인튜닝만으로 해결하려 하면 운영 공지와 훈련 시점 차이를 설명한다.
  2. 개인 고객 메시지를 학습 예제로 쓰지 않는다.

확인 문제

「매주 영업시간 변경」의 출력으로 맞는 것은?

자동채점 · 선택형

답을 고르세요
해설과 정답 보기

train 두 줄과 eval 한 줄의 겹침이 없고 실제 고객 자료가 없는지 검사한다.

정답: 자료 갱신/검색 우선. 학습 데이터에 실제 운영 정보나 개인정보를 넣지 않음.

열 살 아이에게 학습/당일 공지/자료 검색 차이와 평가 분리 이유를 설명한다.

동료평가 · 자동채점 아님

평가 기준: 훈련과 평가 파일 분리, 미확정 장소의 보류, 기준선과 비용 없는 도입 주장 거부를 모두 재현하면 통과. 동료에게 해당 입력의 중간 상태·오류 반례를 시연한다.

해설 보기

정답 암기보다 새 상황에 원리를 옮겨 설명하고 실제 결과를 보이는 것이 목표다.

독립 실습

기관 홍보문의 문체 문제와 최신 휴관 정보 문제를 분리해 방법을 선택한다.

남길 증거: 방법 선택표, 훈련/평가 분리 기록, 개인 데이터 미사용 선언.

가상 예시

훈련예시1 입력=행사명/일시 출력=짧은 소개
훈련예시2 입력=신간명/분야 출력=짧은 소개
평가전용 입력=장소 없는 행사 출력=장소 미확인

가상 훈련 자료

{"messages":[{"role":"user","content":"가상 행사: 밤 낭독"},{"role":"assistant","content":"[가상] 밤 낭독 안내"}]}
{"messages":[{"role":"user","content":"가상 신간: 별책"},{"role":"assistant","content":"[가상] 별책 안내"}]}

격리된 평가 자료

{"messages":[{"role":"user","content":"가상 행사: 새벽 모임, 장소 미정"},{"role":"assistant","content":"[가상] 새벽 모임 · 장소 미확인"}]}
실습 해설 보기

변경 사실은 RAG, 문체는 프롬프트부터 시험한다. 성능 차가 분명하지 않으면 파인튜닝 실행을 보류한다.

평가 기준: 훈련과 평가 파일 분리, 미확정 장소의 보류, 기준선과 비용 없는 도입 주장 거부를 모두 재현하면 통과.

새 맥락에 적용하기

도서관 FAQ의 반복 응답과 당일 휴관을 분리해 의사결정한다.

내 말로 설명하고 가르치기

열 살 아이에게 학습/당일 공지/자료 검색 차이와 평가 분리 이유를 설명한다.

실습·전이·설명 결과는 본인 또는 동료가 기준에 따라 검토하세요. 이 페이지는 숙련을 자동 인증하지 않습니다.

읽음과 숙련은 별개입니다.

참고 출처와 확인 범위

학습 단원

그림은 초안, 문구는 사실 확인

해결할 문제와 목표

생성 이미지가 인물·문구·책 표지를 왜곡하거나 권리를 침해할 수 있다.

이미지 생성 요청과 사용 허용 검토표를 만들고 비유료 대체 시안을 완성한다.

먼저 알아둘 것

  1. idea-card

핵심 한 문장: 이미지는 시각 초안이며 텍스트·권리·접근성·개인정보를 사람이 확인해야 한다.

지금 할 일준비물개념과 원리따라 하기예상 결과와 검증오류 복구혼자 변형설명과 기여

큰 그림: 비유와 경계

스케치북의 아이디어 시안은 인쇄 허가서가 아니다.

비유가 닿지 않는 곳: 모델이 만든 그림이라도 원본 이미지 권리, 상표, 초상권, 서비스 약관 문제가 사라지지 않는다.

실제로 작동하는 원리

프롬프트는 배경·구도·색·여백을 지정한다. 생성 결과의 글자는 별도 텍스트 레이어로 작성하며 공개 전 사용권·대체텍스트·색 대비·민감 정보 유무를 검토한다. 이 실습은 생성 모델 없이 CSS 색면과 본인 작성 문구로 대체한다.

따라 하기

  1. 문구 「책과 쉬는 오후」, 가상의 행사명·일시를 정한다.
  2. image-brief.txt의 입력 프롬프트를 읽고 특정 작가/상표/실제 얼굴/책 표지를 요구하지 않았는지 검토한다.
  3. 종이 또는 HTML 기본 도형으로 색면 포스터를 만들고 행사 정보는 별도 텍스트로 적는다. 선택 이미지 생성 도구는 계정·요금·권리 확인 후 별도 승인 시에만 사용한다.

입력 예제

원형 조명, 빈 책상, 포스터 상단 제목 여백

예상 결과

텍스트 정보가 그림에서 분리된 1장 시안과 대체텍스트 1문장.

검증 방법

  1. 가상 행사 날짜가 원본과 같고 이미지 안에 확인되지 않은 문구가 없는지 검사한다.
  2. 색만으로 행사 상태를 전달하지 않는지와 대체텍스트 유무를 확인한다.

흔한 오해와 실패 복구

  1. 이미지 속 흐릿한 글자를 억지로 게시하지 말고 본문 텍스트로 다시 쓴다.
  2. 인물 사진·기관 로고·실제 책 표지 사용 요청은 빼고 권리 확인 전 게시하지 않는다.

확인 문제

「원형 조명, 빈 책상, 포스터 상단 제목 여백」의 출력으로 맞는 것은?

자동채점 · 선택형

답을 고르세요
해설과 정답 보기

가상 행사 날짜가 원본과 같고 이미지 안에 확인되지 않은 문구가 없는지 검사한다.

정답: 텍스트 정보가 그림에서 분리된 1장 시안과 대체텍스트 1문장.

그림 생성과 행사 사실을 입력하는 작업이 왜 분리되는지 설명한다.

동료평가 · 자동채점 아님

평가 기준: 재사용 이미지 권리·텍스트 사실·접근성 3항목을 근거와 함께 확인하면 통과. 동료에게 해당 입력의 중간 상태·오류 반례를 시연한다.

해설 보기

정답 암기보다 새 상황에 원리를 옮겨 설명하고 실제 결과를 보이는 것이 목표다.

독립 실습

문화센터 강좌 홍보 이미지를 디자인하되 개인정보·실제 강사 사진 없이 설명문까지 쓴다.

남길 증거: 포스터 레이아웃 1개, 시각 정보의 대체텍스트, 권리 점검표.

독자적 이미지 브리프

가상 책방 행사 배경 시안: 따뜻한 단색 배경과 추상적인 원형 조명, 글자 없는 빈 여백, 특정 작가/책 표지/실존 인물/상표 제외. 실제 행사 문구는 HTML 텍스트로 별도 작성.
실습 해설 보기

문구·날짜는 사람이 승인한 텍스트로 배치하고 시안 속 불확실 요소를 제외한다.

평가 기준: 재사용 이미지 권리·텍스트 사실·접근성 3항목을 근거와 함께 확인하면 통과.

새 맥락에 적용하기

도서관 독서주간 시안으로 바꾸고 흑백 인쇄에서도 의미가 통하는지 검토한다.

내 말로 설명하고 가르치기

그림 생성과 행사 사실을 입력하는 작업이 왜 분리되는지 설명한다.

실습·전이·설명 결과는 본인 또는 동료가 기준에 따라 검토하세요. 이 페이지는 숙련을 자동 인증하지 않습니다.

읽음과 숙련은 별개입니다.

참고 출처와 확인 범위

학습 단원

기사 초안과 안내 챗을 작은 앱으로

해결할 문제와 목표

뉴스 생성은 출처 없는 사실을 만들고 챗봇은 자료에 없는 예약을 확정할 수 있다.

무료 브라우저 앱으로 공지 초안·질의응답을 구현하고 API 확장 경계를 설명한다.

먼저 알아둘 것

  1. idea-card
  2. adapt-model

핵심 한 문장: 초안 생성과 자료 기반 답변은 먼저 결정적 규칙으로 구현하고 모델 연결은 별도 서버에서만 한다.

지금 할 일준비물개념과 원리따라 하기예상 결과와 검증오류 복구혼자 변형설명과 기여

큰 그림: 비유와 경계

공지문 공장과 안내 데스크를 한 창에 두되 게시 도장은 사람만 찍는다.

비유가 닿지 않는 곳: 규칙 기반 데모는 실제 뉴스 취재나 자연어 모델이 아니고 임의 질문을 이해하지 못한다.

실제로 작동하는 원리

입력 폼→문자열 정규화→허용된 사실 매핑→textContent 출력의 흐름이다. 모델 API를 붙일 때는 서버에서 키 보관·요청 검증·사용량 한도·근거 검사를 추가한다. 이 데모는 단일 파일을 브라우저에서 직접 열어도 작동한다. 실서비스 차이는 허가된 소식 수집/발행일·원문 저장, 문장별 출처 ID, 서버 API 비밀키·사용량 한도, 타임아웃/429·충돌 분기, 사람 승인·게시 로그다. 이 데모는 취재·실시간 수집·LLM 호출이 전혀 없다.

따라 하기

  1. news-chat.html을 저장해 브라우저로 연다.
  2. 행사명을 「가을 책 나눔」으로 입력해 초안 버튼을 누른다. 질문 칸에 「시간」을 입력해 문의 버튼을 누른다.
  3. 「주차」 질문에는 미확인이라고 표시되는지 확인한다. 실제 기사/행사 게시나 API 호출은 하지 않는다.
  4. 실서비스 계약을 적는다: POST /draft {source_id,event} → {draft,source_ids,status:review}; POST /chat {question} → {answer,citation,status}. 서버는 허용 source_id만 조회, 근거 없음·충돌·429·타임아웃은 hold 반환. 서버 키는 브라우저에 넣지 않고 승인 전 게시 API는 만들지 않는다.

입력 예제

행사명=가을 책 나눔, 질문=시간

예상 결과

초안: [가상·검토 전] 가을 책 나눔 — 토요일 11~18시. 질문 답: 토요일 11~18시.

검증 방법

  1. 행사명에 <img src=x onerror=alert(1)> 입력해도 그림이 렌더되지 않고 글자로 나타나는지 확인한다.
  2. 주차 질문에 없는 정보라고 표시되고 AI/실시간 뉴스 수집이라고 주장하지 않는지 확인한다.
  3. 없는 source_id/상충/429/악성문자의 결과를 hold 또는 안전한 글자 표시로 표에 적고, 실제 서버 실행과 모의 설계를 구분한다.

흔한 오해와 실패 복구

  1. 버튼이 작동하지 않으면 파일 확장자가 .html인지, 브라우저 개발자도구 콘솔 오류가 있는지 확인한다.
  2. 서버 키를 JS에 직접 적어 넣지 않는다; 선택 고급 API 호출은 서버 운영 승인과 비용 검토 후에만 한다.

확인 문제

「행사명=가을 책 나눔, 질문=시간」의 출력으로 맞는 것은?

자동채점 · 선택형

답을 고르세요
해설과 정답 보기

행사명에 <img src=x onerror=alert(1)> 입력해도 그림이 렌더되지 않고 글자로 나타나는지 확인한다.

정답: 초안: [가상·검토 전] 가을 책 나눔 — 토요일 11~18시. 질문 답: 토요일 11~18시.

모델 없이 만든 앱과 모델 API 앱의 입력·출력·비용·보안 차이를 설명한다.

동료평가 · 자동채점 아님

평가 기준: 정상/빈 입력/근거 없음/XSS 네 경우를 동료가 직접 재현하면 통과. 동료에게 해당 입력의 중간 상태·오류 반례를 시연한다.

해설 보기

정답 암기보다 새 상황에 원리를 옮겨 설명하고 실제 결과를 보이는 것이 목표다.

독립 실습

새 질문 「참가비」를 넣고 근거 없음 응답을 유지하는지 시험한다. 교육자 재사용 과제: 강사용 카드: v3 공지 시간이 미기재인 새 가상 행사. 기존 토요일 문구를 재활용하지 않고 보류 출력으로 바꾸는 패치를 학습자가 시연한다. 인계에는 브라우저에서 news-chat.html 열기, 근거표, 미구현 서버 계약과 승인 전 게시 금지를 적는다.

남길 증거: 로컬 화면에서 초안·시간·미확인 세 경우와 XSS 문자열 표시 결과. 보강 증거: 예측→관측→수정 후 출력과 타인 인계/미실시 기록을 구분한다.

오프라인 뉴스·챗 데모

<!doctype html><html lang="ko"><meta charset="utf-8"><title>가상 책방 초안 실습</title><body><h1>가상 책방 초안(게시 전 검토)</h1><label>행사명 <input id="event"></label><button id="draft">초안 만들기</button><p id="out" aria-live="polite"></p><label>질문 <input id="ask"></label><button id="reply">문의</button><p id="answer" aria-live="polite"></p><script>document.querySelector("#draft").onclick=()=>{const name=document.querySelector("#event").value.trim();document.querySelector("#out").textContent=name?`[가상·검토 전] ${name} — 토요일 11~18시.`:"행사명을 입력하세요."};document.querySelector("#reply").onclick=()=>{const s=document.querySelector("#ask").value;document.querySelector("#answer").textContent=s.includes("시간")?"토요일 11~18시.":"자료에 없는 정보입니다. 담당자에게 확인하세요."};</script></body></html>
실습 해설 보기

시간에만 사실 응답. 나머지는 미확인 처리. 실제 뉴스 내용은 취재·교차검증 전 게시 금지.

평가 기준: 정상/빈 입력/근거 없음/XSS 네 경우를 동료가 직접 재현하면 통과.

새 맥락에 적용하기

기관 공지 앱으로 바꿔 휴관 일정을 가상 자료로 넣고 변경 전후를 비교한다. 독립 전이·실패주입: 새 입력: 가상 운영표 v2에 "책 교환 일요일 13시"가 추가되었다. 단순히 행사명만 바꾸면 기존 코드가 토요일 11~18시를 그대로 출력하는 실패를 먼저 관찰한다. 상수로 박힌 시간과 질문 분기를 v2 자료에 맞춰 직접 고치되, 근거가 없는 주차·예약 질문은 보류한다.

내 말로 설명하고 가르치기

모델 없이 만든 앱과 모델 API 앱의 입력·출력·비용·보안 차이를 설명한다. 독립 설명·인수 판정: 판정: 수정 전 틀린 초안과 수정 후 일요일 13시를 나란히 남기고 빈 행사명/주차/XSS 문자열도 재시험한다. 상대에게 화면 폼→허용 자료→문장 렌더의 경로와 모델 호출이 없음을 말한다. AI는 요구 분해까지만, 수정 코드는 학습자 작성, 마지막 재현은 도움 없이 한다.

실습·전이·설명 결과는 본인 또는 동료가 기준에 따라 검토하세요. 이 페이지는 숙련을 자동 인증하지 않습니다.

읽음과 숙련은 별개입니다.

참고 출처와 확인 범위

← 전체 과정