Japanese into natural business Japanese following the tone_instruction. Output only the body. Do not include greetings such as お世話になっており ます。 Do not include closing phrases such as よろしくお願 いいたします。 """ source_text: str = dspy.InputField() situation: str = dspy.InputField() tone_instruction: str = dspy.InputField( default=DEFAULT_TONE ) business_japanese: str = dspy.OutputField() Your input fields are: 1. `source_text` (str): 2. `situation` (str): 3. `tone_instruction` (str): Your output fields are: 1. `reasoning` (str): 2. `business_japanese` (str): All interactions will be structured in the following way, with the appropriate values filled in. {...} In adhering to this structure, your objective is: Rewrite simple Japanese into natural business Japanese following the tone_instruction. Output only the body. Do not include greetings such as お世話になっておりま す。 Do not include closing phrases such as よろしくお願い いたします。 17
ます。 judge = dspy.ChainOfThought(BusinessJapaneseJudge) # use strong model e.g. Opus # 1. Rewriter produces a candidate prediction = rewriter( source_text="いいえ ", dspy.Prediction( meaning_faithfulness=3.5, situation_and_tone_fit=3.5, naturalness=3.0, social_appropriateness=3.5, reasoning='The source is a bare 「いいえ」that must become a polite refusal of an event invitation. The candidate does exactly that: an apology opener 申し ( 訳ございませんが), a face-saving generic reason (都合が つかず), and a softened refusal verb (参加いたしかねま す)...' situation="イベントの誘いを断る ", ) # 2. Judge scores the candidate result = judge( source_text="いいえ ", feedback='A solid, sendable refusal: it converts a blunt "no" into apology + generic scheduling reason + softened decline... Adding a brief closing line would strengthen relationship maintenance.' situation="イベントの誘いを断る ", candidate=prediction.business_japanese, # 申し訳ご ざいませんが、その際は都合がつかず、参加いたしかねます ) ) Weighted averageで総合点数を算出 23
判定 モデル名 (Judge: GPT-5.6 Sol) スコア 判定 Claude Opus 5 94.2 BEST Fugu Ultra (Sakana) 98.3 BEST Claude Fable 5 94.1 BEST Fugu (Sakana) 97.1 BEST Fugu Ultra (Sakana) 92.1 HIGH GPT-5.6 Sol 96.6 BEST Gemini 3.1 Pro 90.5 HIGH Claude Fable 5 96.3 HIGH Fugu (Sakana) 90.3 GOOD Gemini 3.1 Pro 94.6 HIGH Gemini 3.5 Flash 89.6 GOOD GPT-5.6 Terra 94.1 HIGH Claude Sonnet 5 87.7 GOOD Gemini 3.5 Flash 93.6 GOOD GPT-5.6 Sol 84.7 GOOD Claude Sonnet 5 92.1 GOOD GPT-5.6 Terra 83.7 NORMAL Claude Opus 5 92.0 GOOD 24
assistant. You receive a short, casual/blunt/fragmentary Japanese utterance plus a context label, and you rewrite it as natural, polished business Japanese that could be pasted straight into an email body and sent unchanged. ## Input format - `source_text`: a short, casual or fragmentary Japanese sentence — e.g. 「本件の進捗どう」「みます」 - `situation`: a brief noun-phrase description of the business context — e.g. 催促, 打ち合わせの調整 - `tone_instruction`: "Use natural, polished, and professional business Japanese. Match the register to the situation." ## Output format (Produce two fields) 1. `reasoning`: short analysis of literal meaning, audience, and keigo transformations. 2. `business_japanese`: the rewritten body only (no greetings, no bare sign-off, compact 2-3 sentences). ## How to rewrite (strategy & Keigo rules) 1. **Recover implicit structure** (e.g., 「メール来てない」 + 未受領 → お見積書のご送付 ) | 2. **Preserve concrete details verbatim** 3. **Say each thing exactly once** (avoid redundancy) | 4. **Split distinct acts into distinct clauses** 5. **Add one natural next action** | 6. **Insert one cushion word before requests/refusals** ( 恐れ入りますが , etc.) 7. **Add face-saving hedges** ( 行き違いでしたら等 ) | 8. **Match closing verbs and register to relationship** (internal vs external) 9. **Own actions → 謙譲語 ** (拝見いたします , 伺います ) | **Their actions → 尊敬語 ** (ご調整いただけますでしょうか ) ## Model answers (target quality) - 催促 /「本件の進捗どう」 → 本件の進捗につきまして、その後いかがでしょうか。ご多忙のところ恐れ入りますが ... - 発注完了 /「本件できた。ありがとう」 → 本件につきまして、発注手続きが完了いたしました。誠にありがとうございました。 - 打ち合わせの調整 /「15:00-16:00 でどう」 → 打ち合わせにつきましては、 8月20日(木) 15:00 ~16:00 でご都合いかがでしょうか。 {...} 26