refactor(chat): AI-native prompts, remove interview heuristics

- Drop interview_reply_length and utterance_substance; always run stage LLM
  and memory retrieval when enabled; trim Settings fields and .env.example.
- Replace guided/opening prompts with compact fact blocks plus unified
  behavior guidance; slim background_voice and persona to tone hints.
- InterviewAgent uses fixed chat_interview max_tokens/chars/segments.

Also includes stacked work: profile followup/extract path, evaluation rubric
and judge schema updates, transcript SPLIT handling in execution service,
user export markdown split tests, and golden case fixture.
This commit is contained in:
Kevin
2026-04-06 22:22:50 +08:00
parent ca8bcc8489
commit 2fded6fbd9
27 changed files with 426 additions and 1349 deletions

View File

@@ -0,0 +1,24 @@
"""导出 Markdown 中 AI 块的 [SPLIT] 规范化。"""
from app.features.evaluation.importers.user_export_markdown import (
extract_dialogue_turns_from_export_md,
)
def test_extract_dialogue_turns_replaces_split_in_ai():
md = """
#### 轮次 1
**用户:**
你好。
**AI:**
第一段[SPLIT]第二段
"""
turns = extract_dialogue_turns_from_export_md(md)
assert len(turns) == 1
u, a = turns[0]
assert u == "你好。"
assert "[SPLIT]" not in a
assert "第一段" in a and "第二段" in a
assert "\n" in a