growthxai/output
The open-source TypeScript framework for building AI workflows and agents. Designed for Claude Code describe what you want, Claude builds it, with all the best practices already in place.
Output – AI 워크플로우 및 에이전트를 위한 TypeScript 프레임워크
정의 – 엔드투엔드 LLM 기반 워크플로우를 정의, 실행, 모니터링할 수 있는 오픈소스 TypeScript SDK입니다. 프롬프트 관리, 평가, 추적, 비용 계산, 오케스트레이션(Temporal 경유)을 번들로 제공하여 AI 스택 전체를 코드베이스 안에 유지할 수 있습니다.
핵심 아이디어
| 아이디어 | 중요성 |
|---|---|
| AI를 위한 AI – 이 프레임워크는 Claude Code(또는 유사한 코딩 에이전트)가 워크플로우 폴더를 읽고, 코드를 생성하고, 자동으로 반복할 수 있도록 구축되었습니다. | LLM이 자체 파이프라인을 작성하도록 하는 팀에게 "프롬프트에서 프로덕션까지" 루프를 빠르게 만듭니다. |
프롬프트 파일 – YAML 프론트매터와 Liquid 템플릿이 있는 .prompt 파일은 버전 관리되며 공급자에 구애받지 않습니다. |
프롬프트를 다른 소스 파일처럼 검토 가능하게 하고 한 줄로 모델을 전환할 수 있습니다. |
자동 추적 – 모든 LLM 호출, HTTP 요청, 토큰 수, 지연 시간, 비용이 logs/runs/에 기록됩니다. |
디버깅과 코딩 에이전트가 실패를 추론하는 데 단일 진실 소스를 제공합니다. |
| LLM-as-judge 평가기 – 내장 평가기는 신뢰도 점수와 추론을 포함한 부울 결과를 반환합니다. | 결정적 재시도 루프와 모델 출력 품질의 오프라인 테스트를 가능하게 합니다. |
| 공급자에 구애받지 않는 LLM 레이어 – Anthropic, OpenAI, Azure, Vertex AI, Bedrock이 모두 동일한 API 표면을 공유합니다. | 벤더 종속을 피하고 코드 변경 없이 모델 간에 이동할 수 있습니다. |
| Temporal 오케스트레이션 – 워크플로우는 결정적 조정 코드이며, 단계는 I/O를 수행하고 재생을 위해 캐시됩니다. | 워크플로우 엔진을 직접 관리하지 않고도 재시도, 병렬 처리, 하위 워크플로우, 기록을 처리합니다. |
| 암호화된 자격 증명 – 환경/워크플로우별로 범위가 지정된 AES-256-GCM 암호화. CLI로 관리됩니다. | 코드 공유 시 또는 AI 에이전트가 코드를 실행할 때 비밀 정보의 우발적 유출을 방지합니다. |
주요 패키지(npm)
| 패키지 | 역할 |
|---|---|
@outputai/core |
프리미티브: workflow, step, evaluator 정의. |
@outputai/llm |
다중 공급자 LLM 클라이언트, 프롬프트 로딩, 스트리밍, 도구 호출. |
@outputai/cli |
프로젝트 스캐폴딩, 로컬 개발 서버(Temporal + API + UI), 워크플로우 실행/디버그 명령. |
워크플로우 예시
// src/workflows/research/workflow.ts
workflow({
name: 'research',
fn: async (input) => {
const data = await gatherSources(input);
const analysis = await analyzeContent(data);
const quality = await checkQuality(analysis);
return quality.passed ? analysis : await reviseContent(analysis, quality);
}
});
workflow – 결정적 오케스트레이션, 부작용 없음.
// src/workflows/research/steps.ts
step({
name: 'gatherSources',
fn: async (input) => {
const results = await searchApi(input.topic);
return { sources: results };
}
});
step – I/O 수행; 결과는 재생을 위해 캐시됩니다.
---
provider: anthropic
model: claude-sonnet-4-20250514
temperature: 0
---
<system>You are a research analyst.</system>
<user>Analyze the following sources about {{ topic }}: {{ sources }}</user>
.prompt – YAML 프론트매터 구성 + Liquid 변수.
// src/workflows/research/evaluators.ts
evaluator({
name: 'checkQuality',
fn: async (content) => {
const { output } = await generateText({
prompt: 'evaluate_quality',
variables: { content },
output: Output.object({
schema: z.object({
isQuality: z.boolean(),
confidence: z.number().describe('0-100'),
reasoning: z.string()
})
})
});
return new EvaluationBooleanResult({
value: output.isQuality,
confidence: output.confidence,
reasoning: output.reasoning
});
}
});
evaluator – 구조화된 결과를 반환하는 LLM-as-judge.
시작하기(빠른 단계)
- 사전 요구 사항 – Node 20+, Docker Desktop, Anthropic/OpenAI 등의 API 키.
- 새 프로젝트 스캐폴드:
npx @outputai/cli init cd <project-name> - 로컬 개발 스택(Temporal 서버 + UI + 핫 리로드 워커) 시작:
npx output dev - 샘플 워크플로우 실행(예: 블로그 평가기):
npx output workflow run blog_evaluator paulgraham_hwh - 실행을 검사하거나
output workflow debug <id>로 디버그합니다.
전체 문서는 docs/guides/start-here/getting-started.mdx에 있습니다.
예제 워크플로우 갤러리
동반 리포지토리 output-examples는 즉시 실행 가능한 워크플로우를 제공합니다:
- blog_evaluator – 블로그 게시물 품질 점수(Jina Reader 사용).
- call_scorer – MEDDIC/BANT/SPIN 기준으로 영업 통화 기록 평가.
- changelog_generator – GitHub 커밋/PR을 분류된 변경 로그로 변환.
- dependency_audit – OSV를 통해 npm 패키지 취약점 스캔.
- recipe_extractor, url_summarizer, youtube_summarizer – 콘텐츠 추출 및 요약.
- ai_hn_digest – Beehiiv에 게시되는 개인화된 Hacker News 뉴스레터.
- sales_call_processor – 통화 기록의 다단계 처리.
모두 복제, 편집, 로컬 실행하여 프레임워크를 확인할 수 있습니다.
누가 사용하고 있나요?
- CheckThat.ai – Output 기반으로 구축된 결정적 LLM 워크플로우를 실행하는 AI 강화 브랜드 모니터링 플랫폼. 수백만 개의 AI 생성 브랜드 언급을 추적합니다.
Output을 선택해야 하는 경우
- 프롬프트, 추적, 평가, 오케스트레이션을 위한 단일 코드 우선 스택이 필요한 경우.
- 팀(또는 LLM 코딩 에이전트)이 워크플로우를 자동으로 생성하거나 수정해야 하는 경우.
- 벤더에 구애받지 않는 LLM 호출과 코드 변경 없이 공급자를 전환할 방법이 필요한 경우.
- 신뢰할 수 있는 재시도, 병렬 처리, 재생이 필요한 경우 – Temporal이 내부적으로 처리합니다.
- 별도의 볼트 서비스 대신 자체 호스팅 비밀 관리를 선호하는 경우.
라이선스
Apache 2.0 – 상업 및 오픈소스 사용 무료.
결론 – Output은 LLM 애플리케이션의 다양한 부분(프롬프트, 실행, 비용, 평가)을 통합하고 프로덕션급 워크플로우 오케스트레이션을 추가하는 풀스택, TypeScript 우선 프레임워크입니다. 인간 엔지니어와 AI 코딩 에이전트 모두 AI 기반 제품을 더 쉽게 구축, 테스트, 출시할 수 있게 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트