Hacker News

Implementing a (Vibed) LLM Coding Agent in Prolog

6 points by schmuhblaster ago | 3 comments

bwestergard |next [-]

This is a neat idea. The "core motivations" description makes intuitive sense to me.

https://github.com/deepclause/deepclause-desktop?tab=readme-...

Similarly, I have had some success using Gemini to extract facts from plain text in the format of Souffle Datalog[1] facts. The resulting dataset can then be conveniently and efficiently queried with Datalog. In this way, LLMs allow for a partial return of the software development strategies of the semantic web[2]. I wrote up some thoughts along those lines earlier this year[3].

1: https://souffle-lang.github.io/ 2: https://en.wikipedia.org/wiki/Semantic_Web 3: https://bjornwestergard.com/llm-extractors/

schmuhblaster |root |parent [-]

Thank you! I went with a Prolog base, because I was interested in what might be possible when combining its execution model with LLM-defined predicates. For anything related to modelling and querying data, a Datalog dialect might indeed be a better choice. I've also used Logica [0] as an intermediate layer in a text2sql system, but as models get better and better, I believe there is less need for these kinds of abstractions.

[0] https://logica.dev/

phunterlau |previous [-]

Great idea to bring the consistency to coding agent with domain specific language (DSL). It reminded me of Google's CaMel work https://arxiv.org/abs/2503.18813 which introduces DSL to LLM prompt to prevent prompt injection by design, and the DeepClause work is like a more general approach on code agent. Great work!