Spaces:
Runtime error
Runtime error
| """ | |
| Agent State — shared state schema for LangGraph workflow. | |
| All agents read/write this typed dict. | |
| """ | |
| from dataclasses import dataclass, field | |
| from typing import Optional | |
| class CareerIntent: | |
| direction: str # 大模型算法 / LLM应用算法 / Agent算法 / 推荐转大模型 / 后端转AI | |
| stage: str # 实习 / 校招 / 提前批 | |
| target_cities: list[str] # ["深圳", "北京"] | |
| salary_min: Optional[int] = None | |
| risk_preference: str = "平衡" # 稳妥 / 平衡 / 冲刺 | |
| reasoning: str = "" # Agent 的判断理由 | |
| class JDProfile: | |
| title: str | |
| company: str | |
| city: str | |
| salary: str | |
| source_url: str = "" | |
| jd_text: str = "" | |
| hard_skills: list[str] = field(default_factory=list) | |
| soft_skills: list[str] = field(default_factory=list) | |
| education: str = "" | |
| bonus_points: list[str] = field(default_factory=list) | |
| hidden_requirements: list[str] = field(default_factory=list) | |
| direction: str = "" | |
| stage: str = "" | |
| class ResumeEvidence: | |
| skill_evidence: dict = field(default_factory=dict) # skill → [evidence_fragment, ...] | |
| project_evidence: dict = field(default_factory=dict) # project → [evidence_fragment, ...] | |
| metrics_evidence: list[str] = field(default_factory=list) | |
| llm_evidence: list[str] = field(default_factory=list) | |
| agent_evidence: list[str] = field(default_factory=list) | |
| gap_areas: list[str] = field(default_factory=list) # 明显缺失的方向 | |
| class MatchResult: | |
| title: str = "" | |
| company: str = "" | |
| match_score: float = 0.0 | |
| pass_likelihood: float = 0.0 | |
| risk_level: str = "中" | |
| evidence_based_reasoning: str = "" | |
| supporting_evidence: list[str] = field(default_factory=list) | |
| missing_evidence: list[str] = field(default_factory=list) | |
| apply_action: str = "暂缓" | |
| can_rewrite: bool = True | |
| need_new_project: bool = False | |
| class CounterfactualPlan: | |
| what_if_items: list[dict] = field(default_factory=list) | |
| top3_payoffs: list[dict] = field(default_factory=list) | |
| class CoachOutput: | |
| can_rewrite: list[str] = field(default_factory=list) | |
| need_project_first: list[str] = field(default_factory=list) | |
| dont_fabricate: list[str] = field(default_factory=list) | |
| optimized_resume_fragments: dict = field(default_factory=dict) | |
| class InterviewPrep: | |
| likely_questions: list[str] = field(default_factory=list) | |
| prep_plan_7day: list[str] = field(default_factory=list) | |
| focus_areas: list[str] = field(default_factory=list) | |
| class StrategyOutput: | |
| safe_jobs: list[MatchResult] = field(default_factory=list) | |
| stretch_jobs: list[MatchResult] = field(default_factory=list) | |
| skip_jobs: list[MatchResult] = field(default_factory=list) | |
| today_plan: list[str] = field(default_factory=list) | |
| week_plan: list[str] = field(default_factory=list) | |
| class AgentState: | |
| """Full state graph for LangGraph workflow.""" | |
| resume_text: str = "" | |
| user_goal: str = "" | |
| user_jd_text: str = "" | |
| intent: Optional[CareerIntent] = None | |
| search_queries: list[str] = field(default_factory=list) | |
| jds: list[JDProfile] = field(default_factory=list) | |
| resume_evidence: Optional[ResumeEvidence] = None | |
| match_results: list[MatchResult] = field(default_factory=list) | |
| counterfactual: Optional[CounterfactualPlan] = None | |
| coach: Optional[CoachOutput] = None | |
| interview_prep: Optional[InterviewPrep] = None | |
| strategy: Optional[StrategyOutput] = None | |
| error: str = "" | |
| agent_trace: list[str] = field(default_factory=list) | |