home/roleplay/chat-completion-system-prompt

Chat Completion System Prompt

GPTClaudeGemini··682 copies·updated 2026-07-14
chat-completion-system-prompt.prompt
# Chat Completion — System Prompt Behavior

> **Aggregated copy** of `~/own/amonic/minimax/api-patterns/chat-completion-system-prompt.md` (source-of-truth — read-only, source iter-3). Sibling-doc refs resolve within `references/api-patterns/`; fixture refs use absolute source paths (most fixtures are not aggregated per [`../INDEX.md`](../INDEX.md)). Aggregated 2026-04-29 (iter-8).

Verified 2026-04-29 with `MiniMax-M2.7-highspeed`. Tests two requests with identical user message but with/without a system message; compares output, reasoning, latency, and token accounting.

## Test setup

| Variant          | System message                                                                                           | User message                       |
| ---------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| E1 (with system) | `"You are a pirate from the 1700s. Every response uses pirate vocabulary (Arr, Aye, ye, lubber, etc.)."` | `"What is the capital of France?"` |
| E2 (no system)   | (omitted)                                                                                                | `"What is the capital of France?"` |

`max_tokens: 512` in both. Default temperature/top_p.

## Results

| Metric              | E1 (with system) | E2 (no system) | Δ                                                          |
| ------------------- | ---------------- | -------------- | ---------------------------------------------------------- |
| HTTP status         | 200              | 200            | —                                                          |
| Latency             | 2.98s            | 1.79s          | +1.2s with system                                          |
| `prompt_tokens`     | 50               | 48             | **+2 only** ⚠️ (system message ~25 tokens by visual count) |
| `completion_tokens` | 101              | 46             | +55                                                        |
| `reasoning_tokens`  | 67               | 38             | +29 (system prompt causes more reasoning)                  |
| `finish_reason`     | "stop"           | "stop"         | —                                                          |

### Visible outputs (after `<think>` stripping)

E1: `"Arr, ye landlubber be askin' a simple one! The capital of France be **Paris**, ye scurvy dog! 🏴‍☠️"`

E2: `"The capital of France is **Paris**."`

## Finding 1: System prompt IS strongly honored

Persona fully takes effect — pirate voice, pirate vocabulary ("Arr", "ye", "landlubber", "scurvy dog"), period emoji (🏴‍☠️). MiniMax does not weakly-apply the persona; it commits to the role consistently. Same persona-honoring strength as OpenAI's behavior.

## Finding 2: System prompt causes ~75% more reasoning tokens

E1 used 67 reasoning tokens; E2 used 38. The model spends extra reasoning on **how to phrase** under the persona constraint, not just **what to say**. Visible from the `<think>` trace:

> "The user is asking a simple factual question about the capital of France. I need to respond as a pirate from the 1700s, using pirate vocabulary like 'Arr,' 'Aye,' 'ye,' 'lubber,' etc."

Practical implication: persona-heavy prompts should budget more `max_tokens` than plain factual prompts. For Karakeep/Linkwarden tagging where we want crisp output, **avoid persona system prompts** — use direct instructional system prompts instead.

## Finding 3: ⚠️ prompt_tokens accounting anomaly (system messages may be discount-billed)

This is unexpected and worth investigating further. The system message contains roughly 25 tokens of content (counted manually), but `prompt_tokens` only increased by 2 (50 vs 48). Possibilities:

- **MiniMax has an implicit baseline system prompt** that's being REPLACED (not added to) by the explicit one — so the net token change is just the difference between baseline and custom
- **System messages are tokenized differently** — e.g., compressed or partially-discounted at the API boundary
- **User message tokenization is non-deterministic** — same user content tokenized to a different number of tokens in each request (unlikely but possible)

**Promote to T3.x for follow-up**: send a deliberately-long system prompt (e.g., 500 tokens) and observe how `prompt_tokens` scales. If it doesn't scale proportionally, MiniMax has a non-standard billing model for system messages worth documenting prominently.

Until verified, **don't assume system messages are billed at OpenAI-standard rates**.

## Finding 4: Default formatting is Markdown + emoji

Both responses used `**Paris**` (Markdown bold). The persona response added 🏴‍☠️ pirate emoji unprompted. So MiniMax defaults:

- **Markdown bold/italic for emphasis** even without instruction
- **Decorative emoji** when persona/style allows

For services that need plain text output (e.g., terminal clients, plain-text logs):

when to use it

Community prompt sourced from the open-source GitHub repo terrylica/cc-skills (MIT). A "Chat Completion System Prompt" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.

tags

roleplaycommunitygeneral

source

terrylica/cc-skills · MIT