문제 › 203

203. AI 에이전트 워크플로우 매니저

Hard 바이브코딩 Vibe ContestVibe AgentMCPAI AgentWorkflow
문제 설명
[문제] AI 에이전트들을 등록하고, 여러 단계를 묶은 워크플로우를 정의/실행하는 MCP 서버를 구현한다(단순화 버전). 에이전트는 이름으로 식별되는 작업 단위이고, 워크플로우는 "단계 이름들의 목록"이다. 워크플로우를 실행하면 그 단계 목록을 순서대로 진행한다. 서버 인스턴스는 다음을 유지한다: agents: 등록된 에이전트 이름들의 집합(중복 없는 모음) workflows: 워크플로우 이름 -> 단계 목록([step1, step2, ...]) execution_log: 실행할 때마다 (워크플로우 이름, 진행한 단계 수)를 쌓는 기록 [구현할 함수] - register_agent(agent_name: str) -> int 에이전트를 등록한다. 등록 후 전체 에이전트 수를 반환한다. - create_workflow(name: str, steps: List[str]) -> int 워크플로우 이름과 단계 목록을 받아 정의한다. 정의 후 전체 워크플로우 수를 반환한다. - execute_workflow(name: str) -> int 해당 이름의 워크플로우를 실행하고 진행한 단계 수를 반환한다. 존재하지 않는 워크플로우면 0 을 반환한다. - get_execution_log() -> int 지금까지 쌓인 실행 기록의 개수를 반환한다. - list_agents() -> List[str] 등록된 에이전트 이름들을 정렬된(사전순) 배열로 반환한다. 하나도 없으면 빈 배열 [] 을 반환한다. [입력/상태] 서버는 agents 집합, workflows 사전, execution_log 리스트를 유지한다. [제약] - 초기 상태에는 에이전트/워크플로우/기록이 모두 없다. - 존재하지 않는 워크플로우 실행은 0 을 반환한다. - list_agents 결과는 사전순 정렬 배열이다. [예시] (각 예시는 초기 빈 상태에서 시작) register_agent("agent1") -> 1 create_workflow("w", ["a", "b"]) -> 1 execute_workflow("없음") -> 0 # 없는 워크플로우 get_execution_log() -> 0 # 실행 전 list_agents() -> [] # 등록 전
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.