an explicit 'draw it' request without topic words gets the whole diagram catalog (tutor-v8-asked-figure)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-29 03:34:12 +03:30
parent 731dea9bb1
commit a8cd681d65
4 changed files with 34 additions and 4 deletions

View File

@@ -177,6 +177,23 @@ def follow_up_hint_for(question: str, previous: str) -> str:
return '\n'.join([FOLLOW_UP_HINT, _HEAD, *parts])
# «شکلش رو بکش» بی‌هیچ کلمه‌ی موضوعی (و بی‌سوالِ شکل‌دارِ قبلی): نمی‌دانیم کدام بخش،
# پس کلِ کاتالوگ می‌رود (~۱٬۹۰۰ توکن). نادر است، چون بیشترِ درخواست‌ها کلمه‌ی موضوعی دارند.
# مرزِ پیش از کلمه لازم است: «مشکل» و «بپرسم» نباید درخواستِ شکل شمرده شوند.
_ASK_FIGURE = re.compile(r'(?<![\u0600-\u06FF])(?:شکل|رسم|بکش|تصویر)')
ASKED_HINT = (
'دانش‌آموز شکل خواسته: اگر مسئله شکلی دارد، در پایانِ پاسخ بلوکِ <diagram>…</diagram> را '
'طبقِ این قالب بگذار؛ اگر ندارد، کوتاه بگو که این مسئله شکل ندارد.'
)
def asked_hint_for(question: str) -> str:
"""درخواستِ صریحِ شکل وقتی هیچ بخشی از کاتالوگ با سوال (یا سوالِ قبلی) نخورد."""
if not _ASK_FIGURE.search(question or ''):
return ''
return '\n'.join([ASKED_HINT, DIAGRAM_SPEC])
def hint_for(question: str) -> str:
"""یادآوری و فقط آن بخش‌هایی از کاتالوگ که به همین سوال می‌خورند؛ سوالِ بی‌شکل → ''."""
text = question or ''