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:
- 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):
{
"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.
- 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
Brak komentarzy.