Debugging with Agents

03 Sep 2022 01:34 - 03 Sep 2022 07:31
Open in Logseq
    • Nose Goblins and LiveWorld both had some tools for reifying execution histories and making them more agent-like. There are a few closely related ideas:
      • procedures that have explicit goals
        • procedure invocations that have state relative to the goal (suceeded, failed, etc)
      • call trees as goal trees
      • representation of goal states using anthropomorphic or narrative techniques
    • Never really got farther than a first proof-of-concept. Why? I still think it's an interesting idea, although apparently nobody else does.
    • Have to note that functional programming is in tension with this. The default for a Clojure defn is to return a value and have absolutely no side effects (if it does, you are supposed to indicate that with a bang: eg delete-file!). Not to knock functional programming, which has many merits, but it lacks the dynamism, the aliveness, that I was after in my research.
      • Functional programming also interferes with the effort to integrate programming languages and the user interface, because a typical WYSIWYG UI is an essentially imperative sort of thing, it has objects that you operate on, changing their state.
      • Functional programming is anti-agentic, I guess. I mean they are almost opposites.