User Story
As a developer
I want an Agent Factory that creates Interview Agents from blueprints
So that agents are dynamically configured based on manager specifications
Acceptance Criteria
Agent Factory Interface
class AgentFactory:
async def create_agent(
self,
blueprint: InterviewBlueprint,
agent_config_id: str
) -> InterviewAgent:
"""Create a Pydantic AI agent from blueprint configuration."""
async def create_ag_ui_app(
self,
agent: InterviewAgent,
interview_state: InterviewState
) -> AGUIApp:
"""Wrap agent in AG-UI adapter for streaming."""
System Prompt Generation
Tool Configuration
Based on blueprint, agent gets tools for:
Extraction Schema Integration
Interview State Initialization
Model Selection
AG-UI Integration
Technical Notes
# Usage example
blueprint = await load_blueprint(blueprint_id)
agent = await factory.create_agent(blueprint, agent_id)
app = await factory.create_ag_ui_app(agent, interview_state)
# Mount to FastAPI
@router.get("/interviews/{id}/stream")
async def stream_interview(id: str):
return await app.handle_stream(request)
See DESIGN-ASSISTANT-SDK-INTEGRATION.md for full integration spec.
Definition of Done
Requirement ID
AG-04, AG-05
🤖 Generated with Claude Code
User Story
As a developer
I want an Agent Factory that creates Interview Agents from blueprints
So that agents are dynamically configured based on manager specifications
Acceptance Criteria
Agent Factory Interface
System Prompt Generation
Tool Configuration
Based on blueprint, agent gets tools for:
detect_entity(type, data)- Structured entity extractionupdate_topic_coverage(topic, depth)- Track interview progresstrigger_ui_component(component, data)- Show adaptive UIrequest_file_upload(reason)- Ask for documentsend_interview(summary)- Gracefully concludeExtraction Schema Integration
Interview State Initialization
Model Selection
AG-UI Integration
Technical Notes
See DESIGN-ASSISTANT-SDK-INTEGRATION.md for full integration spec.
Definition of Done
Requirement ID
AG-04, AG-05
🤖 Generated with Claude Code