에이전트에게 작업을 배정하고,
완료를 승인합니다.
요구사항에서 WBS 를 만들고, 항목마다 사람이나 코딩 에이전트를 배정합니다. 에이전트는 tmux 세션에서 지시를 받고, 끝나면 MCP 로 되돌려 보고합니다.
→
아웃바운드 HTTPS
→
send-keys
사람과 에이전트를 같은 WBS 에 배정합니다
| 사람 | 에이전트 | |
|---|---|---|
| 배정 | WBS 항목의 담당자 | WBS 항목의 담당자 (AGENT). Worker 와 tmux 세션명으로 라우팅 |
| 지시 | 화면에서 읽음 | dispatch 프롬프트가 tmux 에 주입됨. 상세는 에이전트가 MCP 로 직접 조회 |
| 실적 | 직접 입력 | task_complete 의 경과 시간이 WBS 실적 시간에 자동 합산 |
| 완료 | 상태 변경 | execution_policy 가 AUTO 면 즉시, MANUAL_APPROVAL 이면 사람이 승인해야 반영 |
PMS 에 있어야 할 것은 다 있고, 에이전트 모듈이 하나 더 있습니다
백엔드 모듈 17개를 여덟 줄로 적었습니다. 화면은 16개입니다.
| 모듈 | 무엇 | 언제 쓰나 |
|---|---|---|
| project, user, teams | 프로젝트, 조직, 권한 | 항상 |
| requirements | EPIC 과 FEATURE 계층, 승인 상태. 승인 후 내용을 고치면 승인이 무효가 됩니다 | 항상 |
| estimation | FP 산정. 간이법 기본, IFPUG 직접법 옵션. LLM 자동분류 | 견적, 감사 |
| wbs, calendar | WBS, 의존성, 일정 | 항상 |
| risk | 위험과 이슈, 매트릭스 | 운영 |
| wiki, attachment, comment | 마크다운 위키, 첨부(S3), 댓글 | 문서 |
| agent | Agent 등록, Worker 상태, dispatch 큐, 승인 | 에이전트 연계 시 |
| audit, metrics, report | 감사 로그, 실적 집계, 리포트 | 감사, 보고 |
Worker 는 DB 를 모릅니다
에이전트 호스트에는 얇은 폴러 하나만 둡니다. 인바운드 포트를 열지 않고, 아웃바운드 HTTPS 로 자기 작업을 가져갑니다.
에이전트 호스트
curl -fSL https://agentflow.weveloop.ai/api/public/worker/download -o worker.jar
export AGENTFLOW_API_KEY=<key>; export AGENTFLOW_WORKER_ID=<id>
java -jar worker.jar에이전트 쪽에는 어댑터 하나를 등록합니다. Node 18 이상, 외부 의존성 없음.
Claude Code
curl -fSL https://agentflow.weveloop.ai/agentflow-mcp-adapter.mjs -o agentflow-mcp-adapter.mjs
claude mcp add agentflow -s local \
-e AGENTFLOW_MCP_URL=https://agentflow.weveloop.ai/mcp \
-e AGENTFLOW_API_KEY=<key> \
-- node "$(pwd)/agentflow-mcp-adapter.mjs"에이전트가 하는 일은 다섯 줄입니다. session_open → work_getItem → task_start → task_reportProgress → task_complete. 도구는 26개입니다.
네 개의 프로세스, 세 가지 인증
| 구성요소 | 포트 | 역할 |
|---|---|---|
| API | 18080 | 도메인, dispatch 큐, MCP 백엔드. Kotlin, Spring Boot, JDK 21 |
| MCP 게이트웨이 | 18090 | 에이전트의 역보고 창구 /mcp |
| Worker | 18081 | 얇은 HTTPS 폴러. 라이브러리 의존 0 |
| Frontend | 3000 | 관리 화면. Next.js 15 |
| 누가 | 무엇으로 | 비고 |
|---|---|---|
| Worker → /dispatch/* | API 키 (X-API-Key) | 테넌트 단위 |
| 에이전트 → /mcp | API 키 | agentId 는 session_open 인자 |
| 사람 → 화면 | JWT | 조직, 역할, 프로젝트 권한 |
주입 성공은 작업 완료가 아닙니다
프롬프트가 tmux 에 들어가도 상태는 QUEUED 입니다. 에이전트가 task_start 를 불러야 RUNNING 이 되고, task_complete 를 불러야 끝납니다. 임의 프롬프트를 바로 보내는 경로는 없습니다. 모든 dispatch 는 WBS 항목과 배정을 거칩니다.
게이트웨이는 표준 MCP 서버가 아닙니다. 그래서 어댑터가 필요합니다. MANUAL_APPROVAL 에이전트는 사람이 승인하기 전에는 다음 항목으로 넘어가지 않습니다.
| 증상 | 원인 |
|---|---|
| dispatch 가 Worker 에 안 옴 | Agent 의 worker_id 와 Worker 의 AGENTFLOW_WORKER_ID 가 다름 |
| SESSION_NOT_FOUND | 호스트에 그 이름의 tmux 세션이 없음 |
| 주입은 됐는데 QUEUED 에서 안 올라감 | 에이전트가 task_start 를 부르지 않음. 대개 어댑터 미연결 |
| task_complete 가 승인 대기로 걸림 | execution_policy 가 AUTO 가 아님 |
| 자동 체인이 안 넘어감 | 프로젝트의 자동 dispatch 가 꺼져 있거나 선행 항목이 미완료 |
SaaS 또는 On-Premise
| 어디 | 조건 | |
|---|---|---|
| SaaS | 운영 클라우드 (AWS EKS) | 조직, 사용자, 프로젝트 규모로 견적 |
| On-Premise | 고객 VPC 또는 사내. Kubernetes 매니페스트와 docker-compose 제공 | 별도 계약. 감사, 데이터 주권 요구 시 |
가격은 개별 견적입니다. platform@wevesolutions.co.kr
이렇게 시작합니다
- 1
프로젝트 하나
요구사항을 넣고 FP 를 산정합니다. 1~2주.
- 2
에이전트 한 대
Worker 와 어댑터를 붙이고 WBS 항목 몇 개를 배정합니다. 승인 정책은 MANUAL 로 시작합니다.
- 3
계약
SaaS 또는 On-Premise.
우리가 먼저 했습니다.
은행 API 게이트웨이 프로젝트 하나를 통째로 넣었습니다. 요구사항 61건, WBS 148건, FP 595, 계획 4,765시간. 시연하려고 넣었던 가짜 완료 기록 18건은 실적 자동 누적 기능이 들어간 날 전부 지웠습니다. 계획과 FP 기준선은 남기고 실적은 0 에서 다시 받습니다.
자주 받는 질문 셋
어떤 에이전트를 붙일 수 있습니까?
Claude Code, OpenCode, Codex, GitHub Copilot 을 라벨로 구분합니다. tmux 세션에서 도는 CLI 라면 주입 방식은 같습니다.
에이전트가 마음대로 완료 처리합니까?
Agent 마다 execution_policy 를 둡니다. MANUAL_APPROVAL 이면 task_complete 가 승인 대기로 들어가고, 사람이 승인해야 반영됩니다. 결정은 감사 로그에 남습니다.
FP 는 어떤 방식입니까?
한국 소프트웨어 대가산정 가이드의 간이법이 기본입니다. 단위프로세스를 ILF, EIF, EI, EO, EQ 로 분류하고 평균 가중치와 보정계수를 씁니다. IFPUG 직접법도 고를 수 있습니다. 분류는 LLM 자동분류로 제안받고 사람이 확정합니다.