Spaces:
Runtime error
Runtime error
Agent Design: ResearchLink AI
Agent Responsibilities
| Agent | Input | Output | Uses LLM? |
|---|---|---|---|
| IntakeAgent | raw dict | IngestionInput | No |
| SourceResolverAgent | IngestionInput | ResolvedSources | No |
| PDFExtractionAgent | ResolvedSources | PaperExtraction | No |
| MetadataAgent | IngestionInput + PaperExtraction | PaperMetadata | Yes |
| CitationVerificationAgent | PaperExtraction + bibtex | CitationReport | No |
| GitHubRepoAnalyzerAgent | github_url | RepoAnalysis | No |
| PaperDigestAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| LiteratureReviewAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| ConceptMapAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| ImplementationLinkAgent | PaperMetadata + RepoAnalysis | dict[str, str] | Yes |
| ReproducibilityAgent | PaperMetadata + RepoAnalysis + Extraction | dict[str, str] | Yes |
| LimitationsAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| TeachingPathAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| LabsGeneratorAgent | PaperMetadata + PaperExtraction | dict[str, str] | Yes |
| ReviewerAgent | PaperMetadata + CitationReport + content | dict[str, str] | Yes |
| ExportAgent | All above | GenerationReport | No |
Base Agent
All agents inherit from BaseAgent which provides:
_call_llm(system, user)— standardised Anthropic API calllog(message)— verbose-gated console loggingwarn(message)— always-visible warnings- Settings injection via
get_settings()
Failure Handling
Every agent catches exceptions internally and returns partial results with notes.
The pipeline continues even if individual agents fail.
All failures are collected in the GenerationReport.
LLM System Prompts
Each content-generating agent has a focused system prompt that:
- States the agent's role
- Mandates the label system (
[paper-claim],[needs-verification], etc.) - Forbids inventing citations
- Specifies output format