Hacker News new | ask | show | jobs
by ianbicking 1047 days ago
I've thought a lot about this too, it's great to see work on it.

I do find I have a bit of empty page syndrome when interacting. Like... I'm not sure what to say. Whatever I say the bear will be happy and positive, but it puts the onus on me to dig up things I want to be comforted about.

It would be nice if the bear could initiate some interactions, maybe ask me about something, give me something to respond to instead of me initiating. But of course once we are talking about something it shouldn't redirect! Though it could try to expand on the subject.

Like a response I got was "Please don't be afraid to talk about those feelings" – it's kind of the worst. It's like someone saying "tell me if there's anything I can do to help." No one ever asks for help in response to that kind of statement. You need to be concrete: "tell me how that makes you feel", "let me know about", etc. You don't want to fall into the Rogerian trope of just reflecting things at the other person ("how does it make you feel that X?"); you should be engaged, empathetic. Maybe try to interpret things for the person, but as a question ("does that make you feel Y?" where Y is NOT just what the person said). I found watching some videos on YouTube of sample sessions to be interesting and get around some of the stereotypes of Roger's approach.

1 comments

This is a good point. Let me revisit the finetuning datasets. I actually cleaned up a bunch of Carl Rogers' transcripts in the past for an earlier finetuning session (but did not end up using them due to overfitting concerns) but I think it is a good time to re-look at some examples to re-introduce back to the model.
Are you doing it mostly through fine tuning? Most of what I've been doing has been with prompt engineering and pipelines, so I tend to think about these things from that perspective. With prompting I'd be inclined to ask the model to identify issues and start to analyze them, resulting in follow-up questions/etc. This would probably be hidden (or softly hidden – viewable but not shown by default). I find this parallel "mental" process makes the responses more engaged, and lets the model maintain a conversational purpose across responses.

So using prompting I'd almost want to take Rogers' _teachings_ and incorporate them in the prompt, teaching the model to follow the Rogers' guidance for a therapist rather than simply cloning the behavior seen in transcripts.

Oh this is an interesting point. I do incorporate some of Rogers' teachings into the prompt in terms of how high level descriptions of how BB should respond.

At the same time, because I am unsure how much reference material the base GPT model has to implement those high level descriptions (for instance, the Roger transcripts are not in public domain), so I would also try to provide finetuning examples.

Another way to teach GPT about the model is to program a portion of it or use chain-of-thought approaches. (Well, not sure if CoT is the right way to think of it... templating a thought process?)

A template seems like it might do the trick, something like:

Respond in the form:

Topic: [The topic the user wants to talk about] Feelings: [How the user seems to feel about the topic] Therapist: [How a Rogerian therapist would reply to their patient]

---

Then GPT has to "think out" those first items before it actually produces a response. I just made up "Topic" and "Feelings" – what you force GPT to describe will determine the therapy process you are trying to inspire in it. Then you'd only show the user the Therapist line where is actually responding. (I think it's fair for users to actually see all of the response, but not necessarily by default)

I see. That's interesting. It might be expensive to deploy in production but I can give this a shot in generating synthetic training data. Thanks for the tip! :)