Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Personally, I'm primarily using TypingMind UI (via API). To my great surprise, it seems that at some point, the author removed this feature from the UI. It's their one decision I just can't understand.

Unfortunately, I haven't found a better UI replacement yet. ChatGPT on OpenAI doesn't cut it - that app is, for some reason, way too slow and heavy for my Firefox, both on my laptop and my phone.

As for GP's request in general: I fear this is unfortunately the blind spot of communication tools design showing up again. With ChatGPT, it's important more so than ever, to recognize that a prolonged discussion will naturally fit a DAG. Not just a tree, but a directed acyclic graph.

(Tree is what you get when you want to branch out. DAG is what you get when you then want to merge branches back, or generally reference multiple parallel threads in one response.)

EDIT: This took me by surprise - someone actually did a tree interface for ChatGPT!

See: https://github.com/jumang4423/treed-gpt4

Discovered via: https://news.ycombinator.com/item?id=35909273 (thanks 'itsuka!)



TypingMind can still fork a conversation, although it does seem harder to find.

You have to click “Edit” on a previous prompt, and then “Start new chat from here”. I don’t know where this is documented, but the FAQ chatbot (https://www.typingmind.com/faqs) was able to answer my question “How do I fork a conversation?”, and it does seem to work as described.

Ah, here it is (partly): https://tdinh.notion.site/Features-14e2788cd7264d87b0a4bf71b...


You're welcome :)

> someone actually did a tree interface for ChatGPT!

In case anyone is interested, UCSD Creativity Lab has a couple DAG UIs that offer richer interactions and visualizations:

- Sensecape: https://twitter.com/HaijunXia/status/1646919380704559104

- Graphologue: https://twitter.com/HaijunXia/status/1646917869115166720

According to the discussion on the thread, they are in the process of open sourcing these two projects.


Can you describe more how this DAG would look?

I can kind of understand it from a human perspective, sometimes someone will write a big block of text and you want to respond to different parts of it, so it branch off in that way, or you have 2 different people respond to the same parent comment and have it branch that way.

But merging -- sure I can see how a human might bring the ideas in each thread together again into one cohesive thought but visually, like in a UI, how would you represent that?

And how would you feed that back into ChatGPT? ChatGPT takes in a linear ordering of messages, not a tree or DAG.


> But merging -- sure I can see how a human might bring the ideas in each thread together again into one cohesive thought but visually, like in a UI, how would you represent that?

       ---------------------------
      (     THREAD ROOT           )
       ----------+---+------------
           …-----+   +---…
           |             |
        +--+---+      +--+---+
        | AAA  |      | BBB  +--+
        +--++--+      +--+---+  |
      +--+ ||  +--+      |      |
      |A1+-++--+A2|      |   +--+-+
      +-++     ++-+      |   | B1 |
        |       |        |   +--+-+
        |      ++-+      |      |
        |      |A3|      |      |
        |      ++-+      |      …
      +-+----+  |        |
      | CCC  +--+--------+
      +--+---+
         |
         …
(Note: this is meant to be a DAG - so edges have implied arrows.)

Here, reply "CCC" referred to / quoted replies "A1", "A3" and "BBB" - not only merging sub-branches of subthread "AAA", but also joining in subthread "BBB" as well. Text-wise, it would look something like:

  > [quote from A1]
  Yes, another poster covered it [BBB](here):

  > [quote from BBB]
  
  Also, [A3](that other thing) is actually the same thing
  in disguise, because ...
We've been doing stuff like this for ages - personally I've seen or done it many times on phpBB boards and in e-mails - but, because the interface itself was linear (or at best tree-shaped), you have to keep track of the implied DAG on your own, in your head. What I'm asking/wishing for is an UI that supports and visualizes this natively.

> And how would you feed that back into ChatGPT? ChatGPT takes in a linear ordering of messages, not a tree or DAG.

One possibility:

See diagram above. THREAD ROOT is your prompt. Say "CCC" is your reply. When you send it, the app would take the subgraph that stars with "THREAD ROOT" and ends with "CCC" (i.e. containing these two nodes and all other nodes on any of possible paths between start and end), and sort them topologically to get a linear sequence.

To give GPT-4 extra chance at comprehending the structure, we could even format each message like this:

  Chat-Message-ID: <CCC-uuid>
  In-Reply-To: <A1-uuid>, <A3-uuid>, <BBB-uuid>

  Text of the message.
Kind of like e-mail.

With GPT-4 32k, we could probably just dump the entire graph, to give GPT-4 a chance to make merges/cross-references on its own.

Also: it's really the same thing as e.g. resolving dependencies when building software. Dependencies form a DAG, but build order is linear (excluding parallelism, which is an optimization) - the build system toposorts the DAG and builds things in order.


My favorite is still the MacSoup Usenet client.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: