Przejdź do głównej zawartości

Presale Generator

Presale Generator bierze zapytanie ofertowe (RFP) i prowadzi je aż do wycenionego, zaplanowanego presales, bez ręcznego dotykania arkusza kalkulacyjnego. Jak każdą wtyczkę Speedwave, także tę pisze, rozwija i dostarcza wyłącznie Speednet.

Wskazujesz Presale Generatorowi dokumenty wejściowe (RFP, brief, materiały pomocnicze), a on wyodrębnia wymagania, rozdzielając funkcjonalne od niefunkcjonalnych, i znajduje aktorów oraz przypadki użycia. Na tej podstawie buduje hierarchiczny podział prac na epiki, funkcje i zadania, szacuje każde z nich w godzinach, a na końcu tworzy harmonogram i plan zespołu. Przechowuje każdy presales jako wersjonowany stan, więc możesz go iterować i porównywać wersje w miarę zmian wymagań. Nie potrzebuje żadnych danych uwierzytelniających: nie ma żadnego zewnętrznego systemu, do którego trzeba by się logować, bo worker tylko przechowuje i przelicza stan, a analizę wykonuje model.

Wtyczka ma trzy części:

  • Worker, który udostępnia 53 narzędzia w postaci czystych funkcji, pogrupowane w stan, fazy i kroki procesu, iteracje i śledzenie zmian, terminy, dopasowanie zespołu, ekstrakcję dokumentów, artefakty oraz hierarchiczny podział prac. Narzędzia nie mają własnych opinii: przechowują i zwracają ustrukturyzowany stan.
  • Warstwa ekstrakcji dokumentów napisana w Pythonie, z kilkoma silnikami (markitdown, pdftotext, pandoc, openpyxl, python-docx i docling), dzięki którym worker czyta pliki PDF, Word, Excel i inne formaty. Zobacz Dokumenty biurowe, żeby dowiedzieć się, jak Speedwave obsługuje te formaty.
  • Zestaw zasobów: 22 komendy i 24 umiejętności, które prowadzą cały proces. Umiejętności odpowiedzialne za szacowanie i podział prac działają na najsilniejszym dostępnym modelu i z najwyższym poziomem wysiłku rozumowania, bo to one dźwigają analityczny ciężar całego procesu.

Pracujesz nad jedną szansą sprzedażową naraz. Tworzysz ją komendą /presale:add, wrzucasz dokumenty źródłowe (RFP, wymagania, pliki PDF, Word, Excel, PowerPoint) do jej folderu wejściowego, a potem wybierasz ją komendą /presale:select, żeby każda kolejna komenda działała właśnie na niej.

Od tego momentu proces przechodzi przez ustalone fazy: ekstrakcja, analiza, podział prac, szacowanie, harmonogram, zespół. Komenda /presale:continue mówi ci, w jakiej jesteś fazie i jaka jest dokładnie następna komenda, więc nigdy nie musisz zapamiętywać kolejności. Jeśli wolisz sterować ręcznie: /presale:extract zamienia dokumenty w różnych formatach na czysty markdown, /presale:analyze wyciąga aktorów, cele i wymagania oraz proponuje stos technologiczny, który musisz potwierdzić, /presale:create-wbs rozkłada wymagania na epiki, funkcje i zadania, /presale:estimate szacuje wyłącznie nakład pracy w godzinach, a /presale:timeline i /presale:team tworzą harmonogram i skład zespołu.

Faza jest wyliczana, a nie ustawiana ręcznie: przechodzi dalej dopiero wtedy, gdy zakończy się każdy jej krok, a wymagania wstępne są egzekwowane po kolei, więc komenda podziału prac zatrzyma się i powie ci, jeśli analiza jeszcze nie jest gotowa. Wszystko jest przechowywane lokalnie w folderze danej szansy sprzedażowej, wersjonowane dla każdej iteracji, ze śladem audytowym, a po każdej fazie zapisywany jest punkt kontrolny, więc możesz się zatrzymać i wrócić później.

Umiejętności orkiestrujące prowadzą fazy procesu i równolegle uruchamiają umiejętności podrzędne.

UmiejętnośćCo robi
presale-rfp-analyzerOrkiestruje analizę RFP, dzieląc dokument na fragmenty obsługiwane przez równoległe agenty
presale-breakdownOrkiestruje podział prac na epiki, funkcje i zadania
presale-estimatorOrkiestruje szacowanie nakładu pracy, grupując zadania między agentami
presale-addTworzy nową szansę sprzedażową i jej strukturę folderów
presale-selectAktywuje istniejącą szansę sprzedażową jako bieżącą
presale-auto-assumeZamienia każdą otwartą lukę w udokumentowane założenie z poziomem pewności i ryzykiem
presale-cross-reference-builderMapuje, jak artefakty odnoszą się do siebie nawzajem w całym presales
presale-risk-aggregatorZbiera, deduplikuje i priorytetyzuje ryzyka znalezione we wszystkich fazach
presale-team-compositionProponuje skład zespołu na podstawie stosu technologicznego i szacunków
presale-timelineBuduje harmonogram dostawy na podstawie oszacowanego podziału prac, zależności, dostępności i dni wolnych
presale-use-casesWyprowadza aktorów i przypadki użycia, z głównym przebiegiem, wariantami alternatywnymi i wyjątkami

Trzynaście kolejnych umiejętności podrzędnych wykonuje w tle pracę na poszczególnych fragmentach. Uruchamiają je powyższe orkiestratory, ty sam nigdy ich nie wywołujesz bezpośrednio.

UmiejętnośćCo robi
presale-extract-actorsWyodrębnia aktorów z pojedynczego fragmentu dokumentu RFP
presale-extract-business-goalsWyodrębnia cele biznesowe z pojedynczego fragmentu dokumentu RFP
presale-extract-categoriesWyodrębnia kategorie wymagań z pojedynczego fragmentu dokumentu RFP
presale-extract-frWyodrębnia wymagania funkcjonalne z pojedynczego fragmentu dokumentu RFP, z kontekstem odniesień krzyżowych
presale-extract-nfrWyodrębnia wymagania niefunkcjonalne z pojedynczego fragmentu dokumentu RFP, z kontekstem odniesień krzyżowych
presale-extract-gapsWyodrębnia luki i otwarte pytania z pojedynczego fragmentu dokumentu RFP, z pełnym kontekstem odniesień krzyżowych
presale-extract-comparePorównuje wyniki różnych silników ekstrakcji dla dokumentu i wybiera najlepszy
presale-breakdown-epic-planPrzypisuje wymagania funkcjonalne do epików w sposób deterministyczny, zastępując równoległą rundę epików, żeby uniknąć duplikatów
presale-breakdown-epicGrupuje wymagania funkcjonalne w epiki
presale-breakdown-featureRozkłada epiki na funkcje
presale-breakdown-taskRozkłada funkcje na zadania
presale-breakdown-decisionsIdentyfikuje decyzje techniczne i architektoniczne na podstawie zakresu podziału prac
presale-estimate-taskSzacuje partię zadań metodą pojedynczego punktu w wariancie optymistycznym, z uwzględnieniem strumieni pracy

Komendy działają pod /presale::

KomendaCo robi
add, select, unselectTworzy szansę sprzedażową, aktywuje ją albo czyści aktywną
list, status, healthPokazuje szanse sprzedażowe, ogólny postęp albo wskaźnik kondycji
extractKonwertuje dokumenty źródłowe na markdown, dobierając silnik do formatu
analyze, analysisUruchamia analizę wymagań albo pokazuje jej wyniki
create-wbs, breakdownBuduje hierarchiczny podział prac albo go pokazuje
estimateSzacuje nakład pracy w godzinach w całym podziale prac
actors, use-casesPokazuje wyodrębnionych aktorów i przypadki użycia
team, timelinePokazuje skład zespołu albo harmonogram dostawy
continueMówi ci, w jakiej jesteś fazie i jaka jest dokładnie następna komenda
presalePunkt wejścia, który wyświetla dostępne subkomendy

Komendy iteracji działają pod /presale:iteration:

KomendaCo robi
createZapisuje bieżący stan jako nową iterację, z wyzwalaczem i powodem
listWyświetla wszystkie iteracje zapisane dla wybranej szansy sprzedażowej
switchUstawia jedną z wcześniejszych iteracji jako aktywną
compareWylicza różnicę między dwiema iteracjami

Żadna z tych komend nie usuwa danych szansy sprzedażowej; unselect tylko czyści, która jest aktywna.

53 narzędzia workera to czyste funkcje: przechowują i zwracają ustrukturyzowany stan, nie łączą się z żadnym systemem zewnętrznym. Wywołują je wprost umiejętności, a ty nigdy nie sięgasz po nie samodzielnie. Pogrupowane według przeznaczenia:

GrupaNarzędziaCo robi
Stan i procescreatePresaleState, validatePresaleState, updatePresaleState, setPhase, getValidTransitions, startStep, completeStep, failStep, getReadySteps, getWorkflowStatus, getStepRequirements, getRequiredStructure, getActivePresale, listPresalesTworzy i waliduje stan szansy sprzedażowej, śledzi, w jakiej jest fazie i kroku, i pilnuje, żeby kroki przebiegały we właściwej kolejności
Ekstrakcja dokumentówlistInputDocuments, getExtractionStatus, extractDocument, getExtractionJob, validateExtractionQuality, finalizeComparison, initChunkExtraction, getNextChunkBatch, saveChunkResult, getChunkExtractionStatus, mergeChunkResults, cancelChunkExtraction, retryFailedChunk, getChunkContent, initDerivedExtraction, getNextDerivedBatchKonwertuje dokumenty źródłowe na markdown, dzieli je na fragmenty dla równoległych agentów i scala wyniki poszczególnych fragmentów w jedną całość
Podział prac i artefaktygetBreakdownItems, buildBreakdownHierarchy, saveArtifact, getArtifact, getInputSchema, getTraceability, listArtifactTypes, getArtifactsSummary, scanArtifactsBuduje hierarchię epików, funkcji i zadań oraz zapisuje i pobiera każdy wyodrębniony artefakt (wymagania, aktorów, cele, luki) wraz z odniesieniami do źródła
IteracjecreateIteration, deleteIteration, getIteration, detectChanges, computeDelta, logChange, analyzeChangeImpactZapisuje i porównuje wersje presales oraz śledzi, co zmieniło się między nimi
Terminy i zespółsetDeadline, updateDeadline, clearDeadline, checkDeadline, getTeamSkills, getTeamAvailability, calculateTeamMatchŚledzi terminy dostawy i dopasowuje oszacowaną pracę do umiejętności i dostępności zespołu

Presale Generator nie potrzebuje żadnych danych uwierzytelniających, więc konfiguracja to po prostu instalacja i włączenie wtyczki dla każdego projektu. Zobacz Korzystanie z wtyczek, żeby dowiedzieć się, jak zainstalować wtyczkę i ją włączyć.

Gdy jest już włączona, zacznij od /presale:add <nazwa>, żeby utworzyć szansę sprzedażową, dodaj swoje dokumenty źródłowe do jej folderu wejściowego, a potem /presale:select <nazwa>, żeby uczynić ją aktywną. W dowolnym momencie sprawdź postęp komendą /presale:status, albo /presale:health, jeśli chcesz zobaczyć tylko wskaźnik kondycji.

Worker to bezstanowy serwer logiki MCP w Node.js. Nie ma żadnych danych uwierzytelniających ani portów wystawionych na hosta: dociera do niego wyłącznie MCP Hub w sieci projektu, zabezpieczony tak samo jak każdy inny worker, z odebranymi wszystkimi uprawnieniami (capabilities), bez możliwości eskalacji uprawnień i z systemem plików tylko do odczytu. Worker ma wbudowaną warstwę ekstrakcji w Pythonie, która czyta wyłącznie dokumenty, jakie sam umieścisz w folderze wejściowym danej szansy sprzedażowej.