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
  • 🚀 "피드백을 반영하고, 더 깊이 파고들자!" 🚀