惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
B
Blog
L
LangChain Blog
Y
Y Combinator Blog
美团技术团队
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
量子位
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
D
Docker
小众软件
小众软件
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
IT之家
IT之家

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The STCO Framework: Why Structured Prompts Beat 'Just Ask...
Luke Fryer · 2026-06-18 · via DEV Community

I've been obsessed with a question: does prompt structure actually matter, or is it just ceremony?

After testing 500+ prompts across GPT-4, Claude, and Gemini, I found that structured prompts outperformed unstructured ones 83% of the time on four metrics: accuracy, completeness, consistency, and actionability.

The framework I used is called STCO — and I built a tool around it. Here's the framework, why it works, and how to use it.


What is STCO?

STCO stands for Situation, Task, Constraints, Output. Four components, always in this order:

S — Situation

Set the stage. Who are you talking to? What domain? What's already known?

You are a senior backend engineer specialising in Node.js microservices 
with 10 years of experience in financial services. You're reviewing code 
for a payment processing system that handles £2M daily.

T — Task

What specifically needs to happen? Be precise about deliverables.

Review the following Express.js middleware for security vulnerabilities. 
Identify: SQL injection risks, authentication bypasses, rate limiting 
gaps, and PCI-DSS compliance issues. Provide fixes for each.

C — Constraints

Boundaries. What NOT to do. Format rules. Limitations.

- Do not suggest migrating away from Express.js
- Keep fixes backward-compatible with Node 18
- Flag severity as CRITICAL / HIGH / MEDIUM / LOW
- Maximum 3 fixes per category
- All code examples must include error handling

O — Output

Exactly what the response should look like.

Return a markdown table with columns: Issue | Severity | Location | Fix
Follow with a "Summary" section listing the top 3 most urgent changes.
Include a risk score from 0-100 for the overall middleware.


Before & After: Real Examples

Example 1: Marketing Copy

❌ Unstructured:

Write me some marketing copy for my SaaS product

✅ STCO-Structured:

SITUATION: You are a conversion copywriter for B2B SaaS products targeting 
developer teams of 5-50 people. The product is a prompt engineering platform 
priced at £9.99/month.

TASK: Write 3 variants of hero section copy (headline + subheadline + CTA) 
for the landing page. Each variant should use a different persuasion angle: 
1) pain point, 2) aspiration, 3) social proof.

CONSTRAINTS: 
- Headlines under 10 words
- Subheadlines under 25 words
- No jargon like "leverage" or "synergy"
- CTA must be action-oriented (not "Learn More")

OUTPUT: Present as a numbered list. For each variant, show:
Headline | Subheadline | CTA Button Text | Persuasion Angle Used

Result: The STCO version produced copy I could actually use. The unstructured version gave me generic fluff I'd never ship.


Example 2: Code Generation

❌ Unstructured:

Build me an authentication system

✅ STCO-Structured:

SITUATION: Next.js 14 app with App Router, TypeScript strict mode, 
Prisma ORM with PostgreSQL. Existing User model with id, email, 
passwordHash, role fields.

TASK: Implement JWT authentication with:
1. Login endpoint (POST /api/auth/login)
2. Registration endpoint (POST /api/auth/register) 
3. Middleware to protect API routes
4. Token refresh mechanism

CONSTRAINTS:
- Use bcrypt for password hashing (min 12 rounds)
- JWT expires in 15 minutes, refresh token in 7 days
- Store refresh tokens in httpOnly cookies
- Rate limit: 5 login attempts per minute per IP
- No third-party auth libraries (no NextAuth)
- All inputs validated with Zod

OUTPUT: 
- Separate files for each component
- Include TypeScript types/interfaces
- Include error handling for all edge cases
- Add JSDoc comments on public functions
- Include a curl command to test each endpoint

Result: The STCO version produced production-ready code with proper error handling. The unstructured version produced a basic tutorial-level implementation missing security essentials.


Why Does Structure Help?

Three reasons:

  1. Reduces ambiguity — The model doesn't have to guess what you want. "Build me auth" has 1,000 interpretations. STCO narrows it to 1.

  2. Activates relevant knowledge — When you specify "PCI-DSS compliance" in the Situation, the model pulls from that specific domain instead of giving generic advice.

  3. Constrains the output space — Without constraints, models default to the most common pattern. Constraints force them to think about YOUR specific requirements.


Scoring Your Prompts

Here's something no other tool does: scoring prompts before you run them.

I built a 5-dimension scoring system:

Dimension Weight What It Measures
Structure 20% Section hierarchy, clear formatting
Content Depth 25% Specificity vs vagueness
Code Quality 20% Imports, types, error handling
Diagrams 15% Architecture, data models, flows
Completeness 20% Requirements, specs, edge cases

Plus forbidden pattern detection — instant red flags for:

  • TODO or [TBD] in output
  • "implement later" or "logic goes here"
  • Placeholder text or lorem ipsum
  • Missing error handling

A prompt that scores 85+ on this system consistently produces better output than one scoring 50.


The Bigger Picture

Every prompt framework out there (CO-STAR, RISEN, CRAFT, RACE) exists only as blog posts and Medium articles. None of them have a product built around them.

STCO is the only framework with:

  • A web platform that generates STCO-structured prompts
  • A scoring system that measures STCO quality
  • A CLI and MCP integration for developer workflows

If you're still writing prompts as freeform text and hoping for the best, try structuring them with STCO. The difference is immediate.

🔗 Try it free — no account required
🔗 Full STCO Framework Guide


What prompt framework do you use? Or do you just wing it? Drop a comment 👇