Very cool. I recall an HN submission (which I can't find offhand unfortunately) that did something similar -- it used an LLM to decompose articles into a set of statements which were used to construct an entity-relationship graph of facts and events. It then queried that using conventional graph query methods, much like DataLog / Lemmalog is doing here. I remember it was particularly effective at answering timeline-b…
I accidentally turned LLM memory into program analysis
21–30 of 94 posts
Re: I accidentally turned LLM memory into program analysis
#22Re: I accidentally turned LLM memory into program analysis
#23Re: I accidentally turned LLM memory into program analysis
#24I reached a similar conclusion: LLMs should only really sit at the terminals of request fulfilment. 1. User request understanding: natural language -> a more rigorous representation, in my case Datalog. 2. Result interpretation: facts and derived facts -> natural language. Between those terminals, the work should be mechanical reasoning over some ontology or formal knowledge structure. That connects to another princi…
Re: I accidentally turned LLM memory into program analysis
#25After googling for an hour, I gave up.
Re: I accidentally turned LLM memory into program analysis
#26Soon, he'll discover that he needs quantifiers. Then that "for all" is too strong sometimes, and he needs "for most". That way lies Cyc.
It's not a bad idea. But it does have a history.
Re: I accidentally turned LLM memory into program analysis
#27Re: I accidentally turned LLM memory into program analysis
#28Opposed to OP, DeepClause uses Prolog semantics, so running some more complex queries on knowledgebases might cause some issues (which is the use case where a Datalog might be more useful). For smaller scales it should be fine though.
[0] https://github.com/deepclause/deepclause-sdk [1] https://github.com/deepclause/deepclause-pi
Re: I accidentally turned LLM memory into program analysis
#29Re: I accidentally turned LLM memory into program analysis
#30I reached a similar conclusion: LLMs should only really sit at the terminals of request fulfilment. 1. User request understanding: natural language -> a more rigorous representation, in my case Datalog. 2. Result interpretation: facts and derived facts -> natural language. Between those terminals, the work should be mechanical reasoning over some ontology or formal knowledge structure. That connects to another princi…