관리 메뉴

애독자's 공부방

[혼공바] 5주차 _ 혼자 공부하는 바이브 코딩 with 클로드 코드 본문

바이브코딩/혼공학습단 챌린지

[혼공바] 5주차 _ 혼자 공부하는 바이브 코딩 with 클로드 코드

애독자 2026. 2. 7. 01:46
728x90

■ 5주 차 미션

주차별 진도에 따라 주어진 숙제와 한 주간 공부한 내용을 정리하여 블로그에 기록 (전체 공개)


 5주 차 : Ch 06. 클로드 코드에 API 날개 달기, Ch 07. 클로드 코드 AI 에이전트로 개발팀 구성하기

 

  • 📘공부한 내용
    • API: 외부 AI 서비스와 프로그램을 연결하는 다리로, 간단한 요청만으로 복잡한 AI 기능을 활용할 수 있게 해주는 통신 규칙
    • API 통합 플랫폼: 여러 AI 모델을 한 곳에서 비교하고 선택 가능 (예: 오픈라우터)
    • API 키: API 서비스에 접근하기 위해서 사용자 인증을 통해 발급
    • API를 통해 다양한 AI 모델을 애플리케이션에 통합하기위해 AI 모델을 연동: 클로드 코드의 작업 폴더에 다음 설정 파일을 생성하도록 요청
      • .env: API 키를 저장한 파일로, API를 호출할 때마다 참조됨
      • .gitignore: API 키가 유출되는 것을 방지하기 위해 깃허브에 특정 파일이 업로드되지 않게 보호하는 설정 파일
    • 다중 AI 모델 연동: 이미지 인식, 텍스트 생성 등 목적에 맞게 여러 AI 모델을 활용: 이를 제작할 때는 단계별 계획에 따라 점진적으로 완성도를 높여 나가야 함
    • 웹 프레임워크: 웹 애플리케이션을 쉽게 만들 수 있도록 도와주는 도구 모음

    • 에이전트: 사람이 직접 지시하지 않아도 목표와 규칙에 따라 스스로 판단하고 작업을 수행하는 AI 대리 프로그램
    • AI 서브에이전트: 클로드 코드에서 특정 작업을 전문적으로 수행하도록 만든 독립형 AI 도우미로 역할, 모델, 권한을 개별 설정 가능  → 클로드 코드의 전용 명령어인 /agents로 새로운 서브에이전트를 생성하거나 관리
    • 코드 리뷰: 코드의 버그와 규칙 위반을 점검하고 개선점을 제안하는 품질 검토 과정
    • 최적화: 프로그램의 속도, 자원 사용, 효율성을 향상시키는 성능 개선 작업
    • UX 디자인: 사용자가 쉽고 편리하게 이용할 수 있도록 화면 구성과 인터페이스를 설계하는 과정
    • 소프트웨어 개발팀의 구성과 역할
      • 제품 기획 관리자: PRD를 작성해 제품의 목표와 기능, 사용자 요구사항을 정의하고 전체 개발 일정을 관리
      • 백엔드 개발자: 서버를 구축하고 데이터베이스를 설계하거나 API를 연동하는 등 애플리케이션의 핵심 로직을 구현
      • 프론트엔드 개발자: 사용자가 보는 화면과 인터페이스를 설계하고 제작
      • 품질 보증 엔지니어: 기능과 성능을 테스트해 버그를 수정하고 서비스의 안정성을 확보
      • AI 통합 전문가: 인공지능 모델을 개발하거나 기존 모델을 최적화해 프로젝트에 맞는 AI 솔루션을 구현

 

 

 

  • 🚶기본 미션(필수)
    • PROJECT 9. 냉장고를 부탁해 앱 만들고 캡처하기
초기 버전

 

 

□ 오픈라우터 사용 모델

  - google/gemma-3-27b-it:free

  - tngtech/deepseek-r1t2-chimera:free  ( DeepSeek: DeepSeek V3.1(free) 모델 대신 사용 )

 

□ 이번 미션도 Gemini CLI를 활용

  - CLI 접근성: Claude의 CLI는 유료 플랜 위주로 운영되지만, Gemini는 무료 티어에서도 제공

  - 학습 연속성: 할당량 내에서 코드 생성이 가능

 

 

  • 🏃추가 미션(선택)
    • AI 에이전트 팀 구축하기
    • AI 디자인 에이전트를 활용해 냉장고를 부탁해 앱 UX 디자인 개선하고 캡처하기

 

 

 AI 에이전트 팀 구축

  - 아직 Gemini CLI에서 클로드 코드처럼 터미널 내에서 서브 에이전트를 사용하지는 못하기에 다른 방법으로 진행이 필요

    . 1안) 구글 클라우드에서 제공하는 Gemini Code Assist 사용

    . 2안) 오픈소스 에이전트 프레임워크에 Gemini API를 연결: Aider, Open Interpreter

    . 3안) 구글 에이전트 개발 도구인 ADK를 사용해서 에이전트 팀 구현: 아래 예시 코드

import os
from dotenv import load_dotenv
from google.adk import agents, tools, runtime

## 1. 환경 설정 및 경로 지정
load_dotenv()
# 실제 작업 경로를 명확히 지정
BASE_DIR = r"E:\LLM\VibeCoding\Study-04"

if not os.getenv("GOOGLE_API_KEY"):
    print(".env 파일에 GOOGLE_API_KEY를 설정해주세요.")

## 2. 도구 정의 (사용자 폴더 직접 접근)
# root_dir을 실제 경로로 설정하여 에이전트가 PRD와 소스코드를 확인
shared_tools = [
    tools.ReadFileTool(root_dir=BASE_DIR),
    tools.WriteFileTool(root_dir=BASE_DIR),
    tools.TerminalTool(root_dir=BASE_DIR),
    tools.ListDirTool(root_dir=BASE_DIR)
]

## 3. 전문 서브 에이전트 정의
# [코드 품질 검토자]
bug_analyzer = agents.LlmAgent(
    name="code-bug-analyzer",
    instruction=f"""당신은 전문 코드 품질 검토자입니다.
    {BASE_DIR} 내의 PRD 파일을 먼저 읽어 요구사항을 파악한 뒤, 
    '냉장고를 부탁해' 애플리케이션 코드를 검토하세요. 
    버그, 컨벤션, 성능 이슈를 찾아 'review_report.md'를 생성하세요.""",
    tools=shared_tools
)

# [시스템 최적화 엔지니어]
perf_optimizer = agents.LlmAgent(
    name="performance-optimizer",
    instruction="""당신은 시스템 최적화 전문가입니다.
    analyzer의 리포트를 바탕으로 병목 지점을 수정하세요.
    실행 속도와 리소스 효율성을 높이는 방향으로 코드를 직접 업데이트합니다.""",
    tools=shared_tools
)

# [사용자 경험 전문가]
ux_advisor = agents.LlmAgent(
    name="ux-design-advisor",
    instruction="""당신은 UX 디자이너입니다.
    사용자가 '냉장고' 기능을 더 직관적으로 쓰도록 UI 로직과 메시지를 개선하세요.
    PRD에 명시된 사용자 경험 목표를 준수해야 합니다.""",
    tools=shared_tools
)

## 4. 루트 에이전트 (PM 및 시스템 관리)
root_agent = agents.HierarchicalAgent(
    name="ProjectManager",
    instruction=f"""당신은 'Study-04' 프로젝트의 리더입니다.
    
    1. 작업 흐름: 사용자가 개선을 요청하면 PRD를 기반으로 
       Analyzer(검토) -> Optimizer(최적화) -> UX Advisor(디자인) 순으로 지시하세요.
    2. 시스템 관리:
       - '백업': {BASE_DIR} 내에 'backup_store' 폴더를 만들고 현재 주요 파일을 복사하세요.
       - '복원': backup_store의 파일을 현재 위치로 복구하세요.
       - '실행': 앱 실행 명령(예: python main.py)을 실행하고 결과를 보고하세요.
    3. 모든 작업은 {BASE_DIR} 내에서 이루어져야 합니다.""",
    sub_agents=[bug_analyzer, perf_optimizer, ux_advisor],
    tools=shared_tools
)

 

 


 

728x90