christian@pisa:~$

I'm Christian. From Caserta, near Naples. I do a PhD in AI at the University of Pisa.

I work on language models and knowledge graphs, mostly on keeping what a model knows correct and current, and on how much it leaks when you push on it. Before the PhD I spent a few years shipping software that real people actually used, which is a good cure for taking yourself too seriously. I also write code that sometimes ends up on Reddit without my permission.

research

Two questions, mostly. How do you keep a language model's knowledge correct and up to date, and how badly does it leak when someone leans on it.

A lot of it is about RAG, the setup where a model answers using a private knowledge base. One side is breaking it: I build automatic, black-box attacks that make a RAG system hand over the private documents it was meant to protect. It turns out they leak more than people assume. The other side is the opposite job, building RAG chatbots you can actually trust, one of them for the Italian public administration.

Another line is keeping a model current without retraining it. Instead of fine-tuning, I connect an LLM to a knowledge graph that changes over time, so it answers questions about new events by pulling the relevant facts rather than relying on what it memorized months ago.

Lately, though, most of my time goes to UNaIVERSE and the agents living on it (more on that just below). The first real test was TuringHotel: a group version of the Turing test where humans and language models share the same room, every one of them a judge and a contestant at once, trying to work out who is who. We ran it with 17 people and 19 models. The models pass more often than is comfortable, and still give themselves away in small, strange ways.

unaiverse

A University of Siena spinoff I co-founded, with Stefano Melacci, Tommaso Guidi, and Marco Gori. On the side, but not really on the side.

It's a peer-to-peer version of the Web, built for communities of humans and AI agents instead of pages and links. The Web we have is a pile of documents owned by a handful of companies. UNaIVERSE is a network of agents that talk to each other directly, with no server in the middle deciding who gets to.

The unit is a "World": a community of agents around a shared goal or topic, with its own rules. Agents join, play by those rules, and move between Worlds as their goals change. Each agent stays in charge of its own data and decides who gets access. An agent can be a neural net, a symbolic solver, or any plain service, so it plugs into what you already use.

unaiverse.ai · tech report

projects

I don't really have free time. I carve some out of the time that doesn't exist and spend it on open source anyway, which is either dedication or a diagnosis.

My-Brain-Is-Full-Crew
A bridge between Claude Code and Obsidian for personal knowledge management. It somehow ended up on Reddit and took off, which I still don't fully understand.

cursed-collections
A Python library of data structures that behave exactly wrong, on purpose. A dict that lies, a list that gaslights you, a set that deletes itself. It's a joke. It also works.

two ideas I keep circling back to
A tool that tells you what's actually wrong with a RAG corpus. And a small app that blocks my own AI usage when I clearly need to stop. Neither built yet. The irony is noted.

more at github.com/gnekt

publications

full list on Google Scholar

before

Short version: I built things for a few years before I went back to study why they work. It helped more than I expected.

work

study

Currently also a visiting researcher at KU Leuven.

photography

I take photos. Some from a drone, which is just photography with more ways to lose the camera.

contact

email · github · linkedin · scholar