"""Bundled parameters for chat system prompts (InterviewAgent).""" from __future__ import annotations from dataclasses import dataclass from typing import Dict, List, Optional @dataclass class ChatPromptContext: """访谈轮次构建 `get_guided_conversation_prompt` 所需的字段集合。""" current_stage: str empty_slots: List[str] filled_slots: Dict[str, str] all_stages_coverage: Optional[Dict[str, Dict]] = None detected_user_stage: str = "" user_profile_context: str = "" persona: str = "default" memory_evidence_text: str = "" background_voice: str = "default" occupation: str = "" profile_birth_year: int | None = None profile_era_place: str = "" def guided_system_prompt(self) -> str: """用户原话仅以对话历史 + HumanMessage 注入模型。""" from app.agents.chat.prompts_conversation import get_guided_conversation_prompt return get_guided_conversation_prompt( current_stage=self.current_stage, empty_slots=self.empty_slots, filled_slots=self.filled_slots, all_stages_coverage=self.all_stages_coverage, detected_user_stage=self.detected_user_stage, user_profile_context=self.user_profile_context, persona=self.persona, memory_evidence_text=self.memory_evidence_text, background_voice=self.background_voice, occupation=self.occupation, profile_birth_year=self.profile_birth_year, profile_era_place=self.profile_era_place, )