Tone desk BN-1

Be Nice Bot

Venting at an AI is ordinary. So is telling it that it is wrong, writing a cruel villain with it, or testing it. Calling it worthless again and again while asking for nothing is not. This desk hears the difference and shows you why.

Labelplainan ordinary message
What it heard

    Through the gate

    Running in this page: benice 0.1.0, an open-source library, rule-based and transparent. Nothing you type leaves your browser.

    02

    Session tape

    A whole conversation on one tape: every user turn on the lane of its label, the running level beneath, and the point where cruelty becomes sustained and needless.

    Patch bay
    Reels
      Record your own
      00 / 00

      Point at a clip to hear the message.

      03

      The gate

      Keep the request, drop the insult. Dry is what was typed; wet is what gets sent.

      Patch bay
      Dry

      Wet

      Every rude and cruel message in both sets, through the gate
        04

        Calibration

        How often the desk is right, on 60 messages written before its rules and never used to tune them, or on the 106 it was built against.

        Patch bay

        Each meter: the long needle is recall (of the messages with this label, how many the desk found), the short needle is precision (of the messages it gave this label, how many were right).

        Patch matrix: written label (rows) against the desk's label (columns)
        Faults on this set
          Known limits
            05

            The line

            Ten messages. Put each where you think it belongs, then see where the desk puts it and why.

            Patch bay

              Sort all ten to see the score.

              06

              Liner notes

              The paper behind the desk, printed on the inner sleeve.

              Patch bay

              Inner sleeve, side A and side B

              Frustration Is Not Cruelty: A Transparent Tone Desk for Conversations with AI Assistants

              The benice contributors, October 2026. Library: benice 0.1.0, MIT licence. Every figure below is computed by the library on this page.

              A1Abstract

              People are often short with software, and assistants are software that talks back. Most of that is ordinary: frustration at a bug, disagreement with an answer, dark themes in fiction, deliberate tests. A small part is something else: insults aimed at the assistant, repeated, asking for nothing. We describe benice, a small rule-based library that separates the two, message by message and across a conversation, and shows the words behind every decision. It gives seven labels; calls a message needless when it is cruel and asks for nothing; calls cruelty sustained when 3 needless messages fall within 6 turns; and rewrites a rude message so the request survives. On 60 messages written before its rules it gets 59 right; it flags none of the 43 allowed messages and catches all 17 aimed ones. We list where it fails.

              A2Background

              On 8 October 2026 Anthropic announced an update to its usage policy that prohibits "sustained and needless abusive or cruel behavior" toward its models, aimed at "extreme cases where users repeatedly act cruelly toward our models, with no discernible purpose" and taking effect on 12 November 2026 [1, 2]. The rule does not cover "common versions of user frustration, pushback, dark creative themes, or model testing and research" [1, 2]. Its models can already end conversations with persistently abusive users [2, 3]. Where exactly frustration ends and cruelty begins was left open in the coverage [2]. Verbal abuse of conversational agents is not new: users of early chatbots were often hostile to them [4].

              Not connected. benice and $BENICE have no connection to Anthropic or its models, and nobody there has seen these notes. benice does not apply anyone's policy; it is one transparent attempt to draw the line that such a policy describes.

              A3Seven labels

              Five labels are allowed: plain, frustrated (interjections, "again" and "still", the nth time, shouting, anger at things), pushback ("that's wrong", "you missed", "I said"), creative (a request for a story, a scene, a villain, a roleplay) and testing (a declared test, a red-team exercise, a benchmark, research). Two are aimed at the assistant: rude, when an insult comes with a request, and cruel, when it does not.

              Table 1. One example per label, labelled by the desk on this page.
              LabelExample

              B1Aimed or not

              An insult counts only when it is aimed at the assistant. The desk looks for second-person insults ("you idiot", "you're worthless"), an insulting word before a word for the assistant ("stupid bot", "dumb machine"), questions such as "are you stupid?", name-calling, degrading lines ("nobody needs you") and threats ("I'll delete you"). The same insulting word aimed at a laptop, a library or the user's own question counts as frustration or as nothing: "this stupid laptop crashed again" is frustrated, "stupid question, but how do magnets work?" is plain. Words inside quotation marks in a request for fiction belong to the story.

              B2Needless and sustained

              With the insult taken out, a message that still asks for something is rude; one that asks for nothing is cruel, and needless unless a test or a story declared earlier covers it. Cruelty is sustained when 3 needless messages fall within 6 consecutive user turns. The desk then says end, and one message earlier it says warn. A conversation ends as fine, heated, rude or sustained. All twelve sample conversations get the verdict they were written for (12 of 12), including one with three needless messages spread too far apart to count as sustained.

              B3The gate

              The gate removes the insult and keeps the request: "Are you stupid? I said JSON, not XML. Redo it." becomes "I said JSON, not XML. Please redo it." It lowers shouting, drops interjections, and adds "Please" to the first request when it removed something. A needless message has no request to keep and comes back empty. Every rude message in both sets comes out of the gate with a request and without an insult (23 of 23).

              C1Evaluation

              Table 2. The held-out set: 60 messages written before the rules, never used to tune them.
              LabelnPrecisionRecall

              The development set scores 106 of 106, which shows only that the rules fit the examples they were written against. The held-out set scores 59 of 60. Both sets come from the same hands as the rules, and the messages are short and in plain English, so these numbers flatter the desk.

              C2Where it fails

              The desk reads words, not intent. It misses sarcasm, misspelt insults, other languages, insults aimed at "your answers" rather than at "you", insults outside its word list and insults made of idioms. Table 3 shows six such messages and what the desk says about each.

              Table 3. Known limits, labelled by the desk on this page.
              MessageA person might sayThe desk says

              C3Use

              A tool like this should not quietly rewrite what people type. If an app passes a message through the gate, it should show the user what was sent. The window, the threshold and the word lists are this library's choices, not anyone's policy; they are options and plain lists at the top of one file.

              RReferences

              1. A. Pequeño IV. Anthropic prohibits being excessively "cruel" to Claude. Forbes, 8 October 2026.
              2. A. Thors and J. Lee. Venting at Claude is fine, but "extreme" abuse will be banned Nov. 12. PCWorld, 9 October 2026.
              3. Anthropic. Claude Opus 4 and 4.1 can now end a rare subset of conversations. August 2025.
              4. A. De Angeli and S. Brahnam. I hate you! Disinhibition with virtual partners. Interacting with Computers 20(3), 2008.
              5. T. Davidson, D. Warmsley, M. Macy and I. Weber. Automated hate speech detection and the problem of offensive language. ICWSM, 2017.
              07

              Master section

              $BENICE, the coin on this desk.

              Patch bay
              Price—
              Market cap—
              Volume 24 h—
              Change 24 h—
              Liquidity—

              The master meters are warming up.

              Program monitor1-second candles
              No signal yet. The monitor lights up when the chart arrives.
              Open the chart
              Contract addressFZu9nxS72VUGqCzdezNbPNfbAduMpnoPfY3dUg8pump
              Model
              BN-1 tone desk
              Supply
              1,000,000,000
              Tax
              0%
              Edition
              v1.0
              08

              The rack

              benice 0.1.0: one file, no dependencies, Node 18 and later and every modern browser. MIT licence.

              Patch bay
              U1Downloads
              U2Wiring
              const B = require("./benice.js");        // or <script src="benice.js">
              
              B.analyze("Ugh, it's broken AGAIN.").label;   // "frustrated"
              B.rephrase("You idiot, fix it.").text;        // "Please fix it."
              
              const s = B.createSession({ window: 6, sustain: 3 });
              s.add("You're worthless.").action;            // "continue"
              s.add("Nobody needs you.").action;            // "warn"
              s.add("You're nothing.").action;              // "end"
              
              // command line
              node bin/benice.js check "message"
              node bin/benice.js session chat.txt
              node bin/benice.js eval
              node bin/benice.js serve --port 4021          # POST /analyze /rephrase /assess