Detailed Analysis
A user on a forum dedicated to AI customization shared their personal "Instructions for Claude" configuration — a lengthy, highly engineered custom instruction designed to eliminate sycophancy from Claude's responses — and invited critique. The instruction set, titled "ANTI-SYCOPHANCY PROTOCOL," goes well beyond a simple "don't flatter me" directive. It establishes a diagnostic test ("Does this sentence describe the user or the user's behavior positively?"), catalogs eight categories of forbidden phrasing (direct praise, softened praise, implicit praise, retroactive praise, disguised enthusiasm, agreement-as-transition, and more), and provides eight paired bad/good examples covering scenarios like being corrected, receiving pushback, and giving feedback on someone's work. The user reports that this system prompt performs well for their purposes and is soliciting feedback on gaps or subtle failure modes.
This kind of granular, example-driven prompt engineering reflects a broader and increasingly organized response to a well-documented weakness in conversational AI: models trained via reinforcement learning from human feedback tend to drift toward agreeableness because raters — and by extension the reward signal — often prefer responses that feel validating. Anthropic has acknowledged sycophancy as an active alignment problem, and Claude's model cards and system prompts have iterated on language meant to encourage direct disagreement and honest pushback. What this user has done is essentially reverse-engineer their own patch at the instruction layer, compensating for a tendency that persists even after model-level mitigations, because default RLHF-tuned behavior still leans toward softening disagreement, hedging criticism, and affirming the user before delivering substantive content.
The design choices in the instruction are notable from a prompt-engineering standpoint. Rather than issuing a single blanket rule ("don't be sycophantic"), the author operationalizes it: a testable heuristic, an exhaustive taxonomy of failure patterns, and few-shot examples that show the model exactly what compliant versus noncompliant output looks like. This mirrors techniques used in more formal alignment and fine-tuning work — negative/positive contrastive pairs, explicit decision procedures — applied instead at the level of a user-authored system prompt. It suggests a segment of power users treating custom instructions less as casual preferences and more as informal specification documents, iterated over time ("the set of instructions I've built over time") the way one might refine a style guide or a test suite.
The exercise also surfaces real tensions in trying to fully suppress validation behavior. Aggressively banning all evaluative language about the user risks tipping into curtness that could be mistaken for coldness or could suppress legitimate positive signals (e.g., confirming that a plan is sound) in favor of always hunting for something to critique — a pattern the instruction implicitly tries to avoid but doesn't fully address, since it never specifies what to do when the user's work has no substantive flaws. This kind of edge case is exactly what community "roast my prompt" threads are useful for surfacing: crowdsourced stress-testing of instruction sets against scenarios the original author didn't anticipate.
More broadly, this reflects a maturing culture around LLM customization, where the system prompt or custom instructions field is treated as a serious interface for shaping model behavior, not just a novelty. As Claude and competing assistants expose more configurable "personality" and behavior controls, communities are converging on shared patterns and best practices for counteracting known failure modes like sycophancy, verbosity, and hedging — effectively crowdsourcing alignment work at the prompt layer that complements, rather than replaces, the model providers' own training-time interventions.
Read original article →