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

> 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: