Powrót do strony głównej

Opanuj stack technologiczny PM: AI-asystent na FastAPI

Przewodnik dla PM po opanowaniu stacku technologicznego poprzez stworzenie AI-asystenta na FastAPI i PostgreSQL. 10 etapów od MCP do hybrydowego RAG z Qdrant. Nacisk na SQL, indeksach i optymalizacji dla rzeczywistych projektów.

PM w kodzie: buduj AI-asystenta od zera w 30 dni
Advertisement 728x90

Krok po kroku: Jak PM może opanować tech stack, tworząc asystenta AI

PM bez podstaw technicznych ryzykuje utratę autorytetu w oczach programistów. Stwórz realny projekt SaaS — asystenta AI opartego na systemie śledzenia zadań. Odpowiada on na zapytania typu „Jak radzi sobie zespół?” lub „Jakie jest obciążenie programisty?”. Alternatywa dla początkujących: analityk Open Source w GitHubie z pytaniami jak „Krytyczne błędy w React?”.

Projekt obejmuje architekturę klient-serwer, REST, testy jednostkowe, konteneryzację i logowanie. Wymaga danych na żywo i rozszerzenia do dwóch klientów frontendowych.

Tech stack:

Google AdInline article slot
  • Backend: Python, FastAPI, PostgreSQL, uv
  • Frontend: React, TypeScript, Vite, Shadcn, Tailwind

Konfiguracja środowiska i narzędzi

Zainstaluj Python, npm, pip (zastąp uv), Git. Dodaj IDE (Antigravity), Docker Desktop, DBeaver. Do kodowania z AI użyj Google AI Pro: modele graniczne (Gemini-3.1-pro high), IDE Antigravity, CLI Gemini.

MCP (Model Context Protocol) — podstawowy zestaw:

  • serena
  • sequential-thinking
  • context7
  • filesystem

Konfiguracja 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": {}
    }
  }
}

Zainstaluj rejestr skills.sh: npm install -g @skills/cli. Dodawaj umiejętności etapami.

Zasady pracy z AI do kodowania

Dziel zadania: jeden czat — jedno zadanie. Jeśli nie rozwiązane, nowy czat z doprecyzowaniem. Pisz po angielsku bez ról i celów. Przy trudnościach zastosuj „kaczkę”:

  • Omów w czacie, stwórz context.md.
  • W nowym czacie — vision.md dla architektury.
  • tasks.md z zadaniami.
  • Wykonanie według zadań.

Etap 1: Bot Telegram z Jira przez MCP

Stwórz bota w FastAPI: dostęp do Jira MCP, odpowiedzi w Telegram. Tokeny w .env. AI sam decyduje o wywołaniach Atlassian MCP.

Google AdInline article slot
  • Rezultat: Lokalny bot, podstawowy czat.
  • Stack: Python, FastAPI, Gemini API, Atlassian MCP.

Serwer: @aashari/mcp-server-atlassian-jira.

Etap 2: Bezpośrednie zapytania REST do API Jira

Zrezygnuj z MCP. Git init, main branch. Skrypty: użytkownicy, statusy, zadania projektu (30 dni).

Umiejętność: fastapi-expert.

  • Rezultat: Kontrola przez HTTP, .venv, .gitignore, .env.example.
  • Stack: Jira REST API, requests, Git.
  • Praktyki: VCS, Tool Calling, API.

Etap 3: PostgreSQL z FTS

Schemat: zadania, changelog. Przycisk synchronizacji (nadpisanie starych danych). AI używa top-5 przez FTS (tsvector/tsquery, BM25).

  • Rezultat: Lokalne przechowywanie, szybkie wyszukiwanie.
  • Stack: PostgreSQL FTS, czysty SQL.
  • Praktyki: DB Design, SQL Migrations, IR.

Zainstaluj tsvector, DBeaver.

Etap 4: Hybrydowy RAG z wektorami

Tabele: assignee, status, type (int ID). Migracje ręcznie. Wektoryzacja zadań w Qdrant (HNSW). Wyszukiwanie: top-5 zadań → JOIN changelog po task_id.

Indeksy: assignee_id, status_id, type_id, HNSW, task_id. EXPLAIN ANALYZE do optymalizacji.

Umiejętność: postgresql-optimization.

  • Rezultat: Wyszukiwanie semantyczne z historią, wydajność na tysiącach rekordów.
  • Stack: Qdrant, PostgreSQL (HNSW, tsvector).
  • Praktyki: RAG, Hybrid Search, Vector DB, Query Opt.

Co jest ważne

  • Projekt budowany etapowo: od MCP do bezpośrednich API, SQL, RAG.
  • Skupienie na praktykach: VCS, indeksowanie, JOIN, optymalizacja zapytań.
  • AI przyspiesza, ale PM kontroluje architekturę i stack.
  • Rozszerzenie: dwa frontendy, wdrożenie serwerowe, integracja AI.

— Editorial Team

Advertisement 728x90

Czytaj dalej