Dlaczego bazy wektorowe nie uratują agentów przed audytorami i jak Semantica to rozwiązuje
Wyobraź sobie realistyczny scenariusz. Agent AI w firmie finansowej automatycznie odrzucił wniosek kredytowy lub ustalił stopę procentową. Sześć miesięcy później pojawia się regulator i zadaje proste pytanie: „Na jakiej podstawie system podjął tę decyzję?”
Jeśli Twój agent opiera się wyłącznie na bazie wektorowej i standardowym RAG, nie będziesz mieć odpowiedniej odpowiedzi. Osadzenia wektorowe mogą znajdować podobne fragmenty tekstu na podstawie podobieństwa semantycznego. Ale nie mają pojęcia, które fakty sobie przeczą, na których wcześniejszych precedensach model się opierał i do jakich konsekwencji doprowadził ten łańcuch rozumowania.
Tutaj z pomocą przychodzi framework Semantica. Deweloperzy pozycjonują go jako open-source'ową alternatywę dla Palantir dla agentów autonomicznych. Narzędzie integruje się bezpośrednio pod Twoim frameworkiem agentów, modelem i magazynem wektorowym, dodając deterministyczną warstwę grafów, reguł i audytu.

Przegląd projektu i koncepcja
Semantica to biblioteka Pythona (pip install semantica) zbudowana wokół koncepcji Grafów Kontekstowych. Zamiast polegać na modelu językowym w budowaniu połączeń logicznych, biblioteka bierze na siebie deterministyczną pracę. Budowanie grafu wiedzy, wykonywanie reguł czy śledzenie audytu LLM nie wymaga LLM w ogóle.
Architektura biblioteki obejmuje pełny cykl przetwarzania danych. Dane pochodzą z plików, stron internetowych, tradycyjnych baz danych i platform korporacyjnych, takich jak Databricks i Snowflake. Surowy tekst jest wyodrębniany, czyszczony i dzielony na fragmenty na podstawie encji. Z tych fragmentów powstaje graf wiedzy, który łączy się z deterministycznymi silnikami wnioskowania (Rete, Datalog, SPARQL), standardami W3C PROV-O i modułami rejestrowania decyzji.
Główne możliwości frameworka
- Decyzje jako obiekty pierwszoklasowe. W konwencjonalnych systemach decyzje agentów trafiają do logów lub pamięci czatu. W Semantice wywołanie
record_decision()tworzy węzeł grafu z scenariuszem, argumentami, pewnością i metadanymi. Decyzje są połączone ze sobą przez relacje przyczynowe. - Deterministyczne silniki wnioskowania. Modele językowe są podatne na halucynacje podczas obliczania złożonych reguł biznesowych. Framework zawiera silniki Rete, Datalog i forward chaining. Reguły definiujesz w kodzie, a system weryfikuje fakty bez udziału LLM, dostarczając przejrzyste wyniki.
- Wykrywanie konfliktów i deduplikacja. Gdy indeks wektorowy otrzymuje dwa sprzeczne fakty, zazwyczaj przechowuje oba lub nadpisuje stary. Semantica śledzi takie rozbieżności, oznacza konflikty i proponuje strategie rozwiązania: od ważenia zaufania do źródła po wybór najbardziej aktualnego faktu.
- Elastyczność przechowywania bez vendor lock-in. Warstwa storage jest w pełni polyglot. Możesz pracować z magazynami RDF (Oxigraph, Blazegraph, Jena, RDF4J) przez SPARQL lub grafami właściwości (Neo4j, FalkorDB, Apache AGE, AWS Neptune) przez Cypher. Bazy wektorowe jak Qdrant, Pinecone, Weaviate czy pgvector łączą się bez zmiany kodu rdzeniowego.
Jak to wygląda w kodzie
Przyjrzyjmy się podstawowemu scenariuszowi rejestrowania decyzji i śledzenia jej przyczyn.
from semantica.context import ContextGraph
graph = ContextGraph(advanced_analytics=True)
# Регистрируем решение о согласовании заявки
app_id = graph.record_decision(
category="credit_application",
scenario="Персональный кредит, доход 150k, DTI 31%",
reasoning="Доход соответствует порогу, стабильный стаж работы",
outcome="proceed_to_underwriting",
confidence=0.88,
metadata={"applicant_id": "A-7291"}
)
# Следующий шаг андеррайтинга
uw_id = graph.record_decision(
category="loan_underwriting",
scenario="Проверка андеррайтером для A-7291",
reasoning="DTI в пределах нормы, чистая кредитная история",
outcome="approved",
confidence=0.94
)
# Связываем решения причиной и следствием
graph.add_causal_relationship(app_id, uw_id, relationship_type="CAUSED")
# Получаем всю цепочку для проверки или аудита
chain = graph.trace_decision_chain(uw_id)
similar = graph.find_similar_decisions("кредит с низким DTI", max_results=5)
Każda podjęta decyzja jest eksportowana w formacie W3C PROV-O, który akceptują regulatorzy w sektorze finansowym i medycznym.
Integracje i ekosystem
Biblioteka udostępnia gotowe do użycia narzędzia wdrożeniowe:
- Gotowy serwer MCP, który łączy Semanticę z Claude Desktop, Windsurf, Cursor lub VS Code w ciągu kilku minut.
- Natywna integracja z multi-agent frameworkiem Agno, umożliwiająca wielu agentom współdzielenie wspólnego grafu kontekstowego.
- REST API na FastAPI i narzędzie CLI
semanticadla linii poleceń. - Interfejs oparty na przeglądarce — Knowledge Explorer zbudowany na React i Sigma.js do wizualizacji grafów, śledzenia osi czasu i ręcznego annotowania encji.
Kto skorzysta na tym projekcie
Jeśli budujesz prosty projekt hobbystyczny lub podstawowego chatbota do zapytań o bazę wiedzy, Semantica byłaby przesadą. Podstawowy RAG na LangChain lub LlamaIndex byłby tutaj wystarczający.
Ale projekt zdecydowanie warto rozważyć, jeśli budujesz agentów dla sektora finansowego, prawa, medycyny lub cyberbezpieczeństwa. W tych dziedzinach umiejętność pokazania pełnej historii decyzji i zagwarantowania zgodności z regułami biznesowymi staje się krytycznym wymaganiem produktowym.
Powiązane projekty