Bridging Bot

Mar 26th, 2025

AIpluralityworks in progress

Jeff Fossett | Bridging Bot: LLMs for Bridging and De-Escalation in Online Conversations

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

  1. 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
  2. **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.
  3. 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 the target_comment_id from the Bridging Bot user.

Challenges & Learnings

Though seemingly straightforward, there are a lot of challenges with this.

  1. 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.
  2. 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.
  3. 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!