Post

Jev can't reason. So I built an interpreter that reasons for it. It runs a logic language where the facts and rules are plain English.

9 reposts114 likes

Okay, I guess that's interesting as an experiment, but you just showed us a video of it not answering the prompt correctly. The prompt reads, "Who are all the grandfathers"? The "Solution" identifies one grandfather (Orville) but not the other (Abe).

You seem like you've got a pretty decorated history with tech companies. If you know anyone looking for a dev who knows both ML/NLP and also broader AI topics like logic solvers and planning systems, who can cut through the hype and make things like this actually work, hmu.

Yeah, I decided just to record a quick video. Didn't realize this many people would reshare it. If you look closely, your screenshot shows "step 16 of 84". I can assure you that by step 34 it finds all the grandpa relations

Have you tried hooking it up to Prolog (or maybe even Lean) to create ontologies so you can gradually offload queries into a more deterministic (and less compute intensive) system?

Not yet. In that case Prolog would be the system one model. What I've been trying to get to is a combination of the search and backtracking algorithm from prolog with the natural language understanding of LLMs but until now its just been too slow

Just explain how it works roughly and give a interactive playback in HTML5. I already know miniKanren, so maybe you want to reference that?

Wait, I don’t get what Jev’s role is here. It seems like this is a datalog/prolog for reasoning, and Haiku converts question to query for the reasoning system…what does Jev have to decide?

That would be awesome but this version just does simple exhaustive search through the facts. I have some ideas for smarter search. I think it would probably need a proper generative model to predict the best search queries though.

To match a goal against a fact or a rule, the interpreter asks Jev questions like: Could "Abe is the father of Y" and "Abe is Homer's father" state the same fact? Jev answers with a probability. The rest is ordinary proof search, written in code.

Jev doesn't generate text, so I used Claude Haiku to turn the question into a logic query first. After that, this query took 100 Jev calls in 8.5 seconds, for roughly a quarter of a cent.