홈으로 돌아가기

PM 기술 스택 마스터: FastAPI 기반 AI 어시스턴트

FastAPI와 PostgreSQL로 AI 어시스턴트 제작을 통해 기술 스택 마스터하기: PM을 위한 가이드. MCP부터 Qdrant를 사용한 하이브리드 RAG까지 10단계. 실제 프로젝트를 위한 SQL, 인덱스 및 최적화에 중점.

코드 속 PM: 30일 만에 처음부터 AI 어시스턴트 구축
Advertisement 728x90

PM을 위한 AI 어시스턴트 구축으로 기술 스택 마스터하기: 단계별 가이드

기술적 기반이 없는 PM은 개발자들과의 신뢰를 잃을 위험이 있습니다. 실제 SaaS 프로젝트를 구축해 보세요—태스크 트래커 기반 AI 어시스턴트입니다. "팀 상황이 어때요?" 또는 "개발자 업무량은 어떻게 되나요?"와 같은 질문에 답합니다. 초보자를 위한 대안: "React의 치명적 버그는?" 같은 질문을 처리하는 오픈소스 GitHub 분석기입니다.

이 프로젝트는 클라이언트-서버 아키텍처, REST, 단위 테스트, 컨테이너화, 로깅을 다룹니다. 실시간 데이터와 두 개의 프론트엔드 클라이언트 확장이 필요합니다.

기술 스택:

Google AdInline article slot
  • 백엔드: Python, FastAPI, PostgreSQL, uv
  • 프론트엔드: React, TypeScript, Vite, Shadcn, Tailwind

환경 및 도구 설정

Python, npm, pip(uv로 대체), Git을 설치합니다. IDE(Antigravity), Docker Desktop, DBeaver를 추가합니다. AI 코딩에는 Google AI Pro를 사용하세요: 최신 모델(Gemini-3.1-pro high), IDE Antigravity, CLI Gemini.

MCP(Model Context Protocol) — 기본 세트:

  • serena
  • sequential-thinking
  • context7
  • filesystem

MCP 설정(mcp_config.json):

Google AdInline article slot
{
  "mcpServers": {
    "filesystem": {
      "$typeName": "exa.cascade_plugins_pb.CascadePluginCommandTemplate",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\User\\a_projects",
        "C:\\Users\\User\\.ssh"
      ],
      "env": {}
    },
    "sequential-thinking": {
      "$typeName": "exa.cascade_plugins_pb.CascadePluginCommandTemplate",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequential-thinking"
      ],
      "env": {}
    },
    "context7": {
      "$typeName": "exa.cascade_plugins_pb.CascadePluginCommandTemplate",
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp"
      ],
      "env": {}
    },
    "serena": {
      "$typeName": "exa.cascade_plugins_pb.CascadePluginCommandTemplate",
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena",
        "start-mcp-server"
      ],
      "env": {}
    }
  }
}

skills.sh 레지스트리 설치: npm install -g @skills/cli. 단계별 진행하며 스킬을 추가하세요.

AI 코딩 작업 규칙

작업을 분할하세요: 작업당 하나의 채팅. 해결되지 않으면 명확화하여 새 채팅을 시작하세요. 역할이나 목표 없이 영어로 작성하세요. 어려움에는 "덕" 방법을 적용하세요:

  • 채팅에서 논의하고, context.md를 생성합니다.
  • 새 채팅에서—아키텍처용 vision.md.
  • 작업용 tasks.md.
  • 작업 실행.

1단계: MCP를 통한 Jira 연동 텔레그램 봇

FastAPI로 봇 생성: Jira MCP 접근, 텔레그램 응답. .env에 토큰 저장. AI가 Atlassian MCP 호출 처리.

Google AdInline article slot
  • 결과: 로컬 봇, 기본 채팅.
  • 스택: Python, FastAPI, Gemini API, Atlassian MCP.

서버: @aashari/mcp-server-atlassian-jira.

2단계: Jira API 직접 REST 요청

MCP 중단. Git 초기화, 메인 브랜치. 스크립트: 사용자, 상태, 프로젝트 작업(30일).

스킬: fastapi-expert.

  • 결과: HTTP 제어, .venv, .gitignore, .env.example.
  • 스택: Jira REST API, requests, Git.
  • 실습: VCS, Tool Calling, API.

3단계: FTS를 활용한 PostgreSQL

스키마: 작업, 변경 로그. 동기화 버튼(이전 데이터 덮어쓰기). AI는 FTS를 통한 상위 5개 사용(tsvector/tsquery, BM25).

  • 결과: 로컬 저장소, 빠른 검색.
  • 스택: PostgreSQL FTS, raw SQL.
  • 실습: DB 설계, SQL 마이그레이션, IR.

tsvector, DBeaver 설치.

4단계: 벡터를 활용한 하이브리드 RAG

테이블: 담당자, 상태, 유형(int ID). 수동 마이그레이션. Qdrant에서 작업 벡터화(HNSW). 검색: 상위 5개 작업 → task_id로 변경 로그 JOIN.

인덱스: assignee_id, status_id, type_id, HNSW, task_id. 최적화를 위해 EXPLAIN ANALYZE 사용.

스킬: postgresql-optimization.

  • 결과: 히스토리 포함 의미론적 검색, 수천 레코드 성능.
  • 스택: Qdrant, PostgreSQL(HNSW, tsvector).
  • 실습: RAG, 하이브리드 검색, 벡터 DB, 쿼리 최적화.

핵심 요약

  • 프로젝트는 단계별 구축: MCP에서 직접 API, SQL, RAG까지.
  • 실습에 집중: VCS, 인덱싱, JOIN, 쿼리 최적화.
  • AI는 가속화하지만, PM이 아키텍처와 스택을 통제합니다.
  • 확장: 두 프론트엔드, 서버 배포, AI 통합.

— Editorial Team

Advertisement 728x90

다음 읽기