一句话:构建 GitHub 对话脱轨数据集,并提出基于 LLM 两步提示的毒性对话预测框架。
开源社区中的有毒互动会降低贡献者参与度并威胁项目可持续性,但现有主动审核多依赖人工,难以扩展。本文从 GitHub 讨论中整理 159 条脱轨有毒线程与 207 条无毒线程,分析表明紧张触发因素、情感变化和特定会话模式可用于预测毒性。作者提出基于大语言模型的两步提示框架:先用 Least-to-Most 提示生成对话动态摘要(SCD),再据此估计脱轨可能性。在 Qwen 与 Llama 上,该策略于 0.3 阈值下分别取得 0.901 和 0.852 的 F1 值,优于已有 NLP 基线;在 308 条 GitHub issue 线程上的外部验证 F1 最高达 0.797,展示了结构化 LLM 提示用于早期、可解释审核的有效性。
Toxic interactions in Open Source Software (OSS) communities reduce contributor engagement and threaten project sustainability. Preventing such toxicity before it emerges requires a clear understanding of how harmful conversations unfold. However, most proactive moderation strategies are manual, requiring significant time and effort from community maintainers. To support more scalable approaches, we curate a dataset of 159 derailed toxic threads and 207 non-toxic threads from GitHub discussions. Our analysis reveals that toxicity can be forecast by tension triggers, sentiment shifts, and specific conversational patterns. We present a novel Large Language Model (LLM)-based framework for predicting conversational derailment on GitHub using a two-step prompting pipeline. First, we generate Summaries of Conversation Dynamics (SCDs) via Least-to-Most (LtM) prompting; then we use these summaries to estimate the likelihood of derailment. Evaluated on Qwen and Llama models, our LtM strategy achieves F1-scores of 0.901 and 0.852, respectively, at a decision threshold of 0.3, outperforming established NLP baselines on conversation derailment. External validation on a dataset of 308 GitHub issue threads (65 toxic, 243 non-toxic) yields an F1-score up to 0.797. Our findings demonstrate the effectiveness of structured LLM prompting for early detection of conversational derailment in OSS, enabling proactive and explainable moderation.
@inproceedings{abs-2512-15031,
title = {Toxicity Ahead: Forecasting Conversational Derailment on GitHub},
author = {Mia Mohammad Imran and Robert Zita and Rahat Rizvi Rahman and Preetha Chatterjee and Kostadin Damevski},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3744916.3787839}
}