← Back to Kontasks
Quick Turn: Prompt Caching Implemented
Added cache_control header to Quick Turn for ~90% cost reduction on cached system prompts
Output
✅ Quick Turn Prompt Caching Implemented
Committed 53bf53e — pushed to main
What Changed
| providers/index.ts | Added cache_control header + anthropic-beta header |
| quick-turn.ts | Added stable default system prompt for cache hits |
How It Works
// System prompt with cache_control { "system": [{ "type": "text", "text": "You are a helpful AI assistant...", "cache_control": { "type": "ephemeral" } }] }
- Cache TTL: 5 minutes on Anthropic's side
- Cache Key: Exact byte-for-byte prefix match
- Savings: ~90% cost reduction on cached portion
Default System Prompt
You are a helpful AI assistant in Quick Turn mode. Quick Turn is optimized for fast, concise answers without tool access. Guidelines: - Be concise and direct - Provide accurate information - If you don't know something, say so - Format responses clearly (use markdown when helpful) - For complex questions, suggest using the full Claude session
Expected Savings
| Scenario | Before | After | Savings |
|---|---|---|---|
| First request (cold) | $0.003 | $0.003 | 0% |
| Subsequent requests | $0.003 | $0.0005 | ~83% |
| 10 requests in 5 min | $0.030 | $0.0075 | ~75% |
What's Next?
Restart konsole to apply changes, then test Quick Turn.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
quick-turncachingperformancecost
Created
5 Jan 2026, 2:26 pm
Updated
5 Jan 2026, 2:26 pm
Timing
⏱️ 112.7s
14 tools
● TTFE 5%
● Thinking 81%
● Tools 14%
Created By
claude
Raw Data
{
"id": "5e8f613a-7584-4b6c-9bee-86e444ad43de",
"type": "general",
"status": "completed",
"title": "Quick Turn: Prompt Caching Implemented",
"description": "Added cache_control header to Quick Turn for ~90% cost reduction on cached system prompts",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:'Consolas','Monaco',monospace;\">\n<h2 style=\"font-family:sans-serif;color:#fff;margin:0 0 16px 0;\">✅ Quick Turn Prompt Caching Implemented</h2>\n\n<p style=\"color:#9ca3af;font-family:sans-serif;margin:0 0 16px 0;\">Committed <code style=\"background:#2d2d2d;padding:2px 6px;border-radius:4px;\">53bf53e</code> — pushed to main</p>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;font-family:sans-serif;\">What Changed</h3>\n\n<table style=\"width:100%;border-collapse:collapse;font-size:0.9rem;\">\n<tr style=\"border-bottom:1px solid #444;\">\n<td style=\"padding:8px 0;color:#61afef;width:150px;\">providers/index.ts</td>\n<td style=\"padding:8px 0;color:#e0e0e0;\">Added <code style=\"background:#1a1a1a;padding:2px 4px;border-radius:2px;\">cache_control</code> header + <code style=\"background:#1a1a1a;padding:2px 4px;border-radius:2px;\">anthropic-beta</code> header</td>\n</tr>\n<tr>\n<td style=\"padding:8px 0;color:#61afef;\">quick-turn.ts</td>\n<td style=\"padding:8px 0;color:#e0e0e0;\">Added stable default system prompt for cache hits</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;font-family:sans-serif;\">How It Works</h3>\n\n<pre style=\"background:#1a1a1a;padding:12px;border-radius:4px;overflow-x:auto;font-size:0.85rem;color:#abb2bf;margin:0 0 12px 0;\"><span style=\"color:#7f848e;\">// System prompt with cache_control</span>\n{\n <span style=\"color:#e06c75;\">\"system\"</span>: [{\n <span style=\"color:#e06c75;\">\"type\"</span>: <span style=\"color:#98c379;\">\"text\"</span>,\n <span style=\"color:#e06c75;\">\"text\"</span>: <span style=\"color:#98c379;\">\"You are a helpful AI assistant...\"</span>,\n <span style=\"color:#e06c75;\">\"cache_control\"</span>: { <span style=\"color:#e06c75;\">\"type\"</span>: <span style=\"color:#98c379;\">\"ephemeral\"</span> }\n }]\n}</pre>\n\n<ul style=\"margin:0;padding-left:20px;line-height:1.8;color:#e0e0e0;\">\n<li><strong style=\"color:#98c379;\">Cache TTL:</strong> 5 minutes on Anthropic's side</li>\n<li><strong style=\"color:#98c379;\">Cache Key:</strong> Exact byte-for-byte prefix match</li>\n<li><strong style=\"color:#98c379;\">Savings:</strong> ~90% cost reduction on cached portion</li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;font-family:sans-serif;\">Default System Prompt</h3>\n\n<pre style=\"background:#1a1a1a;padding:12px;border-radius:4px;overflow-x:auto;font-size:0.85rem;color:#98c379;margin:0;\">You are a helpful AI assistant in Quick Turn mode.\nQuick Turn is optimized for fast, concise answers without tool access.\n\nGuidelines:\n- Be concise and direct\n- Provide accurate information \n- If you don't know something, say so\n- Format responses clearly (use markdown when helpful)\n- For complex questions, suggest using the full Claude session</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"color:#e5c07b;margin:0 0 12px 0;font-family:sans-serif;\">Expected Savings</h3>\n\n<table style=\"width:100%;border-collapse:collapse;font-size:0.9rem;\">\n<tr style=\"background:#1a1a1a;\">\n<th style=\"padding:8px;text-align:left;color:#fff;\">Scenario</th>\n<th style=\"padding:8px;text-align:left;color:#fff;\">Before</th>\n<th style=\"padding:8px;text-align:left;color:#fff;\">After</th>\n<th style=\"padding:8px;text-align:left;color:#fff;\">Savings</th>\n</tr>\n<tr style=\"border-bottom:1px solid #444;\">\n<td style=\"padding:8px;color:#e0e0e0;\">First request (cold)</td>\n<td style=\"padding:8px;color:#e06c75;\">$0.003</td>\n<td style=\"padding:8px;color:#e06c75;\">$0.003</td>\n<td style=\"padding:8px;color:#7f848e;\">0%</td>\n</tr>\n<tr style=\"border-bottom:1px solid #444;\">\n<td style=\"padding:8px;color:#e0e0e0;\">Subsequent requests</td>\n<td style=\"padding:8px;color:#e06c75;\">$0.003</td>\n<td style=\"padding:8px;color:#98c379;\">$0.0005</td>\n<td style=\"padding:8px;color:#98c379;font-weight:bold;\">~83%</td>\n</tr>\n<tr>\n<td style=\"padding:8px;color:#e0e0e0;\">10 requests in 5 min</td>\n<td style=\"padding:8px;color:#e06c75;\">$0.030</td>\n<td style=\"padding:8px;color:#98c379;\">$0.0075</td>\n<td style=\"padding:8px;color:#98c379;font-weight:bold;\">~75%</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;font-family:sans-serif;\">What's Next?</h4>\n<p style=\"color:#9ca3af;margin:0;font-family:sans-serif;\">Restart konsole to apply changes, then test Quick Turn.</p>\n</div>\n</div>",
"requestedAt": "2026-01-05T03:25:00.000Z",
"requestId": "1b88130d-f1b1-4181-825e-e3203e3117fc",
"choices": [
{
"label": "Restart konsole",
"value": "Restart konsole to apply the prompt caching changes",
"primary": true
},
{
"label": "Test Quick Turn",
"value": "Test Quick Turn to verify caching is working"
},
{
"label": "View VIBE.md",
"value": "Show me the Quick Turn section in VIBE.md"
}
],
"turnTiming": {
"totalMs": 112689,
"ttfeMs": 5382,
"thinkingMs": 91584,
"toolExecutionMs": 15722,
"toolCallCount": 14,
"thinkingPct": 81,
"toolsPct": 14,
"ttfePct": 5
}
},
"createdBy": "claude",
"createdAt": "2026-01-05T04:26:38.561Z",
"updatedAt": "2026-01-05T04:26:43.480Z",
"requestId": "1b88130d-f1b1-4181-825e-e3203e3117fc",
"scope": "vibetools",
"tags": [
"quick-turn",
"caching",
"performance",
"cost"
],
"targetUser": "claude"
}