Bridging Bot
Mar 26th, 2025
Some of this is cribbed from Jeff's great talk about the project linked above. You should watch that!
Bridging Bot is software program supporting an experiment to better understand how LLMs can help reduce unproductive disagreement.
Problem
Contentious and polarizing conversations are very prevalent online. Currently, platforms manage this reactively through content moderation—removing, demoting, or labeling problematic content, conversations, and users. Additionally, these kinds of interventions have been politicized and platforms have come under increasing pressure from stakeholders to either ramp up or ramp down their use.
Solution
LLMs present an opportunity to use mediation approaches more proactively, shaping conversations before they go off the rails to make disagreement more constructive. Bridging Bot is an llm-powered tool that automatically identifies and intervenes in contentious converastions online in order to promote constructive conflict, helping users find commong ground and build mutual understanding without eliminating disagreement.
Technical Architecture
- Prefect for workflow orchestration
- Postgres for persistence
- Multiple LLMs (though mostly GPT-4.1-mini currently) for reasoning
- HumanLoop for prompt management, evaluation, and llm ops
Implementation Details
To accomplish it's goal, Bridging Bot needs to monitor posts from target subreddits, determine if a post contains unproductive disagreement, and then interevene in that conversation
- Monitor subreddits by synchronizing the state of target Subreddits every minute, fetching posts within the last N days and saving diffs of the the post and comment contents to our indexed by a
run_id
- **Pass the complete state of the conversation at
run_id
into an LLM call to classify whether the conversation meets our criteria for unproductive disagreement and persist log the llm judgement. - If the coversation meets the criteria, we again pass the conversation state along with the
target_comment_id
of the comment to be replied to to an intervention LLM which formulates an intervention based on the conversation so far, then we post the interention as a reply to to thetarget_comment_id
from the Bridging Bot user.
Challenges & Learnings
Though seemingly straightforward, there are a lot of challenges with this.
- Polling-based synchronization can run into issues with very active Subreddits. Some posts get tens of thousands of comments and it's very easy to start hitting rate limits trying to fetch all those comments every minutes. You can also miss an intervention window based on your polling window.
- Determining when and where to intervene in a conversation can be surprisingly tricky. Disagreements can be unproductive in many different ways and escalate quicly. You often want to intervene before you're certain that a conversation will become unproductive.
- Crafting an appropriate, effective intervention is also difficult. Subreddits differ in community guidelines, conversational norms, and tone, and it's very easy to generate an intervention that comes off as incongruous with the conversation and community.
Results & Impact
So far the project is still under development but we should be launching the experiment in the next month!