AI Open Source Impact
Week 2 : AI 프로젝트 구조 분석
" 거대 AI 코드베이스를 장악하라 "
✍ 트랙A: AI로 기여 ⚙ 트랙B: AI 기능 추가 🚀 트랙C: AI 네이티브
1h
멘토링 세션
2h
자기주도 학습
140K+
430만+
GitHub AI 저장소
02
이번 주 학습 목표
Week 2에서 달성해야 할 3가지 핵심 목표
🔍 목표 1
  • AI 오픈소스 프로젝트의 아키텍처와 코드 구조를 이해한다
  • 전통 OSS와 AI OSS의 구조적 차이점 파악
  • 모델 메타데이터, 추론 파이프라인 이해
  • 🤖 목표 2
  • AI 도구를 활용하여 대규모 코드베이스를 효율적으로 분석한다
  • Claude Code, Copilot, Cursor 활용
  • AI 기반 코드 이해 워크플로우 습득
  • 📝 목표 3
  • 기여할 이슈를 선정하고 구체적인 기여 계획을 수립한다
  • Good First Issue 분석법 습득
  • PR 초안 및 기여 계획서 작성
  • 03
    멘토링 세션 일정
    화상회의 1시간 · 3개 세션
    AI 프로젝트 구조 해부
    20분 · config.json, tokenizer.json, 추론 파이프라인, 모듈 의존성
    AI 도구 활용 실습
    20분 · Claude Code로 코드베이스 탐색 실습
    이슈 선정 워크숍
    20분 · Good First Issue 분석, 기여 계획서 작성
    📚 자기주도 학습 (2h)
    코드 추적 실습 (파이프라인 다이어그램) · 이슈 분석 (이슈 분석 보고서) · 기여 계획서 작성 (PR 초안)
    04
    전통 OSS vs AI OSS 프로젝트 구조
    근본적으로 다른 프로젝트 구조를 이해하자
    구분📖 전통 OSS🤖 AI OSS
    핵심 자산소스 코드코드 + 모델 웨이트 + 데이터셋
    디렉터리src/, lib/, tests/, docs/models/, data/, configs/, scripts/, notebooks/
    설정 파일package.json, Makefileconfig.json, tokenizer.json, training_args.json
    빌드npm build, makepip install + 모델 다운로드 (수 GB~수백 GB)
    테스트단위/통합 테스트벤치마크 + 인간 평가 + 정확도 측정
    라이선스MIT, Apache 2.0코드 라이선스 + 모델 라이선스 별도
    05
    AI 프로젝트 일반 구조
    Transformers, LangChain, Dify 등 공통 패턴
    my-ai-project/ ├── README.md # 프로젝트 소개 & 퀵스타트 ├── CONTRIBUTING.md # 기여 가이드라인 ├── setup.py / pyproject.toml # 패키지 설정 ├── src/ 또는 패키지명/ │ ├── models/ # 모델 정의 (아키텍처) │ ├── data/ # 데이터 로딩 & 전처리 │ ├── training/ # 학습 루프 & 최적화 │ ├── inference/ # 추론 파이프라인 │ ├── configs/ # 하이퍼파라미터 설정 │ └── utils/ # 유틸리티 함수 ├── tests/ # 테스트 코드 ├── scripts/ # 학습/평가 스크립트 ├── notebooks/ # Jupyter 노트북 예제 ├── docs/ # 문서 └── .github/workflows/ # CI/CD (GitHub Actions)
    06
    핵심 파일 해부: config.json
    모델의 DNA — 아키텍처와 하이퍼파라미터 정의
    { "model_type": "llama", "hidden_size": 4096, "intermediate_size": 11008, "num_hidden_layers": 32, "num_attention_heads": 32, "vocab_size": 32000, "max_position_embeddings": 4096, "torch_dtype": "float16", "architectures": ["LlamaForCausalLM"] }
    🔎 핵심 필드 설명
  • model_type: 모델 패밀리 (llama, gpt2, bert...)
  • hidden_size: 히든 레이어 차원 (모델 크기 결정)
  • num_hidden_layers: 트랜스포머 레이어 수
  • num_attention_heads: 어텐션 헤드 수
  • vocab_size: 토크나이저 어휘 크기
  • torch_dtype: 모델 정밀도 (fp16, bf16...)
  • 07
    핵심 파일 해부: tokenizer.json
    텍스트를 토큰 ID로 변환하는 규칙의 집합
    ✏ 토크나이저 구성요소
  • vocabulary: 토큰-ID 매핑 사전
  • merges: BPE 병합 규칙
  • special_tokens: [BOS], [EOS], [PAD] 등
  • normalizer: 텍스트 정규화 규칙
  • pre_tokenizer: 사전 분할 규칙
  • 📈 토큰화 알고리즘
  • BPE: GPT 계열 (바이트 페어 인코딩)
  • WordPiece: BERT 계열
  • SentencePiece: LLaMA, T5
  • Tiktoken: OpenAI GPT-4
  • 💡 토큰화 예시
  • 입력: "안녕하세요"
  • 토큰: ["안", "녕", "하세요"]
  • ID: [15023, 8842, 31095]
  • 한국어는 토큰 효율이 낮아 더 많은 토큰 소모
  • 08
    핵심 파일 해부: Model Weights
    학습된 파라미터 — 모델의 지식 그 자체
    💾 웨이트 파일 형식
  • PyTorch: pytorch_model.bin / model.safetensors
  • TensorFlow: tf_model.h5 / saved_model/
  • GGUF: llama.cpp용 양자화 포맷
  • ONNX: 크로스 프레임워크 호환
  • safetensors가 보안/속도 면에서 권장 (HuggingFace 표준)
  • 📊 모델 크기와 양자화
  • 7B 모델 (FP16): ~14 GB
  • 7B 모델 (Q4_K_M): ~4.1 GB
  • 70B 모델 (FP16): ~140 GB
  • 70B 모델 (Q4_K_M): ~40 GB
  • 양자화로 크기 3~4배 축소, 정확도 손실 최소
  • 09
    Inference Pipeline 전체 흐름
    입력부터 출력까지 — 데이터가 흐르는 경로를 추적하자
    ① 입력
    사용자 텍스트
    "안녕하세요"
    ② 토큰화
    Tokenizer
    [15023, 8842, ...]
    ③ 임베딩
    Token Embedding
    + Position Encoding
    ④ 트랜스포머
    Self-Attention
    + FFN × N layers
    ⑤ 출력
    Logits → Sampling
    → 텍스트 디코딩
    💡 이 흐름을 코드에서 직접 추적하는 것이 이번 주 핵심 과제입니다
    10
    파이프라인 상세: 토큰화 & 임베딩
    텍스트 → 숫자 → 벡터로의 변환
    ✏ 토큰화 과정
  • 1. 텍스트 정규화 (소문자 변환, 특수문자 처리)
  • 2. Pre-tokenization (공백/구두점 기준 분할)
  • 3. BPE/WordPiece로 서브워드 분할
  • 4. Special token 추가 ([BOS], [EOS])
  • 5. Token → ID 매핑
  • 6. Attention Mask 생성
  • 📈 임베딩 레이어
  • Token Embedding: ID → 고차원 벡터
  • Positional Encoding: 위치 정보 추가
  • RoPE (Rotary Position Embedding): LLaMA 계열
  • ALiBi: 선형 바이어스 기반 위치 인코딩
  • 결과: [batch, seq_len, hidden_size] 텐서
  • # HuggingFace Transformers 예시 from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-3B") inputs = tokenizer("안녕하세요", return_tensors="pt") # inputs: {'input_ids': tensor([[1, 15023, 8842, ...]]), 'attention_mask': tensor([[1, 1, 1, ...]])}
    11
    파이프라인 상세: 트랜스포머 블록
    Self-Attention + Feed-Forward Network의 반복
    🔭 Self-Attention
  • Query, Key, Value 행렬 계산
  • Attention Score = Q × K^T / √d
  • Softmax → 가중치 적용
  • Multi-Head: 여러 관점에서 동시 어텐션
  • KV Cache: 추론 시 이전 결과 재사용
  • 🔄 Feed-Forward
  • 2개의 선형 변환 + 활성화 함수
  • SwiGLU 활성화 (LLaMA)
  • GELU 활성화 (GPT)
  • Intermediate Size ≈ 2.7× Hidden Size
  • 대부분의 파라미터가 여기에 집중
  • 🛠 정규화 & 연결
  • Layer Normalization (Pre-LN이 표준)
  • RMSNorm: LLaMA의 효율적 정규화
  • Residual Connection: 그래디언트 흐름 보장
  • Dropout: 학습 시 과적합 방지
  • 12
    파이프라인 상세: 출력 & 디코딩
    Logits에서 텍스트로 — 샘플링 전략
    🎲 샘플링 전략
  • Greedy: 항상 최고 확률 토큰 선택 (빠르지만 반복적)
  • Top-K: 상위 K개 토큰 중 랜덤 선택
  • Top-P (Nucleus): 누적 확률 P까지의 토큰 중 선택
  • Temperature: 확률 분포 조절 (높을수록 다양)
  • Beam Search: 여러 후보 경로를 동시 탐색
  • 🔄 디코딩 흐름
  • 1. 마지막 히든 스테이트 → LM Head (선형 변환)
  • 2. Logits: [vocab_size] 크기 벡터
  • 3. Temperature 적용: logits / T
  • 4. Top-K/Top-P 필터링
  • 5. Softmax → 확률 분포
  • 6. 샘플링 → 토큰 ID → 텍스트
  • 7. EOS 토큰까지 반복 (Autoregressive)
  • 13
    모듈 의존성 분석 방법
    코드베이스의 연결 관계를 파악하는 기법
    🔎 정적 분석
  • import 구문 추적
  • 클래스 상속 관계 파악
  • 함수 호출 그래프 생성
  • 도구: pydeps, pyreverse, madge
  • 🤖 AI 도구 활용
  • Claude Code: "이 모듈의 의존성을 분석해줘"
  • Cursor: @Codebase로 전체 구조 질문
  • "이 함수를 호출하는 곳을 모두 찾아줘"
  • AI가 의존성 다이어그램 생성
  • 📈 핵심 지표
  • 모듈 결합도 (Coupling)
  • 응집도 (Cohesion)
  • 순환 의존성 (Circular deps)
  • 진입점 (Entry points) 파악
  • 14
    의존성 분석 실습
    Transformers 라이브러리를 예시로
    transformers/ ├── models/ # 200+ 모델 아키텍처 (각각 독립적 모듈) │ ├── llama/ # LLaMA 모델 │ │ ├── modeling_llama.py # 모델 구현 │ │ ├── configuration_llama.py # config 클래스 │ │ └── tokenization_llama.py # 토크나이저 │ ├── bert/ # BERT 모델 │ └── gpt2/ # GPT-2 모델 ├── pipelines/ # 고수준 추론 API (pipeline("text-generation")) ├── generation/ # 텍스트 생성 로직 (sampling, beam search) ├── tokenization_utils.py # 토크나이저 기반 클래스 ├── modeling_utils.py # 모델 기반 클래스 (PreTrainedModel) └── configuration_utils.py # 설정 기반 클래스 (PretrainedConfig) 의존성 흐름: pipeline → model → config + tokenizer → generation
    💡 각 모델은 독립적이지만, 공통 기반 클래스(PreTrainedModel)를 상속받아 일관된 API 제공
    15
    Claude Code코드 분석 (1)
    프로젝트 셋업 & 전체 구조 파악
    ① 프로젝트 셋업
  • git clone <repo-url>
  • cd <repo>
  • claude (Claude Code 시작)
  • /init (CLAUDE.md 자동 생성)
  • 프로젝트 개요, 기술 스택, 폴더 구조, 컨벤션이 기록됨
  • ② 전체 구조 질문
  • "이 프로젝트의 전체 아키텍처를 설명해줘"
  • "주요 모듈과 의존성을 파악해줘"
  • "이 프로젝트의 진입점(entry point)은 어디야?"
  • "CONTRIBUTING.md를 읽고 기여 가이드라인을 요약해줘"
  • 아직 코드 수정은 하지 마세요! 먼저 프로젝트 구조를 완전히 이해한 후에 코드를 수정하세요.
    16
    Claude Code코드 분석 (2)
    이슈 관련 코드 탐색 & 함수 추적
    🔎 코드 탐색 질문 예시
  • "이 함수의 역할은 무엇이야?"
  • "이 모듈의 데이터 흐름은 어떻게 돼?"
  • "이 클래스를 사용하는 곳을 모두 찾아줘"
  • "이 에러가 발생하는 원인을 분석해줘"
  • "이 테스트가 무엇을 검증하는지 설명해줘"
  • "이슈 #123과 관련된 코드를 찾아줘"
  • 🛠 실용 팁
  • 에이전틱 검색으로 관련 파일 자동 탐색
  • 멀티파일 컨텍스트로 전체 흐름 파악
  • git log와 연동하여 변경 이력 추적
  • 테스트 코드를 먼저 읽어 기대 동작 이해
  • CLAUDE.md에 발견한 내용을 계속 기록
  • 17
    Claude Code 실전 워크플로우
    End-to-End: 이슈 분석부터 수정 방향 도출까지
    이슈 확인
    GitHub 이슈 읽기
    코드 탐색
    관련 코드 찾기
    원인 분석
    버그/기능 이해
    수정 방향
    해결 전략 수립
    계획서 작성
    PR 초안 준비
    # Claude Code 실전 예시 > "GitHub 이슈 #456을 분석해줘. 관련 코드를 찾고 원인을 파악해줘." Claude Code가 자동으로: 1. 이슈 내용 파악 2. 관련 파일 검색 (grep, file search) 3. 코드 흐름 추적 4. 원인 분석 결과 보고 5. 수정 방향 제안
    18
    IDE 내에서의 AI 기반 코드 분석
  • Agent Mode: 자율적 코드 작성 & PR 생성
  • 코드 설명: 함수 위에 커서 → "Explain this"
  • 테스트 자동 생성: "/tests" 명령
  • MCP 지원으로 외부 도구 연동
  • VS Code 내 자연스러운 통합
  • Cursor
  • @Codebase: 전체 레포 대상 질문
  • @Files, @Folders: 특정 파일/폴더 참조
  • 멀티파일 편집: 여러 파일 동시 수정
  • GPT-4o, Claude Sonnet, Gemini 등 모델 선택
  • 큰 컨텍스트 윈도우로 복잡한 분석에 유리
  • 19
    AI 코딩 도구 비교
    상황에 맞는 도구를 선택하자
    도구타입강점코드 분석 활용
    Claude Code터미널 에이전트전체 코드베이스 탐색, Git 통합프로젝트 구조 파악, 이슈 분석
    CopilotIDE 확장실시간 자동완성, Agent Mode함수 설명, 테스트 생성
    CursorAI IDE멀티파일 편집, 큰 컨텍스트@Codebase 질문, 리팩토링
    AiderCLI 도구Git-aware 편집, 오픈소스대규모 리팩토링
    💡 AI 도구는 "이해를 돕는 보조 수단" — AI 제안을 이해하고 검증한 후 활용!
    20
    Good First Issue 찾기
    첫 기여를 위한 이슈 탐색 전략
    🌐 탐색 플랫폼
  • goodfirstissue.dev
  • forgoodfirstissue.github.com
  • firstcontributions.github.io
  • GitHub 라벨: "good first issue"
  • GitHub 라벨: "help wanted"
  • 🔍 검색 방법
  • GitHub: label:"good first issue" is:open
  • 프로젝트별 CONTRIBUTING.md 확인
  • Discord/Slack 채널에서 멘토에게 추천 요청
  • 최근 닫힌 이슈를 참고하여 패턴 파악
  • ⚠ 주의사항
  • 이미 누군가 작업 중인지 확인
  • 오래된 이슈는 여전히 유효한지 확인
  • 작업 전 이슈에 코멘트 남기기
  • 멘토와 상의 후 착수
  • 21
    Good First Issue 분석법
    이슈를 읽고 기여 가능성을 판단하는 방법
    📝 이슈 분석 체크리스트
  • ☑ 이슈 설명이 명확한가?
  • ☑ 재현 방법이 제공되는가?
  • ☑ 관련 코드 영역이 명시되어 있는가?
  • ☑ 기대 동작이 정의되어 있는가?
  • ☑ 테스트 케이스가 제시되어 있는가?
  • ☑ 해결 방향 힌트가 있는가?
  • ☑ 최근 활동이 있는 이슈인가?
  • 🤖 AI로 이슈 분석하기
  • Claude Code: "이 이슈의 원인과 해결 방향을 분석해줘"
  • 관련 코드 영역 자동 탐색
  • 유사한 해결 사례 참조
  • 난이도 평가 및 작업량 추정
  • 기여 계획 초안 자동 생성
  • 22
    AI로 이슈 분석 실습
    실제 이슈를 Claude Code로 분석하는 과정
    # Step 1: 이슈 내용 확인 > "GitHub 이슈 #789의 내용을 요약해줘" # Step 2: 관련 코드 탐색 > "이 이슈와 관련된 코드를 찾아줘. 아직 수정은 하지 마" # Step 3: 원인 분석 > "이 버그의 근본 원인이 무엇인지 분석해줘" # Step 4: 해결 방향 도출 > "이 문제를 해결하기 위한 방법을 3가지 제안해줘" # Step 5: 난이도 평가 > "이 이슈를 해결하는 데 예상되는 작업량과 난이도를 평가해줘"
    💡 항상 AI의 분석 결과를 직접 코드를 읽어서 검증하세요
    23
    이슈 선정 기준
    6주 프로그램에 적합한 이슈를 고르는 전략
    ✅ 좋은 이슈의 조건
  • 범위가 명확하고 1~2주 내 해결 가능
  • 관련 코드 영역이 명시되어 있음
  • 테스트로 완료를 확인할 수 있음
  • 프로젝트 메인테이너가 활발히 활동 중
  • 비슷한 이슈가 이전에 해결된 사례가 있음
  • ❌ 피해야 할 이슈
  • 범위가 모호하거나 너무 넓음
  • 6개월 이상 방치된 이슈
  • 아키텍처 변경이 필요한 대규모 리팩토링
  • 메인테이너 응답이 없는 프로젝트
  • 이미 다른 사람이 작업 중인 이슈
  • 24
    이슈 선정 전략
    트랙별 추천 이슈 유형
    트랙추천 이슈 유형난이도예상 기간
    트랙 A버그 수정, 문서 번역, 테스트 추가, 타이핑 힌트 추가★★☆1~2주
    트랙 BAI 기능 추가 (검색, 요약, 챗봇), API 통합★★★2~3주
    트랙 CMCP 서버 개발, AI 데모 앱, 새로운 Tool 추가★★☆1~3주
    💡 첫 기여는 작은 것부터! 문서 수정이나 타이핑 힌트 추가도 훌륭한 기여입니다.
    25
    기여 계획서 작성법
    PR을 제출하기 전에 계획을 세우자
    📝 기여 계획서 구조
  • 1. 이슈 요약: 무엇을 해결하는가?
  • 2. 원인 분석: 왜 이 문제가 발생하는가?
  • 3. 해결 방향: 어떻게 해결할 것인가?
  • 4. 변경 파일: 어떤 파일을 수정하는가?
  • 5. 테스트 계획: 어떻게 검증하는가?
  • 6. 예상 일정: 언제까지 완료하는가?
  • ✅ 좋은 계획서 예시
  • 이슈: LangChain의 한국어 문서 번역 (#1234)
  • 범위: docs/ko/ 디렉터리에 Getting Started 번역
  • 방법: AI 번역 후 직접 검수, 용어집 준수
  • 파일: docs/ko/getting_started.md (신규)
  • 검증: 빌드 성공 + 멘토 리뷰
  • 일정: 3일 내 초안 → 5일 내 최종
  • 26
    기여 계획서 템플릿
    복사해서 바로 사용할 수 있는 템플릿
    ## 기여 계획서 ### 대상 이슈 - 프로젝트: [프로젝트명] - 이슈 번호: #[번호] - 이슈 제목: [제목] ### 문제 분석 - 현재 상황: [현재 동작 설명] - 기대 동작: [올바른 동작 설명] - 원인: [AI 도구 + 직접 분석으로 파악한 원인] ### 해결 방안 - 접근 방식: [구체적인 해결 방법] - 변경 예정 파일: - [ ] file1.py - [변경 내용] - [ ] file2.py - [변경 내용] - [ ] test_file.py - [테스트 추가] ### 테스트 계획 - [ ] 기존 테스트 통과 확인 - [ ] 새로운 테스트 케이스 추가 - [ ] CI/CD 파이프라인 통과 ### 일정 - 코드 작성: [날짜] - 테스트 완료: [날짜] - PR 제출: [날짜]
    27
    AI로 기여 계획서 작성
    Claude Code를 활용한 계획서 초안 생성
    # Claude Code로 기여 계획서 초안 작성 > "이슈 #789에 대한 기여 계획서를 작성해줘. 다음을 포함해줘: 1. 문제 분석 (원인과 영향) 2. 해결 방안 (구체적 코드 변경 계획) 3. 변경 예정 파일 목록 4. 테스트 계획 코드는 아직 수정하지 마."
    ⚠ AI 계획서의 주의점
  • AI가 생성한 계획서를 반드시 직접 검토
  • 관련 코드를 직접 읽어서 AI 분석 검증
  • 실현 가능성 판단은 사람의 몫
  • 멘토와 함께 리뷰 후 최종 확정
  • 💡 계획서 활용법
  • 팀 위키에 공유하여 피드백 받기
  • 멘토 리뷰 후 이슈에 코멘트로 공유
  • PR 설명문의 기초 자료로 활용
  • 기여 과정 문서화의 시작점
  • 28
    트랙 A 분석 가이드
    AI로 기존 오픈소스에 기여 — 코드 분석 중심
    ✍ 핵심 활동
  • Claude Code로 타겟 프로젝트 전체 구조 파악
  • "이 프로젝트의 아키텍처를 설명해줘"
  • Good First Issue를 AI로 분석
  • "이 이슈의 원인과 해결 방향을 분석해줘"
  • AI로 테스트 코드 커버리지 분석
  • 📈 추천 타겟 프로젝트
  • Transformers (140K+ Stars) — 한국어 문서, 테스트
  • FastAPI — 버그 수정, 문서 개선
  • Dify (119K Stars) — 한국어 번역, 플러그인
  • Gradio — 컴포넌트 추가, 예제 앱
  • LangChain (100K+ Stars) — 도구 통합, 문서
  • 29
    트랙 A AI 기여 워크플로우
    AI 도구 활용 기여의 5단계
    ① 구조 파악
    Claude Code /init
    아키텍처 이해
    ② 이슈 분석
    AI로 이슈 분석
    원인 파악
    ③ 코드 수정
    Copilot/Cursor
    코드 작성
    ④ 테스트
    AI 테스트 생성
    커버리지 향상
    ⑤ PR 제출
    Claude Code
    /create-pr
    🏆 성과 사례: Qonto는 aider로 엔지니어당 생산성 20배(2,000%) 향상
    OpenObserve는 Claude Code 에이전트로 700+ 테스트, 플레이키 테스트 85% 감소
    30
    트랙 B 분석 가이드
    기존 오픈소스에 AI 기능 추가 — 확장 포인트 분석
    🔎 확장 포인트 분석
  • 플러그인 시스템 파악
  • 미들웨어 체인 구조 분석
  • API 엔드포인트 확장 방법
  • 이벤트 훅/콜백 메커니즘
  • 설정 파일 기반 확장
  • 🤖 AI SDK 통합 설계
  • Vercel AI SDK: 스트리밍 UI
  • LangChain: RAG 파이프라인
  • OpenAI API: 범용 LLM 호출
  • API 키 관리 (.env 활용)
  • 비용 관리 (rate limiting)
  • 💾 벡터 DB 연동
  • pgvector: PostgreSQL 확장
  • Chroma: 개발자 친화적
  • 시맨틱 검색 기능 추가
  • 하이브리드 검색 (BM25 + 벡터)
  • 임베딩 모델 선택
  • 31
    트랙 B 추천 프로젝트
    AI 기능 추가 아이디어와 타겟 프로젝트
    프로젝트AI 기능 아이디어기술 스택난이도
    Supabase벡터 검색(pgvector) 확장, AI 쿼리 빌더PostgreSQL, pgvector★★★
    DocusaurusAI 문서 검색/Q&A 챗봇React, Vercel AI SDK★★☆
    ExcalidrawAI 다이어그램 자동 생성React, LLM API★★★
    Mermaid자연어 → 다이어그램 생성JavaScript, LLM API★★☆
    32
    트랙 C 분석 가이드
    AI 네이티브 프로젝트 — MCP, Agent, RAG
    🔗 MCP 서버 개발
  • MCP: LLM과 외부 도구 연결 표준
  • 월간 SDK 다운로드 9,700만 회
  • Python FastMCP로 빠른 개발
  • 한국 서비스 연동 기회
  • KiMCP: 네이버/카카오/TMAP
  • 🤖 AI Agent/RAG
  • LangChain: LLM 앱 개발 표준
  • CrewAI: 멀티 에이전트 협업
  • RAGFlow: RAG + Agent 통합
  • Streamlit/Gradio 데모 앱
  • 학칙 Q&A 챗봇 등
  • 📈 난이도 가이드
  • 간단 (1~2일): 단일 API 래핑 MCP
  • 중간 (1~2주): 여러 API 통합
  • 복잡 (2~4주): 인증 + 비동기 + 상태
  • 초보자는 간단한 MCP부터 시작 추천
  • 33
    MCP 서버 개발 예시
    Python FastMCP로 빠르게 시작하기
    # FastMCP로 한국 서비스 MCP 서버 개발 from fastmcp import FastMCP mcp = FastMCP("korean-service") @mcp.tool() def search_naver(query: str) -> str: """네이버 검색 API로 웹 검색을 수행합니다""" import requests headers = { "X-Naver-Client-Id": os.environ["NAVER_CLIENT_ID"], "X-Naver-Client-Secret": os.environ["NAVER_CLIENT_SECRET"] } resp = requests.get( "https://openapi.naver.com/v1/search/webkr.json", params={"query": query, "display": 5}, headers=headers ) return resp.json() @mcp.tool() def get_weather(city: str) -> str: """도시의 날씨 정보를 반환합니다""" # 기상청 API 연동 return f"{city}의 날씨: 맑음, 5°C"
    34
    Streamlit / Gradio 앱 구조
    AI 데모 앱 개발 프레임워크 비교
  • 커스터마이징, 복잡한 UI/UX에 강점
  • 데이터 대시보드, 분석 앱에 적합
  • 풍부한 커뮤니티 컴포넌트
  • Streamlit Cloud로 무료 배포
  • 프로젝트: 학칙 Q&A 챗봇
  • 🎨 Gradio
  • ML 모델 공유, 비텍스트 입력에 강점
  • Hugging Face Spaces 호스팅
  • 챗봇 UI 내장 지원
  • 이미지/음성/비디오 입출력
  • 프로젝트: 한국어 모델 벤치마크 데모
  • 35
    실제 분석: Transformers
    GitHub Stars 140K+ · Hugging Face의 핵심 라이브러리
    📁 프로젝트 구조
  • 200+ 모델 아키텍처
  • 각 모델: modeling, config, tokenization 3파일
  • 공통 기반: PreTrainedModel
  • pipeline()으로 고수준 API
  • generation/으로 텍스트 생성
  • ✅ 기여 기회
  • 한국어 문서 번역
  • 예제 노트북 최신화
  • 테스트 커버리지 향상
  • 모델 카드 작성
  • Good First Issue 활발
  • 🛠 분석 포인트
  • AutoModel 자동 로딩 메커니즘
  • pipeline() 실행 흐름 추적
  • generate() 디코딩 전략
  • PEFT/LoRA 통합 방식
  • 36
    실제 분석: LangChain
    GitHub Stars 100K+ · LLM 앱 개발 표준 프레임워크
    📁 프로젝트 구조
  • langchain-core: 핵심 추상화
  • langchain-community: 통합 모듈
  • langchain: 체인/에이전트 조합
  • LangGraph: 상태 기반 워크플로우
  • LCEL: 선언적 체인 구성
  • ✅ 기여 기회
  • 새로운 Tool/Loader 추가
  • 한국어 문서 번역
  • 예제 코드 작성
  • 버그 수정/테스트 추가
  • 통합 모듈 품질 개선
  • 🛠 분석 포인트
  • Runnable 인터페이스 이해
  • LCEL 파이프라인 실행 흐름
  • Tool calling 메커니즘
  • Agent 실행 루프 추적
  • 37
    실제 분석: Dify
    GitHub Stars 119K+ · 비주얼 LLM 앱 빌더
    📁 프로젝트 구조
  • TypeScript + Python 하이브리드
  • 프론트엔드: Next.js 기반 비주얼 에디터
  • 백엔드: Flask API + Celery 워커
  • RAG 파이프라인 내장
  • 플러그인 시스템으로 확장 가능
  • ✅ 기여 기회
  • 한국어 번역 (i18n 파일 수정)
  • 새로운 플러그인 개발
  • 문서 개선 및 튜토리얼 작성
  • UI/UX 버그 수정
  • Good First Issue 라벨 활발
  • 38
    실제 분석: MCP 생태계
    10,000+ 활성 서버 · 월간 SDK 다운로드 9,700만 회
    MCP 서버기능기여 기회
    KiMCP네이버/카카오/TMAP 통합새로운 한국 서비스 추가
    GitHub MCP리포, 이슈, PR 관리기능 확장, 버그 수정
    PostgreSQL MCP자연어 DB 쿼리한국어 쿼리 지원
    신규 개발공공데이터, 한국은행 API새 MCP 서버 제작
    💡 MCP 서버 개발은 초보자도 1~2일이면 시작할 수 있어 첫 기여에 최적!
    39
    이번 주 과제 안내
    Week 2 필수 과제 3가지
    📝 과제 1
  • 이슈 1개 선정 및 기여 계획서 제출
  • AI 도구로 이슈 분석
  • 기여 계획서 템플릿 작성
  • 멘토 리뷰 후 확정
  • 📚 과제 2
  • 프로젝트 아키텍처 분석 문서 작성
  • 팀 위키에 공유
  • 주요 모듈, 의존성, 진입점 정리
  • 디렉터리 구조 다이어그램 포함
  • 🤖 과제 3
  • 타겟 이슈 관련 코드 영역을 AI 도구로 분석한 결과 공유
  • Claude Code 분석 로그 스크린샷
  • AI 분석 결과 + 직접 검증 비교
  • 📅 제출 마감: 다음 멘토링 세션 전까지 · Discord 팀 채널에 공유
    40
    Q&A & 참고 자료
    궁금한 점이 있으면 언제든 질문하세요!
    📖 학습 자료
  • goodfirstissue.dev
  • GitHub Skills (skills.github.com)
  • Hugging Face Course
  • MCP 공식 문서
  • Microsoft mcp-for-beginners
  • 🛠 AI 코딩 도구
  • Claude Code (docs.anthropic.com)
  • GitHub Copilot
  • Cursor (cursor.com)
  • Aider (aider.chat)
  • 💬 소통 채널
  • Discord 팀 채널
  • 멘토 Office Hour
  • #ai-tools-tips 채널
  • #code-review 채널
  • 🚀 다음 주 예고: Week 3 — 첫 번째 기여 Sprint · 첫 PR의 감동!