✨✨✨➤
AI Open Source Impact
Week 4 : 기여 심화 Sprint
" 피드백을 반영하고, 더 깊이 파고들자 "
✍ 트랙A: AI 도구 고급⚙ 트랙B: AI SDK 심화🚀 트랙C: MCP/Agent 고급
W4
4주차 온라인
1h
멘토링 세션
2h
Sprint 활동
3트랙
심화 주제
02
이번 주 학습 목표
PR 피드백 반영 + 기술 심화 + 협업 체화
🎯 목표 1
  • 메인테이너의 피드백을 분석하고 PR을 개선한다
  • 리뷰 코멘트에 적절히 대응하는 법을 익힌다
  • 🛠 목표 2
  • 더 심화된 기여(기능 개선, 성능 최적화)에 도전한다
  • 트랙별 고급 기술을 학습한다
  • 🤝 목표 3
  • 오픈소스 커뮤니티에서의 협업 패턴을 체화한다
  • Peer Review를 통해 팀 역량을 높인다
  • 03
    멘토링 세션 구성
    화상회의 1시간 집중 세션
    💬 PR 리뷰 & 피드백 대응
    20분
    ➤
    📚 기술 심화 세션
    20분
    ➤
    🔧 기술 병목 해결
    20분
    시간내용세부사항
    20분PR 리뷰 & 피드백메인테이너 피드백 분석, 수정 전략, Force Push vs 추가 커밋
    20분기술 심화트랙별 심화 주제 (A/B/C)
    20분병목 해결팀별 이슈 트러블슈팅, Q&A
    04
    메인테이너 피드백 분석법
    PR 리뷰를 받았을 때 어떻게 대응할 것인가?
    🔎 피드백 유형 분류
  • Must Fix : 버그, 보안 이슈, 로직 오류 - 반드시 수정
  • Should Fix : 코드 스타일, 네이밍, 컨벤션 - 프로젝트 규칙 따르기
  • Nice to Have : 성능 개선, 리팩토링 제안 - 논의 후 결정
  • Question : 설계 의도 질문 - 정중하게 설명
  • 💡 대응 원칙
  • 모든 코멘트에 반드시 답변하기
  • 동의하면 수정, 다른 의견이 있으면 근거와 함께 논의
  • "Thank you for the review" 등 감사 표현 잊지 않기
  • 수정 후 "Done" 또는 "Fixed in [commit hash]"로 표시
  • 05
    피드백 대응 실전 예시
    실제 PR 리뷰 대화에서 배우기
    ✅ Good Response
    Reviewer: "이 함수에 에러 핸들링이 필요합니다." You: "좋은 지적 감사합니다! try-catch를 추가하고 커스텀 에러 클래스도 만들었습니다. Fixed in abc1234. PTAL (Please Take Another Look)"
    ❌ Bad Response
    Reviewer: "이 함수에 에러 핸들링이 필요합니다." You: "그건 이 PR 범위 밖입니다." (근거 없이 거부하면 신뢰를 잃음) Better: "현재 PR 범위를 넘어서는 것 같아 별도 이슈로 분리하겠습니다. #456 생성했습니다."
    06
    AI로 피드백 분석하기
    Claude Code를 활용한 리뷰 피드백 대응
    🤖 Claude Code 활용법
    # PR 리뷰 피드백 분석 요청 > "이 PR의 리뷰 코멘트를 분석하고 수정 전략을 제안해줘" # 특정 피드백에 대한 수정안 > "이 리뷰어의 제안대로 코드를 수정해줘: [리뷰 내용 붙여넣기]" # 수정 후 응답 메시지 작성 > "이 변경사항을 설명하는 리뷰 응답을 영어로 작성해줘"
    💡 핵심 포인트
  • AI가 제안한 수정을 반드시 이해한 후 적용
  • 리뷰어의 의도를 AI에게 설명하면 더 정확한 수정안
  • AI로 영어 응답 작성 시 자연스러운 톤 유지
  • CI/CD 실패 시 AI로 로그 분석 가능
  • 07
    Force Push vs 추가 커밋
    PR 수정 시 어떤 전략을 선택할 것인가?
    구분Force Push (rebase + push -f)추가 커밋 (fixup commit)
    방식기존 커밋을 수정/합치고 강제 푸시새 커밋으로 수정사항 추가
    장점깔끔한 커밋 히스토리, 하나의 논리적 커밋리뷰 히스토리 보존, 변경 추적 용이
    단점리뷰 히스토리 손실, 다른 사람 작업 덮어쓸 위험커밋 히스토리가 지저분해질 수 있음
    사용 시점리뷰 전 정리, 소규모 PR, 요청 시리뷰 중 수정, 대규모 변경, 협업 브랜치
    ⚠ 프로젝트마다 선호 방식이 다름 - CONTRIBUTING.md 확인 필수!
    08
    Force Push 실습
    Interactive Rebase로 커밋 정리하기
    # 1. 최근 N개 커밋을 interactive rebase git rebase -i HEAD~3 # 2. 에디터에서 pick/squash/fixup 선택 pick abc1234 feat: add search API squash def5678 fix: typo in search fixup ghi9012 style: formatting # 3. 커밋 메시지 수정 후 저장 # 4. Force push (--force-with-lease 권장!) git push --force-with-lease origin my-feature # --force-with-lease: 원격에 다른 사람이 push한 게 있으면 거부 (안전) # --force: 무조건 덮어쓰기 (위험!)
    TIP: 항상 --force-with-lease를 사용하여 다른 사람의 작업을 덮어쓰지 않도록!
    09
    Git Rebase vs Merge
    브랜치 통합 전략의 이해
    🔀 Merge
  • 두 브랜치의 히스토리를 보존
  • Merge commit이 생성됨
  • 팀 협업 시 안전한 선택
  • 감사 추적이 필요한 프로젝트에 적합
  • git merge main
  • 🔁 Rebase
  • 커밋을 다른 베이스 위에 재적용
  • 선형적이고 깔끔한 히스토리
  • 개인 브랜치에서만 사용 권장
  • 공유 브랜치에서 사용 금지!
  • git rebase main
  • Golden Rule: 공개(public) 브랜치는 절대 rebase 하지 않는다!
    10
    Rebase 워크플로우
    PR 제출 전 브랜치를 최신 상태로 유지하기
    # 1. main 브랜치 최신화 git checkout main && git pull origin main # 2. feature 브랜치로 이동 후 rebase git checkout my-feature git rebase main # 3. 충돌 발생 시: 파일 수정 후 git add [충돌 해결 파일] git rebase --continue # 4. 되돌리기: git rebase --abort # 5. rebase 완료 후 force push git push --force-with-lease origin my-feature
    💡 대부분의 오픈소스 프로젝트는 PR 제출 전 rebase를 권장합니다
    11
    Squash and Merge 전략
    GitHub PR 머지 옵션의 이해
    머지 방식특징사용 시점
    Create a merge commit모든 커밋 히스토리 유지 + merge commit대규모 기능, 히스토리 보존
    Squash and merge모든 커밋을 하나로 압축 후 merge소규모 PR, 깔끔한 main
    Rebase and merge커밋을 main 위에 선형으로 재적용선형 히스토리, 의미 있는 커밋
    💡 실전 팁
  • 대부분의 오픈소스는 Squash and merge를 기본 사용
  • Squash 시 최종 커밋 메시지를 잘 작성하는 것이 중요
  • 프로젝트 CONTRIBUTING.md에서 선호 전략 확인
  • 12
    트랙 A 심화: AI 도구 고급
    Claude Code 멀티파일 편집 & Copilot Agent 모드
    ✍ Claude Code 고급
  • 멀티파일 편집
  • CLAUDE.md 활용
  • /create-pr 자동화
  • Claude Cowork 에이전트
  • 🤖 Copilot Agent 모드
  • 이슈 자동 할당
  • 자율적 PR 생성
  • MCP 프로토콜 지원
  • 코드 리뷰 피드백 응답
  • 💻 Cursor 심화
  • @Files, @Code 심볼
  • 멀티파일 리팩토링
  • 전체 레포 컨텍스트
  • 다양한 AI 모델 선택
  • 13
    Claude Code 멀티파일 편집
    여러 파일에 걸친 변경을 한 번에 처리
    📄 활용 시나리오
  • API 엔드포인트 추가: 라우트 + 컨트롤러 + 테스트 + 타입
  • 리팩토링: 함수 추출 후 여러 파일에서 import 수정
  • 버그 수정: 원인 파일 + 테스트 파일 동시 수정
  • 문서 업데이트: 코드 변경과 함께 README 자동 수정
  • 💻 실습 명령어
    # 멀티파일 편집 요청 > "이 함수를 별도 모듈로 추출하고 기존 import를 모두 업데이트해줘" # CLAUDE.md에 프로젝트 컨벤션 기록 > /init # 변경 사항 확인 후 커밋 > "변경 사항을 리뷰하고 커밋해줘"
    14
    AI 기반 대규모 코드 리팩토링
    실제 기업 사례에서 배우는 AI 리팩토링 전략
    🏢 Qonto 사례
  • aider(오픈소스 CLI)로 대규모 마이그레이션
  • 엔지니어당 생산성 20배(2,000%) 향상
  • ~50 LoC/일 ➤ 1,000+ LoC/일
  • 💚 OpenObserve 사례
  • 8개 Claude Code 에이전트 활용
  • 700+ 테스트 커버리지
  • 플레이키 테스트 85% 감소
  • 🛠 주요 도구
  • Codemod 2.0 - AI + 결정론적 엔진
  • OpenRewrite - 자동 레시피 기반
  • Moderne - 대규모 현대화
  • 15
    AI 리팩토링 실전 가이드
    단계별 접근법으로 안전하게 리팩토링
    1. 분석
    AI로 코드 스멜 탐지
    ➤
    2. 계획
    리팩토링 범위 정의
    ➤
    3. 테스트
    기존 테스트 확인
    ➤
    4. 실행
    AI로 코드 변환
    ➤
    5. 검증
    테스트 + 리뷰
    ⚠ 주의사항
  • AI 리팩토링 결과를 반드시 검증 - 테스트 통과 확인
  • 한 번에 너무 큰 범위를 변경하지 않기 - 작은 PR로 분리
  • 리팩토링과 기능 변경을 별도 커밋으로 분리
  • 16
    트랙 B 심화: AI SDK & 통합 패턴
    Vercel AI SDK, LangChain, 벡터 DB, 프롬프트 엔지니어링
    ⚙ Vercel AI SDK
  • 스트리밍 구현
  • AI Gateway
  • Agent 추상화
  • 🔗 LangChain
  • LCEL 파이프라인
  • LangGraph 1.0
  • 도구 호출
  • 🗃 벡터 DB
  • pgvector 통합
  • Chroma 활용
  • 하이브리드 검색
  • 💬 프롬프트
  • 시스템 프롬프트
  • Few-shot 학습
  • 구조화된 출력
  • 17
    Vercel AI SDK 스트리밍
    AI SDK 6 - 실시간 텍스트 스트리밍의 핵심
    ⚙ 서버 사이드
    // app/api/chat/route.ts import { openai } from '@ai-sdk/openai'; import { streamText } from 'ai'; export async function POST(req: Request) { const { messages } = await req.json(); const result = streamText({ model: openai('gpt-4o'), messages, }); return result.toDataStreamResponse(); }
    🎨 클라이언트 사이드
    // components/Chat.tsx 'use client'; import { useChat } from '@ai-sdk/react'; export default function Chat() { const { messages, input, handleInputChange, handleSubmit } = useChat(); return ( <form onSubmit={handleSubmit}> {messages.map(m => <p key={m.id}>{m.content}</p> )} <input value={input} onChange={handleInputChange} /> </form> ); }
    18
    AI SDK 6 신기능
    Agent 추상화, 도구 실행, AI Gateway
    🤖 Agent 추상화
  • 프롬프트와 API를 자동 연결하는 Agent 객체
  • 도구 호출 + 사용자 승인 (needsApproval)
  • Memory Tool로 대화 간 정보 유지
  • 🔍 Provider Tools
  • 웹 검색 도구
  • 코드 실행 (샌드박스)
  • Tool Search (Regex/BM25)
  • 메모리 관리 도구
  • 🌐 AI Gateway
  • 18+ 모델 프로바이더 지원
  • 중앙화된 모델 접근
  • 예산 통제 및 모니터링
  • React/Vue/Svelte/Angular
  • 19
    LangChain LCEL 파이프라인
    LangChain Expression Language로 체인 구성하기
    🔗 LCEL 기본 구조
    from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser prompt = ChatPromptTemplate.from_template( "다음 주제를 요약해줘: {topic}" ) model = ChatOpenAI(model="gpt-4o") parser = StrOutputParser() # LCEL 체인: prompt | model | parser chain = prompt | model | parser result = chain.invoke({"topic": "MCP 프로토콜"}) # 스트리밍 for chunk in chain.stream({"topic": "RAG"}): print(chunk, end="")
    💡 LCEL 핵심 특징
  • | 연산자로 직관적 체인 구성
  • 모든 컴포넌트가 Runnable 인터페이스
  • 자동 스트리밍, 배치, 비동기 지원
  • LangSmith 트레이싱 자동 통합
  • LangChain & LangGraph v1.0 GA (2025.11)
    20
    LangGraph 1.0 심화
    그래프 기반 상태 관리 에이전트 워크플로우
    📈 핵심 개념
  • StateGraph - 상태를 가진 그래프 정의
  • Node - 각 단계의 로직 (함수)
  • Edge - 노드 간 전이 규칙
  • Conditional Edge - 조건부 분기
  • Durable State - 실행 상태 자동 영속화
  • Human-in-the-Loop - 사람 승인 후 재개
  • 🛠 실전 활용 패턴
  • ReAct Agent - 추론 + 행동 반복
  • Plan & Execute - 계획 후 단계별 실행
  • Multi-Agent - 여러 에이전트 협업
  • Checkpointing - 중단점 복구
  • LangSmith 비용 추적 (2025.12 추가)
  • 21
    벡터 DB 통합 패턴
    pgvector, Chroma - 시맨틱 검색의 핵심
    데이터베이스Stars특징적합한 용도
    pgvector15K+PostgreSQL 확장, SQL과 통합기존 PostgreSQL 사용 프로젝트
    Chroma6K+개발자 친화적, 빠른 시작프로토타이핑, 소규모 앱
    Milvus35K+대규모 분산 처리, 고성능산업용, 10억 규모 벡터
    Qdrant9K+Rust 기반, 고성능 필터링성능 중심 프로덕션
    2026년 베스트 프랙티스: 하이브리드 검색 (BM25 키워드 + 벡터 유사도)
    22
    pgvector 실습
    PostgreSQL에서 벡터 검색 구현하기
    -- 1. pgvector 확장 활성화 CREATE EXTENSION vector; -- 2. 임베딩 컬럼 테이블 생성 CREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT, embedding VECTOR(1536) -- OpenAI 임베딩 차원 ); -- 3. 유사도 검색 (코사인 거리) SELECT content, 1 - (embedding <=> '[0.1, 0.2, ...]') AS similarity FROM documents ORDER BY embedding <=> '[0.1, 0.2, ...]' LIMIT 5; -- 4. HNSW 인덱스 생성 CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops); -- 5. 하이브리드 검색 (키워드 + 벡터) SELECT content FROM documents WHERE content ILIKE '%검색어%' ORDER BY embedding <=> '[...]' LIMIT 10;
    23
    Chroma 실습
    Python에서 가장 빠르게 시작하는 벡터 DB
    💻 기본 사용법
    import chromadb client = chromadb.Client() collection = client.create_collection("docs") # 문서 추가 (임베딩 자동 생성) collection.add( documents=["MCP는 LLM 통합 프로토콜", "RAG는 검색 증강 생성"], ids=["doc1", "doc2"] ) # 시맨틱 검색 results = collection.query( query_texts=["AI 프로토콜"], n_results=2 )
    💡 LangChain 연동
    from langchain_chroma import Chroma from langchain_openai import OpenAIEmbeddings vectorstore = Chroma.from_documents( documents=docs, embedding=OpenAIEmbeddings() ) retriever = vectorstore.as_retriever( search_kwargs={"k": 3} ) # RAG 체인에 연결 chain = retriever | prompt | llm
    24
    프롬프트 엔지니어링 기법
    AI 기능의 품질을 결정하는 핵심 스킬
    🎯 기본 기법
  • 시스템 프롬프트: 역할과 제약 설정
  • Few-shot: 예시로 패턴 학습
  • Chain of Thought: 단계별 추론 유도
  • 🛠 고급 기법
  • 구조화된 출력: JSON 스키마 강제
  • 도구 호출: 함수 실행 지시
  • 프롬프트 캐싱: 비용 90% 절감
  • ⚠ 최적화 팁
  • 정적 콘텐츠는 프롬프트 앞부분에 배치
  • 간단한 작업은 저가 모델
  • max_tokens로 응답 길이 제한
  • 25
    프롬프트 실전 예시
    오픈소스 AI 기능에 사용하는 프롬프트 패턴
    # 시스템 프롬프트 예시: 코드 리뷰 봇 system_prompt = """ 당신은 시니어 코드 리뷰어입니다. 1. 보안 취약점을 최우선으로 체크 2. 성능 이슈를 지적 3. 코드 스타일 가이드 준수 여부 확인 4. 건설적이고 구체적인 피드백 제공 5. 응답은 JSON: {"issues": [...], "score": 0-10} """ # Few-shot 예시: 커밋 메시지 생성 few_shot = """ 예시 1: diff: + def validate_email(email): ... 커밋: feat(auth): add email validation utility 예시 2: diff: - timeout = 30 / + timeout = 60 커밋: fix(api): increase request timeout to 60s 이제 다음 diff에 대한 커밋 메시지를 작성하세요: {diff} """
    26
    트랙 C 심화: MCP/Agent 고급
    MCP 고급 활용, Agentic RAG, 멀티 에이전트
    🔗 MCP 고급
  • Streamable HTTP 전송
  • Tasks 프리미티브 (비동기)
  • OAuth 2.1 인증
  • Tool Composition
  • 📚 Agentic RAG
  • GraphRAG (지식 그래프)
  • 적응형 검색 전략
  • 불확실성 정량화
  • 자동 검증/합성
  • 🤖 멀티 에이전트
  • CrewAI 1.9+
  • LangGraph 에이전트
  • 역할 기반 협업
  • 이벤트 드리븐 워크플로우
  • 27
    MCP Streaming & Tasks
    2025.11 스펙 업데이트 핵심 기능
    🔃 Streamable HTTP
  • 기존 SSE 방식을 대체하는 새로운 전송
  • 양방향 통신 지원
  • Chunked Transfer Encoding
  • 단일 HTTP 연결로 메시지 전달
  • 대규모 배포에 적합한 확장성
  • 📋 Tasks 프리미티브
  • 비동기 장시간 작업 지원
  • 서버가 Task를 생성하고 핸들 반환
  • 진행 상황 업데이트 발행
  • 결과 전달 및 상태 추적
  • MCP SDK 다운로드 9,700만 회/월 | 활성 서버 10,000+ | AAIF 이관 완료
    28
    MCP 인증 & Tool Composition
    보안과 도구 조합의 고급 패턴
    🔒 OAuth 2.1 인증
  • MCP 서버를 OAuth Resource Server로 분류
  • Protected Resource Metadata 디스커버리
  • OpenID Connect 인가 서버 해석
  • Resource Indicators로 악의적 서버 방지
  • 🔧 Tool Composition
  • 여러 MCP 서버의 도구를 조합
  • 서버 간 파이프라인 구성
  • Structured Tool Output (2025.06)
  • MCP Registry(2,000+ 항목)에서 도구 탐색
  • 29
    MCP 서버 고급 구현
    FastMCP로 고급 기능 구현하기
    from fastmcp import FastMCP import httpx mcp = FastMCP("advanced-server") @mcp.resource("config://settings") def get_settings() -> str: return '{"theme": "dark", "language": "ko"}' @mcp.tool() async def search_api(query: str, limit: int = 5) -> str: """API에서 검색 결과를 반환합니다""" async with httpx.AsyncClient() as client: resp = await client.get( f"https://api.example.com/search?q={query}&limit={limit}" ) return resp.text @mcp.prompt() def analyze_data(data_type: str) -> str: return f"{data_type} 데이터를 분석하고 인사이트를 제공해주세요" # 주의: STDIO 서버에서 console.log() 대신 console.error() 사용!
    30
    Agentic RAG & GraphRAG
    차세대 검색 증강 생성의 핵심 패턴
    📚 GraphRAG
  • 지식 그래프 + 벡터 검색 결합
  • 검색 정밀도 99% 달성
  • 주요 구현: Microsoft GraphRAG, LightRAG
  • 🤖 Agentic RAG
  • 자율 에이전트가 동적 검색 전략 선택
  • 검색 ➤ 검증 ➤ 합성 루프 반복
  • 불확실성 정량화로 답변 품질 보장
  • 쿼리 분석
    ➤
    전략 선택
    ➤
    검색 실행
    ➤
    검증/반복
    ➤
    답변 합성
    31
    GraphRAG 구현 패턴
    지식 그래프 기반 RAG 파이프라인
    📈 구현 단계
  • 1단계: 문서에서 엔티티 & 관계 추출 (LLM 활용)
  • 2단계: 지식 그래프 구성 (Neo4j, NetworkX)
  • 3단계: 커뮤니티 탐지 & 요약 생성
  • 4단계: 쿼리 시 그래프 + 벡터 검색 결합
  • 5단계: 컨텍스트 조합 후 LLM 응답 생성
  • 🛠 주요 프레임워크
    프레임워크특징
    Microsoft GraphRAG공식 구현, 대규모
    LightRAG경량, 빠른 시작
    Nano-GraphRAG미니멀, 학습용
    RAGFlowRAG+Agent 통합
    32
    멀티 에이전트: CrewAI
    역할 기반 AI 에이전트 협업 프레임워크
    🤖 CrewAI 핵심
  • Agent - 역할, 목표, 배경을 가진 자율 에이전트
  • Task - 에이전트에게 할당된 구체적 작업
  • Crew - 에이전트 팀 + 작업 순서 정의
  • Flow - 이벤트 드리븐 프로덕션 워크플로우
  • v1.9+ | 43,700+ Stars | 100K+ 인증 개발자
    💻 코드 예시
    from crewai import Agent, Task, Crew researcher = Agent( role="리서처", goal="주제에 대한 정보 수집", backstory="숙련된 연구 전문가" ) writer = Agent( role="작성자", goal="리서치 결과를 보고서로 작성", backstory="기술 문서 전문가" ) crew = Crew( agents=[researcher, writer], tasks=[Task(description="MCP 조사", agent=researcher), Task(description="보고서 작성", agent=writer)] ) result = crew.kickoff()
    33
    멀티 에이전트: LangGraph
    그래프 기반 에이전트 오케스트레이션
    📈 LangGraph vs CrewAI
    구분LangGraphCrewAI
    접근그래프 기반 상태 관리역할 기반 협업
    유연성매우 높음 (저수준)높음 (고수준)
    학습곡선가파름완만함
    적합복잡한 워크플로우팀 협업 시뮬레이션
    💡 선택 가이드
  • LangGraph: 세밀한 제어, 복잡한 분기, 프로덕션
  • CrewAI: 빠른 프로토타이핑, 역할 기반, 직관적 API
  • AutoGen: 연구 목적, 비동기 이벤트 드리븐
  • 2025 트렌드: 프레임워크 기반 엔지니어링으로 전환
  • 34
    Peer Review 효과적으로 하기
    코드 리뷰의 기술 - 주는 것과 받는 것
    ✅ 리뷰어로서
  • 먼저 PR 설명과 관련 이슈를 읽기
  • 큰 그림 파악 후 세부 리뷰
  • "왜?"를 질문하되 비난이 아닌 호기심으로
  • 구체적인 대안을 코드와 함께 제시
  • 잘한 부분도 언급: "Nice approach!"
  • 💬 리뷰 받는 입장
  • 모든 피드백을 감사히 받아들이기
  • 방어적으로 반응하지 않기
  • 동의하면 수정, 다르면 근거와 함께 토론
  • 수정 완료 후 "Resolved" 표시하기
  • 큰 변경은 별도 이슈/PR로 분리 제안
  • 35
    코드 리뷰 체크리스트
    팀 내 코드 리뷰 시 확인 항목
    🔎 기능 & 로직
    • 요구사항을 올바르게 구현?
    • 엣지 케이스를 처리?
    • 에러 핸들링이 적절?
    • 비즈니스 로직이 맞는가?
    🔐 보안 & 성능
    • 입력 검증이 되어 있는가?
    • API 키가 노출되지 않는가?
    • 불필요한 API 호출은 없는가?
    • N+1 쿼리 문제는 없는가?
    📝 코드 품질
    • 네이밍이 명확한가?
    • 테스트가 포함되어 있는가?
    • 프로젝트 컨벤션을 따르는가?
    • 불필요한 코드는 없는가?
    36
    AI 코드 리뷰 도구 활용
    AI로 코드 리뷰 품질 높이기
    도구유형특징비용
    CodeRabbit상용/OSS 무료즉각 피드백, 오픈소스 무료OSS 무료
    PR-Agent오픈소스Original OSS PR Reviewer무료
    Kodus오픈소스시니어 리뷰어처럼 작동무료
    Graphite상용실시간 피드백, 96% 긍정유료
    💡 활용 팁
  • AI 리뷰는 보조 수단 - 사람의 리뷰를 대체하지 않음
  • AI가 잘하는 것: 보안 취약점, 코드 스타일, 성능 패턴, 일관성 체크
  • 37
    Sprint 활동 안내
    자기주도 학습 2시간 - 심화 기여에 집중
    ✍ 트랙 A
  • 기존 PR 피드백 반영
  • Claude Code 멀티파일 편집 실습
  • AI 기반 테스트 코드 자동 생성
  • 두 번째 기여 이슈 선정
  • ⚙ 트랙 B
  • AI SDK 스트리밍 기능 구현
  • 벡터 DB 통합 PR 작성
  • 프롬프트 최적화 실험
  • LCEL 파이프라인 구축
  • 🚀 트랙 C
  • MCP 서버 고급 기능 구현
  • RAG 파이프라인 최적화
  • 멀티 에이전트 프로토타입
  • Streamlit/Gradio 데모 개선
  • 38
    오픈소스 협업 패턴 체화
    커뮤니티에서 신뢰를 쌓는 법
    🤝 협업 Best Practices
  • 이슈에 "I'd like to work on this" 먼저 코멘트
  • 작업 중 진행 상황을 주기적으로 업데이트
  • Draft PR로 일찍 피드백 받기
  • 다른 사람의 PR에 리뷰 참여하기
  • 영어 커뮤니케이션 - 정중하고 간결하게
  • 📈 기여자 성장 로드맵
  • First Timer ➤ 문서, 오타, 작은 버그 수정
  • Contributor ➤ 기능 추가, 테스트 보강
  • Regular ➤ PR 리뷰, 이슈 트리아지
  • Committer ➤ 직접 머지 권한
  • Maintainer ➤ 프로젝트 거버넌스 참여
  • 39
    이번 주 목표 & 과제
    Week 4 마무리 체크리스트
    🎯 주간 목표
    • 첫 번째 PR 피드백 반영 완료 (Merge 목표)
    • 두 번째 기여 이슈 선정 및 작업 시작
    • 팀원과 최소 2회 이상 코드 리뷰 교환
    • 트랙별 심화 기술 1가지 이상 실습
    📝 과제 안내
  • 필수: 첫 번째 PR 피드백 반영 및 업데이트
  • 필수: 두 번째 기여 이슈 선정 및 분석
  • 필수: 팀원 PR 코드 리뷰 2회 이상
  • 선택: 트랙별 심화 내용 실습 후 팀 공유
  • 다음 주 (W5): 최종 Sprint & 데모 준비 - PR 마무리 + 발표 자료 준비
    40
    Week 4 핵심 요약
    오늘 배운 것을 정리합니다
    💬 PR 피드백
  • 피드백 분류 & 대응
  • Force Push vs 추가 커밋
  • Rebase vs Merge
  • ✍ 트랙 A
  • Claude Code 멀티파일
  • AI 대규모 리팩토링
  • Copilot Agent 모드
  • ⚙ 트랙 B
  • Vercel AI SDK 6
  • LangChain LCEL
  • 벡터 DB 패턴
  • 🚀 트랙 C
  • MCP Streaming/Tasks
  • Agentic RAG
  • 멀티 에이전트
  • Remember: "피드백은 선물이다" - 메인테이너의 리뷰는 성장의 기회!
    41 ✨✨
    Q&A / 참고 자료
    질문과 유용한 리소스
    📚 참고 자료
  • Vercel AI SDK: ai-sdk.dev
  • LangChain: docs.langchain.com
  • MCP 공식: modelcontextprotocol.io
  • CrewAI: docs.crewai.com
  • pgvector: github.com/pgvector/pgvector
  • Chroma: trychroma.com
  • Git Rebase: atlassian.com/git/tutorials
  • 🛠 AI 코딩 도구
  • Claude Code: docs.anthropic.com
  • GitHub Copilot: github.com/features/copilot
  • Cursor: cursor.com
  • Aider: aider.chat
  • CodeRabbit: coderabbit.ai (OSS 무료)
  • PR-Agent: github.com/qodo-ai/pr-agent
  • 🚀 "피드백을 반영하고, 더 깊이 파고들자!" 🚀