4.2 KiB
4.2 KiB
The system follows a carefully designed pipeline with isolated stages to prevent fabrication:
System Architecture Overview
The system uses a pipeline of isolated analysis and generation steps:
-
Stage 1: Isolated Analysis
- 1A: Job Analysis - Extracts requirements from job description only
- 1B: Skill-Based Assessment - For each required skill, determine a Individisual Skill Assessment, adding it to a Skill Assessments Collection.
-
Stage 2: Resume Generation
- Uses Skills Asessments Collection to generate a tailored resume.
-
Stage 3: Verification
- Performs fact-checking to catch any remaining fabrications
flowchart TD
subgraph "Stage 1: Isolated Analysis"
subgraph "Stage 1A: Job Analysis"
A1[Job Description Input] --> A2[Job Analysis LLM]
A2 --> A3[Job Requirements JSON]
end
subgraph "Stage 1B: Skill-Based Assessment"
B1[Resume Input] --> B2[Candidate Info]
B2 --> B3[RAG System]
A3 --> B4[Skill Assessment Generator]
B3 --> B4
B4 --> B5{For Each Required Skill}
B5 --> B6[Skill-Focused LLM Query]
B6 --> B7[Individual Skill Assessment]
B7 --> B8[Skill Assessments Collection]
end
end
subgraph "Stage 2: Resume Generation"
C1[Skill Assessments Collection] --> C2[Resume Generator]
C3[Original Resume Reference] --> C2
C4[Candidate Information] --> C2
C2 --> C5[Resume Generation Prompt]
C5 --> C6[Resume Generation LLM]
C6 --> C7[Tailored Resume Draft]
end
subgraph "Stage 3: Statistics & Verification"
D1[Job Requirements JSON] --> D2[Match Statistics Calculator]
D3[Skill Assessments Collection] --> D2
D2 --> D4[Match Statistics]
D4 --> D5[Verification LLM]
C7 --> D5
D5 --> D6{Verification Check}
D6 -->|PASS| D7[Approved Resume]
D6 -->|FAIL| D8[Correction Instructions]
D8 --> C2
end
A3 --> B4
B8 --> C1
B8 --> D3
B1 --> C3
style A2 fill:#f9d77e,stroke:#333,stroke-width:2px
style B6 fill:#f9d77e,stroke:#333,stroke-width:2px
style C6 fill:#f9d77e,stroke:#333,stroke-width:2px
style D5 fill:#f9d77e,stroke:#333,stroke-width:2px
style B5 fill:#a3e4d7,stroke:#333,stroke-width:2px
style D6 fill:#a3e4d7,stroke:#333,stroke-width:2px
style D7 fill:#aed6f1,stroke:#333,stroke-width:2px
style D8 fill:#f5b7b1,stroke:#333,stroke-width:2px
Stage 1: Isolated Analysis
- Job Analysis: Extracts requirements from just the job description
- Candidate Analysis: Catalogs qualifications for each job requirement from just the resume/context
Stage 2: Resume Generation
Creates a tailored resume using the skills collection and candidate information.
Stage 3: Verification
- Performs fact-checking to catch any remaining fabrications
- Corrects issues if needed and re-verifies
Key Anti-Fabrication Mechanisms
The system uses several techniques to prevent fabrication:
- Isolation of Analysis Stages: By analyzing the job and candidate separately, and having the LLM only provide evidence of a single skill per pass, the system prevents the LLM from prematurely creating connections that might lead to fabrication.
- Evidence Requirements: Each qualification included must have explicit evidence from the original materials.
- Conservative Transferability: The system is instructed to be conservative when claiming skills are transferable.
- Verification Layer: A dedicated verification step acts as a safety check to catch any remaining fabrications.
- Strict JSON Structures: Using structured JSON formats ensures information flows properly between stages.
Implementation Details
- Prompt Engineering: Each stage has carefully designed prompts with clear instructions and output formats.
- Error Handling: Comprehensive validation and error handling throughout the pipeline.
- Correction Loop: If verification fails, the system attempts to correct issues and re-verify.
- Traceability: Information in the final resume can be traced back to specific evidence in the original materials.