fix(ai): forbid preamble in response-shortener output
Tighten the system/user prompts so the shortener returns ONLY the rewritten message — no "Here's a version at N characters:" preamble, no quotes, no labels. Previously such preamble was being transmitted on-air and consumed the byte budget, causing the actual content to truncate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 file changed
+11
-1
+11
-1
@@ -50,10 +50,20 @@ def _shorten_with_claude(text: str, max_chars: int) -> str:
|
||||
model="claude-sonnet-4-6",
|
||||
max_tokens=256,
|
||||
timeout=CLAUDE_TIMEOUT_S,
|
||||
system=(
|
||||
"You rewrite a message to fit within a strict character budget. "
|
||||
"Output ONLY the rewritten message — no preamble, no quotes, no "
|
||||
"explanation, no commentary, no labels, no character count. "
|
||||
"Preserve the original meaning, tone, and voice. Plain text only."
|
||||
),
|
||||
messages=[
|
||||
{
|
||||
"role": "user",
|
||||
"content": f"Shorten this to {max_chars} characters: {text}",
|
||||
"content": (
|
||||
f"Rewrite the following message so it is at most "
|
||||
f"{max_chars} characters. Reply with the rewritten "
|
||||
f"message only.\n\n{text}"
|
||||
),
|
||||
}
|
||||
],
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user