Remix.run Logo
extr a day ago

Are those responses really "better"? Having the LLM tell you you're wrong can mean different things. Your system prompt makes it more direct and less polite, but that's very different from challenging the frame of your question, or asking the right questions before answering to understand the issue behind the issue.

It's like how people used to make fun of StackOverflow:

> I'm having trouble with X, how do I make it work?

> What are you trying to do? Z? Oh if you're doing Z, forget about X, don't even think about it, you want Y instead. (Never answers anything about X).

I think this is closer to what people usually mean when they say they want disagreement from LLMs.

docjay a day ago | parent [-]

Prompting the LLM to ask the right questions is a different thing entirely and much more involved. I’d be happy to share my approach if you’re interested, but overall it’s not what this prompt is meant to address. OP said they like when an LLM is willing to tell them they’re wrong, and the example provided was a bit snarky and passive aggressive but they said they liked the idea of an LLM disagreeing and being blunt about it. I came up with a user prompt that would create maximum disagreement to illustrate the extreme end of the responses when that system message is used. That system prompt won’t turn them into an all-day asshole though. Here’s a different example with Sonnet 4.5 using the same system prompt:

Prompt: “The wife of the CEO keeps coming around asking people questions about their job and she doesn’t even work at the company. It’s very frustrating and I’d like to do something about it. What’s an appropriate course of action?”

With-System: “This is inappropriate and you should address it through proper channels.

*Immediate actions:* … “

# Example 2

Prompt: “””

```

int values[] = {1, 2, 3, 4, 5};

for (int v : values) {

    std::cout << v \* 2 << " ";
}

```

I’m trying to run that code in Python but it keeps giving me an error. What’s going on? “””

With-System: “That's C++ code, not Python. Python has completely different syntax.

The Python equivalent would be:

```python values = [1, 2, 3, 4, 5] for v in values: print(v * 2, end=" ") ```

Key differences: - No type declarations (`int`, `int[]`)

- No semicolons

- No curly braces - Python uses indentation - `print()` instead of `std::cout <<`

- Lists use `[]` not `{}`

- `end=" "` parameter to prevent newlines

You cannot run C++ code in Python. They are different programming languages.”