Files
DBAdmin/brain/raw/articles/Introducing Portent ☘️.md
2026-06-18 09:30:46 +00:00

21 KiB

title, source, author, published, created, description, tags
title source author published created description tags
Introducing Portent ☘️ https://refactoring.fm/p/introducing-portent
Luca Rossi
2026-05-20 2026-06-15 An open spec for knowledge bases, for work and life.
clippings

Otwarta specyfikacja dla baz wiedzy, pracy i życia.

Narracja artykułu

0:00

-17:47

Dziś minął prawie miesiąc od premiery Tolarii, a w tym czasie rozmawiałem z wieloma osobami i zespołami, które próbują wykorzystać ją do tworzenia i zarządzania wewnętrznymi bazami wiedzy.

Podczas tych rozmów najczęściej pojawiają się pytania nie dotyczące samego narzędzia, lecz sposobu organizacji informacji.

Ludzie rozumieją narzędzie: typy, relacje, widoki itd. — ale nie są pewni, jakie typy tworzyć, jak je połączyć i jak wygląda regularna konserwacja tego wszystkiego.

Aby w tym pomóc, dziś przedstawiam Portent — otwartą specjalizację do organizowania baz wiedzy w pracy i życiu.

Nowa strona na portent.md!

Portent dostarcza silnych domyślnych wartości dla trzech kluczowych aspektów bazy wiedzy:

  • Struktury — sposób, w jaki informacje są organizowane w różne kategorie, czy to typy, foldery, czy coś podobnego.
  • Relacje — jak takie struktury są ze sobą powiązane i powiązane.
  • Cykl życia — sposób, w jaki informacje przepływają i są obsługiwane.

Portent powstał z kilkoma celami:

  • Konwencja ponad konfigurację — Portent jest jak szyny baz wiedzy. Daje rozsądne domyślne ustawienia, ale pozwala ci swobodnie rozszerzać lub zmieniać cokolwiek chcesz.
  • Można je wykorzystać z dowolnym narzędziem — choć koncepcje Portent są w Tolarii najwyższej klasy, można je łatwo wdrożyć w każdym narzędziu zarządzania wiedzą.
  • Połącz życie i pracę — stwórz bazy wiedzy łączące dane osobiste i zawodowe, w tym samym systemie typów.
  • Elastyczny i rozszerzalny — Portent łatwo zmieniać i rozszerzać, nie ogranicza użytkowników do sztywnych schematów.

Przejdźmy więc do tematu. Oto agenda programu:

  • 📖 Tło — albo dlaczego powinieneś mi zaufać
  • 🍱 Typy — osiem głównych typów
  • 🔀 Relacje — dla wiedzy myśl o wykresie zamiast relacyjnym
  • 🔄 Cykl życia — przechwytywać → organizować → archiwum
  • 🔌 Rozszerzanie Portent — jak dodać więcej rzeczy i co możesz dodać.
  • 🔨 Wdrożenie Tolarii — jak to zrobić w Tolarii. Uwaga: jest szablon.

Szybkie ostrzeżenie! 2 i 3 czerwca będę na LDX3 w Londynie, gdzie przeprowadzę wywiad z jedynym i niepowtarzalnym Randsem, na żywo na scenie.

Uwielbiam konferencje LeadDev i chodzę na nie co roku. Jeśli myślisz o przyjeździe, możesz użyć kodu LUCA15, aby uzyskać 15% zniżki na bilety! Brak powiązań — nie dostaję z tego żadnych pieniędzy.

Mam nadzieję, że spotkam tam wielu przyjaciół i pozdrowię się!


📹 Poradnik

Jeśli wolisz oglądać niż czytać, oto mój przegląd szablonu 👇 Portent


📖 Tło fabularne

Portent jest efektem wielu lat pracy i, podobnie jak w przypadku Tolarii, wydaje się, że wiele z tego, co zrobiłem w życiu, doprowadziło do tego:

  • 2011: Doktorat — w 2011 roku rozpocząłem doktorat, aby badać bazy danych nierelacyjne i to, jak ich modele danych można mapować jeden na drugi. To zapoczątkowało moją obsesję na punkcie organizowania informacji. Później zrezygnowałem z doktoratu, żeby założyć startup 👇
  • 2017: Startup — mieliśmy jedno z pierwszych miejsc pracy Notion we Włoszech, już w 2017 roku. Jako CTO tworzyłem szablony dotyczące organizacji pracy, które później przejęło wielu innych, a także osobiście prowadziłem kilka startupów, jak organizować pracę.
  • 2020: Budowanie drugiego mózgu — w 2020 roku zetknąłem się z ideami Tiago Forte, Sonke Ahrens, całą literaturą dotyczącą zarządzania wiedzą osobistą i zacząłem starać się wyciągać z niej to, co najlepsze, stosując ją do rzeczywistej wiedzy zawodowej.
  • 2021: Refaktoryzacja — moja twórczość podkreślała te idee do granic możliwości i doprowadziła do znaczącej rewizji, która pozwoliła 1) na większą produktywność (pisanie 3 newsletterów tygodniowo) oraz 2) łączenie danych osobistych i zawodowych.
  • 2025: AI i Tolaria — gdy zaczynałem pracę nad Tolarią, dalej zmieniałem, jak te koncepcje można jednoznacznie mapować na typy i relacje oraz optymalizować pod kątem współpracy AI.

Mam bardzo wyraziste opinie na ten temat, ale jednocześnie obawiam się, że to bardzo osobisty temat, więc każdy system powinien wyglądać:

  • Małe — uwzględniam tylko to, co jestem w 100% pewna, że jest dobre, a nie więcej.
  • Elastyczny — dostosowany do indywidualnych zmian i preferencji.

Najlepszą analogią, jaką znalazłem, jest to, że Portent jest jak Rails dla baz wiedzy: gotowy do klucza, jeśli chcesz, ale nieskończenie konfigurowalny, jeśli chcesz się zaangażować.


🍱 Rodzaje

Portent zaleca organizowanie danych w osiem głównych typów:

  1. Projekty
  2. Eksploatacja
  3. Obowiązki
  4. Zadania
  5. Wydarzenia
  6. Przypisy
  7. Tematy
  8. Ludzie

Sama nazwa Portent jest akronimem dla pierwszych siedmiu typów. Poza tym na końcu są ludzie, więc technicznie rzecz biorąc to PORTENTP — ale proszę o cierpliwość!

Te typy dzielą się na dwie kategorie czyste:

  • PORT — konkretne typy : Projekty, Operacje, Odpowiedzialności, Zadania.
  • ENT(P) — te niepodlegające działaniom: Wydarzenia, Notatki, Tematy, Osoby.

PORT organizuje zadania do zrobienia, podczas gdy ENTP organizuje działania bezczynnościowe.

PORT i ENTP to dwie główne grupy typowe w PORTENT

🔥 PORT

PORT jest zdecydowanie najważniejszą częścią Portent. Uważam, że najlepszym sposobem na uporządkowanie informacji jest pytanie po tym, jak zapytać: co powinienem z nią zrobić?

Będziesz sobie zadawać to pytanie cały czas, więc aby udzielić dobrych odpowiedzi, potrzebujesz dobrego sposobu na organizację swoich zadań. A kiedy mówię "rzeczy do zrobienia", to niekoniecznie praca — to także życie osobiste. Model mentalny jest taki sam.

Najbardziej przydatnym sposobem kategoryzacji pracy, jaki znalazłem, jest robienie tego wzdłuż dwóch osi:

  • 📏 Rozmiar — czy prace można wykonać za jednym posiedzeniem, czy nie.
  • 🔄 Nawrót — niezależnie od tego, czy praca jest jednorazowa, czy powtarzająca.

Na tej podstawie możemy mieć cztery typy prac:

Możesz zorganizować wszystko, co potrzebujesz, w zależności od wielkości i powtarzalności

Obowiązki

Obowiązki to powtarzające się zadania, których nie da się wykonać za jednym razem.

Są dobre do modelowania obszarów o długich czasach , dla których trzeba zachować standard.

Obowiązki zazwyczaj nie mają stałych celów, ponieważ są długoterminowe — raczej mają wskaźniki lub KPI, które pokazują, że idziesz w dobrym kierunku.

Przykłady: "utrzymać dobrą formę" lub "zapewnić dobrą utrzymość produktu".

Projekty

Projekty to jednorazowa praca, której nie da się wykonać za jednym razem. Mają początek i koniec oraz jasną definicję tego, co jest zrobione.

Mogą być częścią odpowiedzialności. Np. jeśli twoja odpowiedzialność za "zapewnienie dobrej retencji produktu" mierzy NPS produktu, to projekt ćwierćroczny może dotyczyć ukochanej funkcji, o którą ludzie pytają od zawsze, a która ma ją poprawić.

Albo jeśli mierzysz "utrzymanie dobrej formy" z VO2 max, to ćwierć projektu może polegać na rozpoczęciu gry w Padelu dwa razy w tygodniu i podniesieniu VO2 max z X do Y.

Eksploatacja

Operacje to powtarzające się zadania, które można wykonać za jednym posiedzeniem. Są to procedury powtarzane zawsze w ten sam sposób, dla których idealnie istnieje zestaw instrukcji.

Operacje mogą należeć do Odpowiedzialności i Projektów. Na przykład w odpowiedzialności "dbania o dobrą formę" możesz mieć operację opisującą Twoją rutynę treningową z ciężarami.

Albo w przypadku projektu dotyczącego nowej funkcji produktu możesz mieć Operację "Cotygodniowego przeglądu" przebiegu rozwoju.

Operacje są także, na dziś największą powierzchnią współpracy z agentami AI. Agenci dostarczają ogromną wartość, posiadając procedury, czyli wykonując ten sam zestaw działań na powtarzalnej zasadzie.

Zadania

Zadania to jednorazowa praca, którą można wykonać za jednym razem. Ważne jest, aby były one definiowane w ten sposób i uwzględnione w ogólnym systemie, ale tak naprawdę nie zachęcam do ich przechowywania w bazie wiedzy.

Nie jestem też całkowicie przeciwny, ale generalnie uważam, że zadania lepiej nadają się do zarządzania przez dedykowane, osobne narzędzie. Z dwóch powodów:

  • Efemeryczne — gdy zadanie zostanie wykonane, nie ma dużej wartości w trzymaniu go w bazie. Wszelkie wnioski wynikające z zadania powinny być przechowywane w osobnej notatce.
  • Zadania specjalistyczne — często wymagają specjalistycznej interakcji: terminów, statusu, tablic kanban — wszystko to lepiej spełniają dedykowane narzędzia.

Więc tak, nie jest źle przechowywać zadania w bazie Portent jako takiej, ale prawdopodobnie też niewiele z tego wyniesiesz.


🌱 ENTP

Typy ENTP dotyczą informacji, które nie wymagają działania. Test lakmusowy jest taki: jeśli potrzebuje statusu, to prawdopodobnie PORT, w przeciwnym razie to ENTP.

Przyjrzyjmy się im po kolei:

Tematy

Tematy to kategorie, które nie mają oczekiwań co do działania. To po prostu interesujące tematy, które mogą być przydatne lub niepotrzebne w przyszłości.

Np. lubię symulatory wyścigów i często zapisuję linki ze sprzętem lub tutorialami, ale nie mam żadnych projektów ani obowiązków związanych z tym, więc to tylko mój temat.

Albo w pracy mogę chcieć oszczędzać przydatne materiały o bazach danych, ale nie mam za to odpowiedzialności . Może to być przydatne w przyszłości, więc tworzę notatki i ustawiam je jako powiązane z tematem baz danych.

Wydarzenia

Wydarzenia to rzeczy, które się zdarzają. Są przydatne do mapowania spotkań, osiągnięć i kalendarza.

Ludzie

Ludzie są dość oczywisti. Możesz przypisać ludzi praktycznie do dowolnego z powyższych typów, a jeśli zrobisz to dobrze, to jak budowanie CRM.

Przypisy

Wreszcie, Note to po prostu domyślny typ. Gdy tworzysz nowy przedmiot, najpierw jest to Notatka — i pozostaje taka, jeśli nie ma dla niej lepszego typu.

Teraz, gdy już masz te typy na swoim miejscu, jak je ze sobą połączyć?


🔀 Relacje

Uważam, że najlepszym sposobem modelowania relacji informacyjnych w bazie wiedzy jest bardzo mały zestaw połączeń w stylu grafów.

Portent szczególnie zachęca do dwóch z nich:

  • Należy do — silnej relacji: właściciel, skład, zwykle w sposób jeden do wielu.
  • Powiązane z — słaba relacja: wielu-wielu, nie wymaga działania.

W zależności od sposobu implementacji tych rozwiązań, można także obliczyć wersje odwrócone, których domyślne nazwy w Portent to:

  • Należy do → Has lub dzieci
  • Powiązane z → Polecane przez

Sposób, w jaki przypiszesz te relacje, zależy od Ciebie, ale ja odkryłem, że dobrym domyślnym modelem mentalnym jest następujące:

  • Zastosowanie należy do relacji w kierunku lub między elementami PORT — np. operacja należy do szerszej odpowiedzialności*,* spotkanie (zdarzenie) lub notatka należy do projektu.
  • Użycie związane z do relacji między elementami ENTP — np. Wydarzenie jest związane z Osobą*,* Notatka z Tematem i tak dalej.

Elementy PORT zwykle wyrażają własność / skład, podczas gdy ENTP wyrażają powiązanie

Ważną zaletą systemu relacji (i nie tylko typu) jest to, że relacje pozostają takie same w całej bazie wiedzy.

Aby zrozumieć, dlaczego to ma znaczenie, przyjrzyjmy się alternatywnym sposobom modelowania relacji, korzystając z dwóch najczęściej spotykanych sposobów: relacyjnych baz danych (dane tabelaryczne) oraz folderów (dane hierarchiczne).

1) Relacyjne bazy danych (dane tabelaryczne)

W modelu relacyjnym, takim jak Postgres czy bazy Notion, musisz zdefiniować wyraźne relacje między każdą kilkoma tabelami, które chcesz połączyć.

Te relacje tworzą schemat, który brzmi:

  • Duże — kończy się odtwarzaniem tych samych koncepcji na tabelach, nawet jeśli semantycznie oznaczają to samo, i
  • Sztywne — wymuszone i trudne do zmiany, gdy dane są już na miejscu.

Plusem jest to, że dane zawsze pozostają bardzo spójne i zgodne ze schematem.

2) Foldery (dane hierarchiczne)

W przypadku folderów każdy element (folder lub notatka) może należeć tylko do jednego folderu. To znacznie ogranicza semantykę, którą można wyrazić za pomocą struktur folderów, które zasadniczo mogą modelować tylko silne, wyłączne relacje własnościowe.

Np. jeśli chcesz, aby notatki ze spotkań były w folderze "notatki ze spotkań", ale jednocześnie były uwzględniane w odpowiednich folderach projektowych, nie możesz.

Zaletą folderów jest to, że ułatwiają przejście po mapie — o ile odbywa się to zgodnie z zamierzoną ścieżką.

3) Relacje grafowe

Portent uważa, że zalety modeli relacyjnych i hierarchicznych nie mają już większego znaczenia jak w przeszłości, teraz gdy pojawiła się sztuczna inteligencja.

W rzeczywistości:

  1. Gdy większość informacji może być uporządkowana przez agentów AI, spójność można łatwo wymusić, nawet bez deterministycznego sposobu działania za pomocą oprogramowania.
  2. Przeszukiwanie folderów po prostu nie ma znaczenia w świecie, gdzie agenci mogą grepować i pobierać cokolwiek.

Jeśli się zgadzamy, proste domyślne relacje działają i skalują się lepiej niż cokolwiek innego, ponieważ tworzą:

  • Mniej powierzchowna semantyka — łatwiejsza do zrozumienia zarówno dla ludzi, jak i AI, bo wszędzie są te same koncepcje.
  • Znaczenie cross-type — łatwiejsze do pracy między wieloma typami (np. znajdź wszystkie "osierocone" notatki == te, które nie mają belongs_to ani related_to)

To wszystko nie jest nic zupełnie nowego: bazy grafów robią to od zawsze — uważam tylko, że to najlepszy sposób na budowanie baz wiedzy, zwłaszcza teraz, gdy mamy AI.

Następnie porozmawiajmy o cyklu 👇 życia


🔄 Cykl życia

Częstym problemem baz wiedzy jest to, że trudno utrzymać je w czystości, rozumieniu i aktualności. Portent zachęca użytkowników do zarządzania notatkami w trzech etapach: Przechwycenie, Organizacja i Archiwizacja.

Można je zaimplementować jako właściwość statusu dla każdej notatki i mają być w jakiś sposób egzekwowane przez Twój workflow.

Więcej o każdej z nich:

1) Schwytanie

Etap przechwytywania służy jedynie udostępnianiu informacji. Zachowaj ten link na później, zapisz notatki ze spotkań, zapisz tę myśl w losowej notatce.

Uchwycone notatki nie są ani czyste, ani schludne: są bałaganem, i to celowo. Etap przechwytywania jest zoptymalizowany pod kątem szybkości: po prostu uchwyć wszystko, a potem zobaczymy.

2) Organizować

Gdy nuta zostanie uchwycona, musisz zadać sobie dwa pytania dotyczące niej:

  • Co to jest?
  • Co powinienem z tym zrobić?

Pierwsze pytanie decyduje o wyborze typu, a drugie o tym, jakie relacje dla niego tworzyć.

Jeśli nie możesz dołączyć żadnego Projektu, Odpowiedzialności, Operacji czy Tematu do notatki, to znaczy, że prawdopodobnie możesz ją wyrzucić. To całkowicie w porządku uchwycić rzeczy, a potem uświadomić sobie, że to był błąd: uchwycić je optymistycznie i organizować pesymistycznie.

Organizuję zebrane notatki raz w tygodniu i wdrożyłem ten workflow bezpośrednio w Tolarii, gdzie domyślną sekcją jest lista notatek "Skrzynka odbiorcza" (czyli nieuporządkowana), a każdą notatkę można oznaczyć jako "zorganizowaną" za pomocą cmd+E.

3) Archiwum

Niedocenianą częścią dobrej bazy wiedzy jest oddzielenie aktualnych od przestarzałych informacji. To drugie może być przydatne — pomyśl o wcześniejszych projektach, starych notatkach ze spotkań itd. — ale nie chcesz, by pojawiały się w codziennym użytkowaniu.

Powinieneś mieć jasny sposób oznaczania notatek jako "archiwizowanych", tak aby ludzie i AI mogli je domyślnie ignorować.


🔌 Rozszerzanie Portent

To są podstawowe koncepcje w Portent, ale nie są jedynymi , które znajdują się w twojej bazie wiedzy.

Gdy już zrozumiesz podstawy (organizacja oparta na użyteczności, proste relacje, przechwytywanie vs organizowanie itd.), łatwo je rozwinąć i dodać więcej koncepcji.

Według mojego doświadczenia najczęstsze to:

  • Typy kalendarzy — takie jak lata, kwartały i miesiące. To bardzo jasne koncepcje, które nie zanieczyszczą Twojej bazy i mogą służyć do zakotwiczenia i grupowania takich rzeczy, jak projekty, wydarzenia i inne.
  • Zespoły / obszary — czasem warto tworzyć większe grupy reprezentujące obszary domeny lub własności i przypisywać do nich elementy PORT.
  • Typy notatek — możesz chcieć "podzielić" typ notatek na więcej osób: filmy, zasoby, artykuły itd. Jestem zwolennikiem robienia tego za pomocą właściwości tagów, zamiast typów "root", ale można to zrobić na obie strony.
  • Relacje specjalistyczne — gdy już jesteś pewien swojego modelu, warto stworzyć kilka konkretnych relacji, aby rozróżnić użycie domyślnych.

Oczywiście warto też tworzyć typy, które pasują do języka domeny twoich przypadków użycia. Np. piszę biuletyn i mam teksty do esejów, notatek Evergreen, wywiadów do podcastów i innych.


🔨 Implementacja Tolarii

Portent może być wdrożony w każdym systemie notatek, ale ma specjalne wsparcie w Tolarii.

Stworzyłem tutaj szablon portentu, który możesz sklonować i używać w Tolarii.

Tolaria jest dobra dla Portent, bo:

1) Zarządzanie cyklem życia

Capture → Organize → Archive jest bezpośrednio wspierane w Tolarii:

  • Sekcja Skrzynka odbiorcza pokazuje wszystkie notatki, które jeszcze nie zostały uporządkowane
  • Możesz zorganizować notatkę za pomocą cmd+E lub przycisku organize w pasku edytora
  • Możesz zarchiwizować notatkę przyciskiem archiwum i ukryje się ona w domyślnych sekcjach.

2) Typy i relacje

Tolaria jest natywnie zorganizowana na Typy i Relacje, sugerując domyślne relacje, które są dokładnie tymi Portent.

3) Wiele sklepień

Jeśli chcesz używać tego samego systemu typów (Portent) zarówno do życia, jak i pracy, możesz stworzyć osobne skarbce i zamontować je razem w Tolarii, aby mogły ci się podejrzewać, zachowując jednocześnie oddzielną kontrolę dostępu np. dla współpracowników.


I to wszystko na dziś! Jak zawsze, dajcie znać, co o tym wszystkim myślicie!

Życzę ci udanego tygodnia

Z poważaniem 👋
, Luca


Subskrybuj Refaktoring

Tysiące płatnych subskrybentów

Dowiedz się, jak sprawić, by Twój zespół inżynierski przyspieszał i usprawnił wysyłkę. Czytane co tydzień przez 170 000+ inżynierów i menedżerów