Poza benchmarkiem 71x: grafy wiedzy dla agentów programistycznych : Graphify i
Szczegółowy przewodnik po „Beyond the 71x Benchmark: Knowledge Graphs for Coding Agents”, w tym narzędzia Graphify oraz mechanizmy umów, sprawdzeń i gotowych fragmentów kodu przeznaczonych dla zespołów wdrażających ten wzorzec.
Poniższe notatki przedstawiają praktyczny plan działania dotyczący tematu „Umiejętności z zakresu grafów wiedzy dla Claude Code i Codex: Graphify oraz Rivals – porównanie”. Nacisk kładziony jest na umowy, sprawdzania oraz miejsca zastępcze dla kodu, a nie na aspekty motywacyjne.
Całkowicie pomijaj wyścig zbrojeń dotyczący liczby tokenów i wybierz narzędzie do grafów wiedzy w taki sam sposób, jak wybierasz bazę danych.
Gdy przechodzisz przez etap pomijania wyścigu zbrojeń związanych z liczbą tokenów, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zachowaj konfigurację poza kodem aplikacji – pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności czytania całego grafu. Zachowuj w pamięci tymczasowej stabilne instrukcje systemowe oraz schematy narzędzi – ponowne wysyłanie identycznego tekstu wejściowego jest częstą przyczyną marnotrawstwa zasobów.
Spis treści
Gdy przechodzisz przez etap tworzenia spisu treści, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dopiero późniejszej optymalizacji. Napisz krótki przewodnik: jak rotować klucze, jak opróżnić kolejkę oraz jak cofnąć ostatnie zadanie.
Liczba 71x istnieje naprawdę, ale to nie jest też właściwa liczba do optymalizacji
Gdy przechodzisz przez etap „The 71x Number Is”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Wolij małe, testowalne jednostki nad rozbudowane skrypty. Gdy jakiś krok się nie powiedzie, błąd powinien wskazywać na jedną konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Napisz krótki przewodnik: jak rotować klucze, jak opróżnić kolejkę z zadań, jak cofnąć ostatnie zadanie.
Czym właściwie są te narzędzia (wersja 60 sekund)
Gdy przechodzisz przez etap „What These Tools Actually”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć możliwość cichego, częściowego ukończenia zadania. Zapisuj nazwę narzędzia, hash argumentów, czas reakcji oraz wynik każdego wywołania. Bez takich informacji debugowanie trwa godzinami.
Source Code
│
▼
┌─────────────────────┐
│ Tree-sitter Parse │ ← Zero LLM involvement. Pure AST.
│ (EXTRACTED edges) │ Calls, imports, inheritance.
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ Optional LLM Pass │ ← Adds INFERRED semantic edges
│ (INFERRED edges) │ (conceptual relationships AST can't see).
└────────┬────────────┘ Tagged separately for confidence.
│
▼
┌─────────────────────┐
│ Queryable Graph │ ← Agent hits this instead of
│ (JSON / SQLite / │ re-grepping the repo every session.
│ Graph DB) │
└─────────────────────┘
Dlaczego ta kategoria gwałtownie wzrosła w ciągu jednego kwartału
Gdy przechodzisz przez etap „Dlaczego ta kategoria się rozrosła”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zapisz czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z wersji demonstracyjnej do środowisk współdzielonych. Napisz krótki przewodnik: jak rotować klucze, jak opróżnić kolej z zadań, jak cofnąć ostatnie zadanie. Gdy przechodzisz przez etap „Dlaczego ta kategoria się rozrosła”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później.
Trzy zmienne, które faktycznie decydują o Twoim wyborze
Proces „Trzech zmiennych” funkcjonuje najlepiej, gdy traktuje się go jako mierzalną powierzchnię. Zanim rozszerzysz zakres, zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok zawiedzie, awaria powinna wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Ustal wersje zależności i zapisz hash obrazu, który uruchomił demonstrację. Reprodukowalność jest ważniejsza od lokalnej wiedzy zespołu.
1. Rozmiar i złożoność bazy kodu
Rozmiar bazy kodu oraz etap jego opracowywania działają najlepiej, gdy traktuje się je jako mierzalną wielkość. Zanim rozszerzysz zakres pracy, zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Traktuj ten etap jako umowę pomiędzy wprowadzanymi danymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzucaj ciche, częściowe ukończenie zadań. Ustal konkretne wersje zależności i zapisz hash obrazu, który służył do uruchomienia demonstracji. Reprodukowalność jest ważniejsza od lokalnej wiedzy zespołu.
2. Liczba członków zespołu i częstotliwość aktualizacji
Rozmiar zespołu i etapy w modelu The 2 Team działają najlepiej, gdy traktuje się je jako mierzalne parametry. Zanim rozszerzy się zakres pracy, należy zarejestrować jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Obok wyników funkcjonalnych należy zapisywać czasy wykonywania operacji oraz koszt tokenów lub zapytań. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy proces przechodzi z środowiska demonstracyjnego do współdzielonych środowisk. Należy ustalić wersje zależności i zapisać hash obrazu, który służył do uruchomienia demonstracji. Reprodukowalność jest ważniejsza od lokalnej wiedzy zespołu. Rozmiar zespołu i etapy w modelu The 2 Team działają najlepiej, gdy traktuje się je jako mierzalne parametry. Zanim rozszerzy się zakres pracy, należy zarejestrować jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian. Należy udokumentować zarówno optymalny przebieg procesu, jak i ścieżkę naprawczą. Próby ponownego uruchomienia, kontrolne punkty ludzkie oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.
3. Rezydencja danych
W trzecim etapie związanym z lokalizacją danych należy określić dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy preferować małe, łatwe do przetestowania jednostki nad rozbudowanymi skryptami. Gdy dany krok zawiedzie, powinno to wskazywać na konkretną odpowiedzialność, a nie na skomplikowaną strukturę procesów. Gdy budżet na to pozwala, należy dodać test wstępny, który sprawdza kluczową ścieżkę w procesie CI przy użyciu narzędzi typu fixtures, a nie żywych, płatnych API.
Porównanie: Graphify vs. CodeGraph vs. codebase-memory-mcp vs. code-review-graph vs. Sourcegraph Cody
Dla etapu Head-to-Head Graphify vs CodeGraph należy zdefiniować dane wejściowe, osobę odpowiedzialną za daną czynność oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić tę czynność na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nazwij pliki generowane, zdefiniuj kryteria sukcesu i odrzuć przypadkowe, częściowe ukończenie zadania. Zaloguj się przy bramce dostępu i ponownie uzyskaj uprawnienia na poziomie przesyłania danych. Sam token nie stanowi granicy między poszczególnymi użytkownikami.
Graphify
Na tym etapie należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić ten krok od znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy rejestrować czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy proces przechodzi z środowiska demonstracyjnego do współdzielonych środowisk. Gdy budżet na to pozwala, należy dodać test dymny, który sprawdza kluczową ścieżkę w procesie CI przy użyciu fixitów, a nie żywych, płatnych API. Na tym etapie należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić ten krok od znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy udokumentować zarówno ścieżkę pomyślnego działania, jak i ścieżkę naprawczą. Próby ponownych działań, mechanizmy ludzkiej kontroli oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.
uv tool install graphifyy
graphify install # registers the skill with your assistant
/graphify . # builds graph.json, graph.html, GRAPH_REPORT.md
CodeGraph
Gdy przechodzisz przez ten etap, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Wolij małe, testowalne jednostki od rozbudowanych skryptów. Gdy jakiś krok się nie powiedzie, błąd powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Napisz krótki przewodnik: jak rotować klucze, jak opróżnić kolejkę z zadań, jak cofnąć ostatnie zadanie.
{
"mcpServers": {
"codegraph": {
"command": "/path/to/codegraph-server",
"args": ["--mcp"]
}
}
}
git clone https://github.com/codegraph-ai/CodeGraph.git
cd CodeGraph
cargo build --release -p codegraph-server
codebase-memory-mcp
Gdy przechodzisz przez ten etap, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć ciche, częściowe ukończenie zadania. Zapisuj nazwę narzędzia, hash argumentów, czas opóźnienia oraz wynik każdej wywołania. Bez takich informacji debugowanie trwa godzinami.
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
# Restart your coding agent, then: "Index this project"
code-review-graph
Gdy przechodzisz przez tę fazę, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zapisz czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z wersji demonstracyjnej do środowisk współdzielonych. Napisz krótki przewodnik: jak rotować klucze, jak opróżniać kolejkę z zadań, jak cofnąć ostatni proces pobierania danych. Gdy przechodzisz przez tę fazę, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później.
pip install code-review-graph
code-review-graph install --platform codex
code-review-graph build
Sourcegraph Cody
Na tym etapie najlepiej działa podejście, gdy traktuje się go jako mierzalną powierzchnię. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres pracy. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok zawiedzie, awaria powinna wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Ustal wersje zależności i zapisz hash obrazu, który uruchomił demonstrację. Reprodukowalność jest ważniejsza od lokalnej wiedzy zespołu.
# In VS Code: install the "Sourcegraph Cody" extension
# Then sign in to your Sourcegraph.com or enterprise instance.
Co może pójść nie tak: tryby awarii, których nikt nie umieszcza w README
Etap „Co może pójść nie tak” funkcjonuje najlepiej, gdy traktowany jest jako mierzalna powierzchnia do analizy. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres badania. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć przypadki częściowego ukończenia bez żadnych informacji. Ustal konkretne wersje zależności i zapisz hash obrazu, który służył do uruchomienia demonstracji. Reprodukowalność jest ważniejsza od lokalnej wiedzy eksperckiej.
Test trwający 15 minut: Jak sprawdzić, czy potrzebujesz tego już dziś
Test 15-minutowy: w jaki sposób etap ten funkcjonuje najlepiej, gdy traktowany jest jako mierzalna powierzchnia. Zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres. Zapisuj czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z wersji demonstracyjnej do środowisk współdzielonych. Ustal wersje zależności i zapisz digest obrazu, który uruchomił demonstrację. Reprodukowalność jest ważniejsza od lokalnej wiedzy zespołu. Test 15-minutowy: w jaki sposób etap ten funkcjonuje najlepiej, gdy traktowany jest jako mierzalna powierzchnia. Zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres. Zdokumentuj zarówno pomyślną ścieżkę działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.
uv tool install graphifyy
graphify install
/graphify .
Wniosek
W fazie zamykania należy określić dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy dany krok zawiedzie, powinno to wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Gdy budżet na to pozwala, należy dodać test dymny, który sprawdza kluczową ścieżkę w procesie CI przy użyciu narzędzi do konfiguracji, a nie rzeczywistych, płatnych API.
Zasoby z dodatkowymi informacjami
W fazie dostarczania zasobów i uzyskiwania dodatkowych informacji należy określić dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić ten krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Traktuj tę fazę jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć przypadkowe, częściowe ukończenie zadania. Gdy budżet na to pozwala, dodaj test dymny, który sprawdza kluczową ścieżkę w procesie CI przy użyciu narzędzi pomocniczych, a nie rzeczywistych, płatnych API.
Lista kontrolna operacyjna
W fazie listy kontrolnej operacyjnej należy określić dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić ten krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu.
Zachowaj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności przeglądania całej struktury.
Zawsze, gdy pozwala na to budżet, dodaj test dymny, który symuluje kluczową ścieżkę w procesie CI przy użyciu narzędzi pomocniczych, a nie rzeczywistych, płatnych API.
Zapisuj czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy ścieżka przechodzi z wersji demonstracyjnej do środowisk współdzielonych.
Ustal stałe wersje zależności i zapisz hash obrazu, który uruchomił demonstrację. Reprodukowalność jest lepsza od wiedzy opartej wyłącznie na doświadczeniach zespołu.
Traktuj tę fazę jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy artefaktom, zdefiniuj kryteria sukcesu i odrzucaj ciche, częściowe ukończenie zadań.
Zanim zaczniesz promować tę architekturę, zamroź wersje, utwórz dokładny zapis dla kluczowych etapów realizacji oraz potwierdź kroki odwracania zmian. Środowiska współdzielone wymagają ograniczeń szybkości, weryfikacji przynależności użytkowników oraz wyraźnego właściciela odpowiedzialnego za rotację haseł. Wolisz nudną niezawodność od pomysłowych, jednorazowych demonstracji.
Uwaga dotycząca c835177a3b55: trzymaj klucze dostawcy poza repozytorium, ustaw ograniczenie liczby tokenów na sesję oraz przechowuj zapisy obok narzędzi do testowania, aby późniejsze zmiany modeli pozostawały porównywalne.