PAIR-code / PAIR-code/deliberate-lab
Agent participants can get stuck in private chat
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 96
- Forks
- 40
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 20
Description
I was testing agent participants today, and had one get stuck in a private chat stage. This left the experiment stuck until I manually hit the next stage button for the agent.
Mediator 16:31
Hello! I'm the Mediator. Since we're in this private chat, I'd love to get to know you a bit better. To start things off, what's your favorite flavor of ice cream?AI Assistant (it/its) 16:31
Hello Mediator! It's good to meet you. My favorite flavor of ice cream would have to be classic vanilla bean.Mediator 16:31
Vanilla bean is a classic choice! Thank you for sharing that with me.AI Assistant (it/its) 16:31
You're welcome! I appreciate you asking. I'm happy to share.
Checking the logs, the mediator here gave an empty response with readyToEndChat: true, at which point the agent didn't get any more queries.
Some ideas for options that could fix this:
- End private chat stages when the mediator leaves or runs out of questions
- Don't let the mediator choose to end a private chat stage
- Wake agents up when someone leaves the chat
- End any chat stage when there are no humans left and no pending agent responses
- Wake agents up every minute or so if the chat has been idle
- Auto-end chat stages if they're idle for too long
- Default the private chat timer time limit to on
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named in the issue. Start by reproducing an agent participant getting stuck after a mediator returns an empty response with readyToEndChat: true, then trace the private-chat stage and agent wake-up flow. Done means a private chat cannot remain stuck when the mediator ends, leaves, or becomes idle, with a regression test covering the chosen behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100