AgentRun: 에이전트를 워크플로로 바꾸는 DSL 공개
Parcha AI가 해커뉴스에 'AgentRun'이라는 오픈소스 워크플로 DSL을 공개했습니다. 이미 운영 중인 AI 에이전트에 반복 가능한 단계를 정의하고, Jev로 판단을 내리며, 조사가 필요할 때만 에이전트를 호출하는 구조입니다. 앱의 도구·모델 접근·권한·예산은 그대로 유지되며, API 키 없이 데모를 실행해볼 수 있습니다.
agent.run() — 에이전트에 Jev 기반 워크플로를 추가하세요.
AgentRun은 이미 운영 중인 에이전트를 위한 워크플로 언어입니다. 반복 가능한 단계를 정의하고, 집중된 의사결정에는 Jev를 사용하며, 조사가 필요한 작업일 때만 에이전트를 호출합니다. 애플리케이션은 기존의 도구, 모델 접근 권한, 권한 설정, 예산을 그대로 유지합니다.
빠른 시작 · 문서 · 예제 · Pi 확장 · 에이전트 지침 · 정적 다이어그램 보기 · 예제 실행
아래의 고객 지원 예제는 스크립트된 도구와 모델 응답으로 이 워크플로를 따릅니다.
빠른 시작
Node 22.19+와 npm이 필요합니다. 프로젝트에서 다음을 실행하세요:
npm install @parcha/agentrun-dsl@beta npx agentrun demo
이 티켓 라우팅 데모는 스크립트된 결정을 사용하므로 API 키가 필요 없습니다. 다음으로 자신의 앱에서 워크플로를 실행하고 수정해 보세요. 위 애니메이션의 지원 워크플로를 실행하려면 아래 체크아웃을 사용하세요. 에이전트와 함께 워크플로를 만들려면 Pi 확장을 설치하세요.
지원 예제 실행
애니메이션의 워크플로를 실행하려면 예제를 클론하고 빌드하세요:
git clone --branch main --single-Branch https://github.com/Parcha-ai/agentrun.git cd agentrun
nvm 사용 시:
nvm install && nvm use npm ci --ignore-scripts npm run build npm run demo:support
이 명령은 스크립트된 도구, Jev 응답, 에이전트 응답으로 인터프리터를 실행합니다. API 키가 필요 없으며 실제 고객에게 답장을 보내지 않습니다. 각 케이스별 보고서를 출력합니다:
| 요청 | 에이전트 호출 | 결정 호출 | 결과 |
|---|---|---|---|
| 비밀번호 재설정 | 0 | 1 | 도움말 답변 반환 |
| 청구서 조회 | 0 | 1 | 도움말 답변 반환 |
| 결제 실패 조사 | 1 | 2 | 조사 답변 반환 |
| 결제 미해결 지속 | 1 | 2 | 검토를 위해 에스컬레이션 |
npm run demo:support -- payment npm run test:support
에스컬레이션을 확인하려면 'npm run demo:support -- unresolved'를 실행해 보세요. 종료 코드 2로 종료됩니다. 응답은 스크립트된 것이므로 프롬프트를 바꿔도 결과가 변하지 않습니다. 실제 Jev와 에이전트를 연결하거나, 이 지침을 코딩 에이전트에게 전달하세요.
워크플로의 생김새
지원 워크플로는 답변 텍스트와 출처 참조를 요구합니다. Jev는 신뢰도 0.8 이상으로 '예'라고 답해야 합니다. 그렇지 않으면 워크플로는 에이전트 시도를 한 번 허용하고 다시 확인합니다. 그래도 검사를 통과하지 못하면 검토를 위해 에스컬레이션합니다. 기준과 임계값은 작업에 맞게 직접 선택할 수 있습니다.
해당 워크플로의 검색 및 결정 노드 예시:
{ "node": "call", "label": "find-answer", "via": "tool", "tool": "help.search", "args": { "request": "{request}" }, "out": "Candidate", "as": "answer", "deadline_s": 10 }, { "node": "judge", "label": "check-existing-answer", "state": { "request": "{request}", "answer": "{answer}" }, "out": "Fit", "as": "fit" }
Candidate와 Fit은 워크플로의 스키마를 참조합니다. Fit은 질문과 '예', '아니오', '불확실' 판정 기준을 정의합니다. 코드가 결정과 신뢰도를 읽어 다음 단계를 선택합니다. 에이전트와 검토 경로를 포함한 전체 정의를 확인해 보세요.
워크플로는 JSON으로 작성하거나 TypeScript 빌더와 Zod 계약(contract)을 사용할 수 있습니다. 빌더는 입력·출력 타입을 추론하고, 인터프리터는 런타임에 중간 상태 경로를 검사합니다. 워크플로는 다른 워크플로를 호출하고, 작업을 병렬로 매핑하며, 제한된 반복(bounded loop)을 실행할 수 있습니다.
애플리케이션 연결
핵심 패키지와 Jev 어댑터를 설치하세요: npm install @parcha/agentrun-dsl@beta @parcha/agentrun-jev@beta
그 다음:
- 어댑터를 제공하세요. runEffect로 도구를, runNode로 기존 에이전트를, createJevRunner()를 runJudge로 연결해 Jev 결정을 사용합니다.
- 워크플로를 정의하고 테스트하세요. 스키마, 단계, 임계값, 검토 경로를 작성합니다. 픽스처로 시작한 뒤 실제 작업의 라벨링된 케이스에서 실제 결정을 평가하세요.
- 에이전트에게 워크플로 도구를 제공하세요. runWorkflow를 호출하는 함수를 에이전트의 도구 중 하나로 등록하고, 워크플로의 출력, 에스컬레이션, 오류를 처리하세요.
지원 통합 가이드에 설정 템플릿과 실제 실행 명령이 있습니다. 실제 Jev 호출에는 TypeSafe 대시보드의 TYPESAFE_API_KEY가 필요하며, 이는 코딩 에이전트 로그인과 별개입니다. Jev 결정이 없는 워크플로에는 이 키가 필요 없습니다. 권한, 취소 등에 대한 호스트 통합 문서를 참고하세요.