CS UNDERGRADUATE · GENAI × SOFTWARE LIFECYCLE

생성형 AI로
서비스를 만들고 운영해 보기

이 자료의 목적은 특정 AI 도구를 외우는 것이 아니다. 서비스를 만드는 전체 과정에서 AI를 어디에, 어떤 방식으로 활용할 수 있는지 이해하고 각 지점마다 무엇을 조심해야 하는지 아는 것이다.

읽는 방법
처음부터 끝까지 순서대로 읽을 필요는 없다. 먼저 1번에서 전체 그림을 본 뒤, 관심 있는 단계(③②①④)로 바로 건너뛰어도 된다. 각 단계는 무엇을 / 왜 / 어떻게 / 어떤 도구를 순서로 정리되어 있다.

1. 먼저 서비스의 전체 생명주기를 보자

생성형 AI는 코드를 작성할 때만 쓰는 것이 아니다. 개발 → 배포 → 운영으로 이어지는 순환 구조의 여러 지점에서 서로 다른 방식으로 개입한다.

③ Dev Assist 개발자 보조 ② Agentic 에이전틱 개발 ① Runtime 런타임 / 제품 ④ Ops Auto 운영 자동화 개발 DEVELOPMENT 배포 DEPLOY 운영 OPERATIONS 피드백 (FEEDBACK)

생성형 AI가 언제, 어떻게 개입하는가에 따라 활용법과 리스크가 완전히 달라진다.

이 자료에서는 생성형 AI 활용을 다음 네 가지 관점으로 나눠서 본다.

① 런타임 / 제품 ② 에이전틱 개발 ③ 개발자 보조 ④ 운영 자동화
③ DEV

개발자 보조

개발자가 주도하면서 AI와 대화해 설계·코딩·디버깅·문서화를 한다.

② DEV

에이전틱 개발

AI가 계획 → 코드 작성 → 실행 → 테스트 → 수정의 작업을 직접 반복한다.

① RUNTIME

AI 런타임 / 제품

완성된 서비스 안에서 LLM이 사용자 응답이나 검색·요약·분류 등을 수행한다.

④ OPS

운영 자동화

로그·오류·모니터링 데이터를 AI가 분석해 운영자를 돕거나 일부 작업을 자동화한다.

학습 순서로 보면 이렇다

아래로 갈수록 AI의 주도권이 커지고, 오른쪽으로 갈수록 실수의 영향 범위가 커진다. 그래서 보통 ③ → ② → ① → ④ 순서로 익히는 것이 안전하다.

STEP 1 · ③개발자 보조 도구사람 주도 · 낮은 리스크
STEP 2 · ②에이전틱 개발 자동화AI 주도 루프 · 중간 리스크
난이도 도약
STEP 3 · ①런타임 / 제품사용자 직접 노출 · 높은 리스크
STEP 4 · ④운영 자동화시스템 자율 관리 · SRE/DevOps

2. 시작하기 전에: 최소한의 용어 정리

아래 용어는 이 자료 전체에서 반복해서 등장한다. 몰라도 읽을 수는 있지만, 미리 알고 읽으면 훨씬 빠르게 이해된다.

용어한 줄 설명
토큰 (Token)모델이 텍스트를 처리하는 최소 단위. 영어는 약 4글자당 1토큰, 한글은 보통 더 잘게 쪼개진다.
컨텍스트 윈도우모델이 한 번에 참고할 수 있는 입력+출력의 최대 토큰 양. 이 범위를 넘으면 앞부분 내용을 잊는다.
프롬프트 엔지니어링원하는 결과를 얻기 위해 지시문(prompt)을 설계하는 기법.
파인튜닝 (Fine-tuning)모델의 가중치 자체를 특정 데이터로 추가 학습시키는 것. 비용·난이도가 높다.
RAG모델을 재학습하지 않고, 검색된 문서를 프롬프트에 함께 넣어 답변 근거로 쓰는 방식.
임베딩 (Embedding)텍스트를 의미가 비슷하면 가까운 위치에 놓이는 숫자 벡터로 바꾼 것. 의미 기반 검색의 기초.
에이전트 / 툴 유즈모델이 스스로 다음 행동을 계획하고, 코드 실행·파일 접근 같은 외부 도구를 직접 호출하는 방식.
환각 (Hallucination)모델이 근거 없이 그럴듯하지만 사실이 아닌 내용을 생성하는 현상.
가드레일 (Guardrail)모델의 입출력을 제한·검증해 위험하거나 잘못된 동작을 막는 장치.

3. 중요한 구분: 「AI로 개발」과 「AI 서비스를 개발」

ChatGPT / Claude로 코드를 작성했다 AI로 개발한 프로그램 프로그램이 사용자 질문을 받아 LLM을 호출하고 답변한다 AI가 들어간 서비스

두 가지는 서로 다른 경험이다. 왼쪽(③②)은 개발 방법의 변화이고, 오른쪽(①)은 소프트웨어 자체의 변화다. 이 자료는 두 가지를 구분해서 각각 설명한다.

4. AI가 잘하는 것과 아직 못하는 것

단계마다 AI가 강한 부분과 자주 틀리는 부분이 다르다. 결과를 검증 없이 그대로 받아들이는 것이 가장 흔하고 위험한 실수다.

단계잘하는 것흔한 실패학생이 놓치기 쉬운 점
③ 개발자 보조보일러플레이트 코드, 설명, 리팩터링 제안존재하지 않는 라이브러리/API를 만들어냄, 오래된 문법 제안설명하지 못하는 코드를 그대로 제출하는 것
② 에이전틱 개발구현 → 테스트 루프를 빠르게 반복테스트는 통과했지만 요구사항 자체를 잘못 이해, 불필요한 파일 변경diff를 확인하지 않고 그대로 merge하는 것
① 런타임/제품자연스러운 문장 생성, 방대한 정보 요약근거 없이 그럴듯한 오답(환각), 최신 정보 미반영답변에 출처가 없어도 검증 없이 믿는 것
④ 운영 자동화로그 패턴 요약, 후보 원인 제시상관관계를 인과관계로 단정, 근본 원인을 놓치고 증상만 대응AI가 제시한 원인 하나만 보고 바로 조치하는 것

5. ③ 개발자 보조 — AI와 대화하면서 개발하기

가장 쉽게 시작할 수 있는 영역이다. 사람이 설계하고 판단하며 AI를 강력한 개발 보조자로 사용한다. 실수가 발생해도 개발자가 직접 확인할 수 있어 진입 장벽이 가장 낮다.

무엇을?왜?어떻게?찾아볼 도구
요구사항 정리생각을 구조화하기 위해아이디어를 설명하고 질문·수정 반복ChatGPT, Claude
설계구조를 여러 관점에서 검토하기 위해API·DB·모듈 구조를 AI와 논의ChatGPT, Claude
코딩반복 구현 시간을 줄이기 위해코드 생성 → 읽기 → 실행 → 수정Copilot, Cursor, Windsurf
디버깅원인 탐색을 빠르게 하기 위해오류 메시지와 관련 코드를 제공ChatGPT, Claude, IDE AI

참고할 도구: VS Code(무료), GitHub Copilot(학생 인증 무료), Cursor / Windsurf(무료 티어), Claude / ChatGPT(무료 티어)

6. ② 에이전틱 개발 — AI에게 작업을 맡겨 보기

여기서는 한 단계 더 나아간다. AI에게 코드 한 줄을 물어보는 것이 아니라 하나의 개발 작업 전체를 맡긴다. 사람은 지시하고 승인/거부하는 감독자 역할을 한다.

"로그인 기능의 버그를 찾아 수정하고 테스트까지 통과시켜라." — 개발자 지시 Plan Write Run Fix AI Agent 자동 반복 실패하면 다시 개발자 리뷰 git diff로 변경 사항 확인 · Approve / Reject
무엇을?왜?어떻게?찾아볼 도구
레포지토리 작업여러 파일을 넘나드는 반복 작업 자동화작업 목표와 제약조건을 자연어로 지정Claude Code, Codex
버그 수정분석→수정→테스트 반복 자동화버그 리포트 + 테스트 조건 제공Claude Code, Aider
에이전트 병렬 작업여러 기능을 동시에 시도작업을 작은 단위로 분리Google Antigravity 등
중요: 에이전트에게 터미널 권한을 줄수록 영향 범위가 커진다. 삭제·배포·외부 시스템 접근처럼 되돌리기 어려운 작업은 실행 전에 반드시 확인하는 습관을 들여라.

7. 배포 — 내 컴퓨터 밖으로 서비스를 보내기

개발이 끝났으면 실제 사용자가 접근할 수 있도록 배포해야 한다. 이 단계부터는 코드만 알아서는 부족하고 실행 환경을 이해해야 한다.

Source Code GitHub Build / Package Container Cloud / Server 인터넷 서비스
무엇을?왜?찾아볼 도구
간단한 웹 배포서비스를 실제 URL로 공개Vercel, Render, Streamlit
서버 API 배포백엔드를 외부에서 실행FastAPI + Cloud/Server
실행 환경 패키징내 컴퓨터와 서버의 차이를 줄임Docker, Podman
여러 컨테이너 관리서비스를 규모 있게 운영Kubernetes

8. ① AI 런타임 / 제품 — AI가 서비스 안에서 일하게 만들기

이제 AI를 개발자가 사용하는 것이 아니라 서비스의 사용자가 사용하게 만든다. 사람의 리뷰 없이 실시간으로 사용자에게 직접 노출되므로 리스크가 가장 크다.

사용자 질문 Web / App Backend API LLM API AI가 답변을 생성 / 요약 / 분류 사용자

사람의 리뷰 없이 실시간으로 응답이 생성되어 사용자에게 직접 전달된다.

대표적인 AI 기능

생성
질문에 대한 답변, 글, 코드 생성
요약
긴 문서·게시물·회의록 요약
분류
문의 유형, 감정, 카테고리 분류
검색 / RAG
내 문서를 검색하고 그 내용을 바탕으로 답변
무엇을?왜?찾아볼 도구
LLM 호출서비스에서 생성형 AI 사용OpenAI API, Anthropic API
RAG내 문서를 검색해 답변에 활용LlamaIndex, LangChain
Vector Search의미가 비슷한 자료 검색FAISS, Chroma, Pinecone
로컬 LLMAPI 없이 로컬에서 실험Ollama + 오픈 모델

9. ④ 운영 자동화 — 서비스가 돌아간 다음을 생각하기

서비스는 배포했다고 끝나지 않는다. 오류가 발생하고, 사용량이 늘고, 서버 상태가 변한다. 운영 단계에서는 AI가 운영 데이터를 사람이 이해하기 쉬운 정보로 바꾸는 역할부터 시작할 수 있다. 시스템 전체에 즉시 영향을 미치므로 인프라 이해가 필수다.

서비스 로그 / Metrics / Error 모니터링 시스템 AI 분석 "오류율이 10분 전보다 증가했습니다. DB connection timeout이 주요 원인으로 보입니다." 개발자 / 운영자에게 전달
무엇을?왜?찾아볼 도구
에러 수집서비스에서 발생한 오류 확인Sentry
MetricsCPU·메모리·요청량 등의 변화 관찰Prometheus
시각화운영 상태를 한눈에 확인Grafana
CI/CD 자동화빌드·테스트·배포 과정 자동화GitHub Actions
AI 분석로그·장애 상황 요약 및 분석LLM API + 직접 만든 스크립트

10. 네 가지를 하나의 파이프라인으로 연결하기

가장 좋은 이해는 각 카테고리를 따로 보는 것이 아니라 하나의 서비스 안에서 어떻게 이어지는지 보는 것이다. 예: AI 학교 공지사항 Q&A 서비스.

VS Code ③ Dev Assist AI 에이전트 ② Agentic GitHub Actions Checkout → Tests FastAPI + LLM ① Runtime 사용자 모니터링 Prometheus ④ Ops Auto 오류 리포트 → 다시 개발 Infra: Docker / Kubernetes

11. 왜 운영체제·네트워크·DB 수업이 여기서 다시 등장하는가

배포·운영 단계로 갈수록 AI가 대신 판단해주지 않는 영역이 커진다. AI는 로그를 요약해줄 뿐, 그 요약이 실제로 타당한지 판단하는 것은 결국 기초 지식이다.

수업에서 배운 것실전에서 쓰이는 지점
운영체제컨테이너가 왜 안 뜨는지, 프로세스/메모리 문제인지 파악
네트워크API 응답이 느린 이유가 네트워크 지연인지 타임아웃 설정인지 구분
데이터베이스쿼리 성능·인덱스 문제인지 AI가 제시한 원인이 맞는지 검증
자료구조/알고리즘AI가 생성한 코드의 시간·공간 복잡도가 적절한지 판단

12. 잊지 말아야 할 것: 보안과 개인정보

최소한 지켜야 할 세 가지

13. 비용과 성능 감각 익히기

생성형 AI 호출은 대부분 토큰(입력+출력 글자 단위) 수에 비례해 과금된다. 학생 프로젝트에서는 크게 체감하지 못하지만, 실제 서비스를 설계할 때는 이 감각이 직접적인 영향을 준다.

상황고려할 것
실험 / 학습 단계로컬 LLM(Ollama)으로 비용 0원으로 반복 테스트
프로토타입 배포가벼운 모델로 먼저 검증하고, 필요할 때만 고성능 모델 사용
실서비스 운영프롬프트 길이, 캐싱, 호출 빈도를 설계 단계에서부터 고려
응답 속도가 중요한 경우모델 크기와 응답 품질 사이의 트레이드오프를 저울질

14. 도구를 외우지 말고 「도구 찾는 법」을 익혀라

생성형 AI 도구는 매우 빠르게 바뀐다. 특정 도구 이름을 암기하는 것보다 문제를 보고 필요한 도구를 찾아가는 능력이 중요하다.

내가 하고 싶은 일검색 방법
AI로 코딩하고 싶다AI coding assistant
AI에게 프로젝트 작업을 맡기고 싶다agentic coding tools
웹 서비스를 공개하고 싶다deploy FastAPI / deploy Streamlit
LLM을 프로그램에서 호출하고 싶다LLM API Python tutorial
내 문서로 챗봇을 만들고 싶다RAG Python tutorial
로컬 LLM을 사용하고 싶다Ollama local LLM
서비스 로그를 보고 싶다application monitoring Python
로그를 AI로 분석하고 싶다LLM log analysis
도구 선택의 원칙
① 무료/학생 사용 가능 여부 → ② 설치 난이도 → ③ 내가 사용하는 언어·프레임워크 지원 → ④ 문서와 커뮤니티 → ⑤ 실제로 필요한 기능과의 적합성 순으로 비교해 보라.

15. 이 구분이 현업과 어떻게 연결되는가

이 네 가지 분류는 실제 채용 공고와 직무 구분에도 가깝게 연결된다.

카테고리관련 직무 / 현업 키워드
① 런타임 / 제품AI/ML Engineer, Applied AI, Backend + LLM 통합
② 에이전틱 개발아직 직무명이 고정되지 않았지만, 개발 생산성 도구로 전 직군에서 요구 증가
③ 개발자 보조대부분의 SW 엔지니어 채용 공고에서 "AI 도구 활용 경험" 언급 증가
④ 운영 자동화SRE, DevOps, Platform Engineer

면접에서 "AI를 어떻게 활용하는가"라는 질문을 받으면, 이 네 가지 구분을 설명하고 각 단계의 장단점을 예로 들 수 있으면 도움이 된다.

16. 스스로 점검하기

17. CS 전공자에게 가장 중요한 변화

예전에는

문제 설계 코딩 테스트 배포 운영

의 각 단계를 사람이 직접 수행하는 비중이 컸다.

이제는

문제 개발자 설계·판단 AI에게 위임 AI 구현·반복 개발자 검증 배포·운영 AI가 운영 데이터 분석 다시 개선

개발자의 핵심 능력은 코드를 직접 입력하는 속도만이 아니라, 문제를 정의하고, AI에게 적절한 일을 맡기고, 결과를 검증하고, 서비스 전체를 이해하는 능력으로 확장되고 있다.