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 ファイルは、バージョン管理され、プロバイダーに依存しません。 |
プロンプトを他のソースファイルと同様にレビュー可能にし、1 行でモデルを切り替えられます。 |
自動トレーシング – すべての LLM 呼び出し、HTTP リクエスト、トークン数、レイテンシ、コストが logs/runs/ に書き込まれます。 |
デバッグとコーディングエージェントによる障害の推論のための単一の真実のソースを提供します。 |
| LLM を審判とする評価器 – 組み込みの評価器は、信頼度スコアと推論を伴うブール結果を返します。 | 決定的な再試行ループとモデル出力品質のオフラインテストを可能にします。 |
| プロバイダーに依存しない 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 審判。
はじめに(クイックステップ)
- 前提条件 – 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 駆動製品を構築、テスト、出荷しやすくなります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト