Skip to content

[Bug]: No CJK handling — English style rules conflict with Chinese/mixed-language conversations #333

Description

@lg320531124

Bug Description

Ponytail's style rules are designed for English-only conversations. When used in Chinese/Japanese/Korean (CJK) contexts, several issues arise:

  1. "Drop articles" instruction is misleading in CJK context: Chinese has no article concept. When ponytail tells the model to drop articles, the model may incorrectly strip English articles embedded in Chinese text (e.g. "a LLM 模型" → "LLM 模型"), losing semantic specificity.

  2. "Short synonyms" rule assumes English: The instruction "big not extensive, fix not implement a solution for" only works in English. In CJK, shorter synonyms don't exist in the same way — Chinese characters are already compact.

  3. Output style "fragments OK" is language-agnostic but the examples are English-only: CJK users get English examples that don't map to their language patterns.

Proposed Fix

Add CJK detection (similar to caveman PR #576):

  1. Detect CJK characters in user input/session context
  2. When CJK is detected, modify the per-turn injection to:
    • Skip article-dropping instructions (Chinese has no articles)
    • Keep code-focused rules (stdlib first, YAGNI, shortest diff) — these are language-agnostic
    • Add CJK-specific brevity guidance (e.g. "简短回答,不用敬语")

This is the same approach caveman uses: CJK detection → skip English-specific rules → keep language-agnostic rules.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions