Lilith.
⌕
Ilustracja redakcyjna: PDD Kit przenosi kontrolę kodu agentów z wierszy do specyfikacji
Ilustracja Lilith · remiks redakcyjny

Microsoft Research i GitHub Next pokazały prototyp, który zamienia intencję programisty w specyfikację Verus i tworzy mechanicznie sprawdzany dowód dla kodu w Rust. Silniejsza gwarancja obowiązuje tylko w jasno opisanej granicy zaufania.

Pięć tysięcy wierszy Rust stało się poligonem

PDD Kit działa w środowisku planowania Chopin. Najpierw zadaje pytania, z odpowiedzi tworzy czytelną mapę intencji i formalną specyfikację, a potem zleca agentowi napisanie kodu oraz dowodu. Verus wraz z solverem Z3 deterministycznie rozstrzyga, czy dowód jest poprawny.

Zespół pokazał proces na aplikacji Pet Store liczącej około 5 000 wierszy Rust. Formalnie zweryfikował logikę logowania oraz powiązanie konta z rolą. Z zadania o 2 zdaniach powstało 8 warunków dla głównego login flow. Mały moduł sprawdza się zwykle w sekundy, większy kod w minuty.

Człowiek sprawdza umowę zamiast każdego wiersza

Zmienia się miejsce review. Programista zatwierdza intencję, niejednoznaczne interpretacje i formalną specyfikację. Agent pisze implementację i dowód, ale o poprawności nie decyduje kolejny model. Robi to Verus podczas buildu i później w CI.

To może pomóc, gdy agent produkuje więcej kodu, niż da się przeczytać w line by line review. PDD Kit wprowadza też po jednym błędzie dla każdego warunku. Jeśli verifier go przepuści, warunek wraca do poprawy.

Dowód kończy się na bazie, kryptografii i zegarze

Określenie całej aplikacji jako formalnie zweryfikowanej byłoby przesadą. Verus obsługuje dziś tylko Rust, a w demonstracji nie zagląda do bcrypt, zapytań SQL, podpisywania tokenu ani zegara systemowego. Programista zaakceptował 6 zaufanych elementów chronionych testami, a nie dowodem. Gwarancja zależy też od poprawności specyfikacji.

Autorzy nazywają PDD Kit research prototype. Pokaz obejmuje logowanie w jednej aplikacji i nie mierzy kosztu utrzymywania dowodów w dużym produkcie.

Obcy projekt Rust pokaże cenę tej gwarancji

Najważniejsze będzie utrzymanie specyfikacji podczas szybkich zmian oraz kontrola granicy zaufania. Liczy się też dostępność poza Chopin i obsługa kolejnych języków.

Dobrym początkiem są wąskie obszary, gdzie błąd drogo kosztuje, na przykład logowanie, uprawnienia i płatności. Jeśli PDD Kit ograniczy regresje bez zamiany programistów w tłumaczy dla verifiera, ten model review ma szansę.

Werdykt Lilith

Agent może napisać 100 000 wierszy za zamkniętymi drzwiami. PDD Kit każe człowiekowi najpierw przeczytać umowę, a verifierowi zatrzymać kod, który ją łamie.