Skip to content

Specialized Agents Directory (23 Agents)

Overview

The platform uses a swarm of 23 specialized artificial intelligence agents built using the Pydantic AI framework (src/agents/). Each agent is configured with dependency injection (RunContext[GxpAgentDeps]), structured output validation models, and access to zero-trust hybrid retrieval tools.

Master Directory of 23 Specialized Agents

#Agent ClassSpecializationGoverning RegulationsPrimary Output Schema
1RequirementsTraceabilityAgentTraceability EngineerGAMP 5, 21 CFR 11.10(a)TraceabilityMatrixResponse
2RiskAssessmentAgentGAMP 5 & CSA StrategistFDA CSA, GAMP 5, ISO 14971RiskAssessmentResponse
3ValidationTestingAgentProtocol Specialist21 CFR 11.10, Annex 11 Clause 4ValidationTestingResponse
4DeviationRcaAgentQuality Incident & RCA Lead21 CFR 211.192, ISO 13485:8.5.2DeviationRcaResponse
5CapaChangeControlAgentContinuous Improvement LeadISO 13485:8.5.2 / 8.5.3CapaChangeControlResponse
6DataIntegrityAuditAgent21 CFR Part 11 Auditor21 CFR Part 11, ALCOA+DataIntegrityAuditResponse
7PeriodicReviewAgentLifecycle Governance LeadAnnex 11 Clause 11, GAMP 5PeriodicReviewResponse
8AssetManagementAgentEquipment & Metrology SentryISO 13485:7.5.1, GAMP 5AssetManagementResponse
9CmmsMaintenanceAgentMaintenance Governance Lead21 CFR 211.67, ISO 13485:6.3CmmsMaintenanceResponse
10BatchRecordReviewAgentBatch Release & RFT Sentry21 CFR 211.188, Annex 16BatchRecordReviewResponse
11OosInvestigationAgentQC Analytical OOS LeadFDA OOS Guidance, ISO 17025OosInvestigationResponse
12GxpTrainingCompetencyAgentCurriculum & Training Sentry21 CFR 211.25, Annex 11 Clause 2GxpTrainingResponse
13ItHelpdeskAgentGxP Service Desk Specialist21 CFR 11.10(d), 11.300HelpdeskTicketResponse
14DocumentAuthoringAgentQuality & CSV Document DrafterISO 13485:4.2, GAMP 5DocumentAuthoringResponse
15SupplierQualityAgentSupplier Purchasing LeadISO 13485:7.4, FDA QMSRSupplierQualityResponse
16ComplaintVigilanceAgentPost-Market Vigilance LeadISO 13485:8.2.2, 21 CFR 803ComplaintVigilanceResponse
17ApqrQualityMetricsAgentAnnual Product Review Sentry21 CFR 211.180(e), EU GMP Ch 1ApqrMetricsResponse
18AuditInspectionReadinessAgentInspection Readiness AuditorISO 13485:8.2.4, CP 7382.850InspectionReadinessResponse
19SystemInterfaceMigrationAgentData Migration SpecialistGAMP 5 App D6, ALCOA+DataMigrationResponse
20SpreadsheetValidationAgentSpreadsheet Validator21 CFR Part 11, GAMP 5 Cat 5SpreadsheetValidationResponse
21DisasterRecoveryAgentBusiness Continuity & DR Lead21 CFR 11.10(c), Annex 11 Cl 7/16DisasterRecoveryResponse
22VendorAssessmentCsaAgentCloud & AI Foundation AssessorISO 13485:7.4, ISO/IEC 42001VendorAssessmentResponse
23DocumentTriageAgentS3 File Ingestion ClassifierGAMP 5 Category SelectionDocumentTriageResponse

Technical Implementation Details

1. Dependency Injection (GxpAgentDeps)

All agents inherit dependencies defined in src/agents/deps.py:

@dataclass
class GxpAgentDeps:
pg_pool: asyncpg.Pool
qdrant_client: QdrantClient
memgraph_client: MemgraphDriver
rustfs_client: RustFSClient
langfuse_tracker: LangfuseTracker
system_code: Optional[str] = None
regulatory_mode: str = "operational"

This enables agents to interact with all three databases and storage engines concurrently while recording hierarchical traces in Langfuse.

2. EvidenceGate Integration

Before an agent receives retrieved context chunks from Qdrant or Memgraph, the chunks pass through EvidenceGate:

  • Unverified chunks or chunks failing PostgreSQL hash validation are removed.
  • Superseded documents are filtered out.
  • The agent prompt receives only verified, active regulatory evidence.

3. Structured Pydantic Output Enforcement

Agents return strictly typed Pydantic models. For example, RiskAssessmentAgent returns:

class RiskItem(BaseModel):
hazard_id: str
description: str
severity: int = Field(ge=1, le=5)
occurrence: int = Field(ge=1, le=5)
detection: int = Field(ge=1, le=5)
rpn: int = Field(ge=1, le=125)
csa_rigor: Literal["FULL_SCRIPTED_TESTING", "LIMITED_SCRIPTED_TESTING", "UNSCRIPTED_EXPLORATORY_TESTING", "VENDOR_AUDIT_LEVERAGING"]
mitigation_action: str
class RiskAssessmentResponse(BaseModel):
system_name: str
gamp_category: int
critical_thinking_rationale: str
risk_items: List[RiskItem]
overall_risk_level: str
evidence_citations: List[str]

If an LLM produces an invalid calculation or schema violation, Pydantic AI automatically requests self-correction from the model before returning the response.