Agent Skills by ALSEL
汎用LLM・AI開発⭐ リポ 13品質スコア 76/100

ai-wrapper-product

OpenAIやAnthropicなどのAI APIをラップして、ユーザーが実際に購入する価値のある焦点を絞ったツールへと進化させるプロダクト開発の専門家です。単なる「ChatGPTの別バージョン」ではなく、AIで具体的な問題を解決するプロダクトの構築を得意としています。

description の原文を見る

Expert in building products that wrap AI APIs (OpenAI, Anthropic, etc. ) into focused tools people will pay for. Not just "ChatGPT but different" - products that solve specific problems with AI.

SKILL.md 本文

AIラッパープロダクト

AI API(OpenAI、Anthropicなど)をお金を払う価値のある焦点を絞ったツールにラップするプロダクト構築の専門家。単なる「ChatGPTの別バージョン」ではなく、AIで特定の問題を解くプロダクト。プロンプトエンジニアリング、コスト管理、レート制限、防御可能なAIビジネス構築をカバーします。

ロール: AIプロダクトアーキテクト

AIラッパーの評判は悪いかもしれませんが、優れたものは実在する問題を解きます。AIがエンジンであってギミックではないプロダクトを構築します。プロンプトエンジニアリングはプロダクト開発であることを理解しています。コストとユーザー体験のバランスを取ります。実際に人々が毎日使って料金を払うAIプロダクトを作成します。

専門知識

  • AIプロダクト戦略
  • プロンプトエンジニアリング
  • コスト最適化
  • モデル選択
  • AI UX
  • 使用状況計測

機能

  • AIプロダクトアーキテクチャ
  • プロダクト向けプロンプトエンジニアリング
  • API コスト管理
  • AI使用状況計測
  • モデル選択
  • AI UX パターン
  • 出力品質管理
  • AIプロダクト差別化

パターン

AIプロダクトアーキテクチャ

AI API を中心としたプロダクト構築

使用時: AI駆動プロダクト設計時

AIプロダクトアーキテクチャ

ラッパースタック

ユーザー入力
    ↓
入力検証 + サニタイズ
    ↓
プロンプトテンプレート + コンテキスト
    ↓
AI API (OpenAI/Anthropic/など)
    ↓
出力解析 + 検証
    ↓
ユーザーフレンドリーなレスポンス

基本実装

import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic();

async function generateContent(userInput, context) {
  // 1. 入力検証
  if (!userInput || userInput.length > 5000) {
    throw new Error('Invalid input');
  }

  // 2. プロンプト構築
  const systemPrompt = `You are a ${context.role}.
    Always respond in ${context.format}.
    Tone: ${context.tone}`;

  // 3. API呼び出し
  const response = await anthropic.messages.create({
    model: 'claude-3-haiku-20240307',
    max_tokens: 1000,
    system: systemPrompt,
    messages: [{
      role: 'user',
      content: userInput
    }]
  });

  // 4. 出力解析と検証
  const output = response.content[0].text;
  return parseOutput(output);
}

モデル選択

モデルコスト速度品質ユースケース
GPT-4o$$$速い最高複雑なタスク
GPT-4o-mini$最速良好ほとんどのタスク
Claude 3.5 Sonnet$$速い優秀バランス型
Claude 3 Haiku$最速良好大量処理

プロダクト向けプロンプトエンジニアリング

本番グレードのプロンプト設計

使用時: AI プロダクトプロンプト構築時

プロダクト向けプロンプトエンジニアリング

プロンプトテンプレートパターン

const promptTemplates = {
  emailWriter: {
    system: `You are an expert email writer.
      Write professional, concise emails.
      Match the requested tone.
      Never include placeholder text.`,
    user: (input) => `Write an email:
      Purpose: ${input.purpose}
      Recipient: ${input.recipient}
      Tone: ${input.tone}
      Key points: ${input.points.join(', ')}
      Length: ${input.length} sentences`,
  },
};

出力制御

// 構造化出力を強制
const systemPrompt = `
  Always respond with valid JSON in this format:
  {
    "title": "string",
    "content": "string",
    "suggestions": ["string"]
  }
  Never include any text outside the JSON.
`;

// フォールバック付きで解析
function parseAIOutput(text) {
  try {
    return JSON.parse(text);
  } catch {
    // フォールバック: レスポンスからJSONを抽出
    const match = text.match(/\{[\s\S]*\}/);
    if (match) return JSON.parse(match[0]);
    throw new Error('Invalid AI output');
  }
}

品質管理

テクニック目的
プロンプト内の例出力スタイルをガイド
出力フォーマット仕様一貫した構造
検証形式不正レスポンスをキャッチ
リトライロジック失敗を処理
フォールバックモデル信頼性

コスト管理

AI API コスト管理

使用時: 利益あるAIプロダクト構築時

AI コスト管理

トークンエコノミクス

// 使用状況を追跡
async function callWithCostTracking(userId, prompt) {
  const response = await anthropic.messages.create({...});

  // 使用状況をログ
  await db.usage.create({
    userId,
    inputTokens: response.usage.input_tokens,
    outputTokens: response.usage.output_tokens,
    cost: calculateCost(response.usage),
    model: 'claude-3-haiku',
  });

  return response;
}

function calculateCost(usage) {
  const rates = {
    'claude-3-haiku': { input: 0.25, output: 1.25 }, // 100万トークンあたり
  };
  const rate = rates['claude-3-haiku'];
  return (usage.input_tokens * rate.input +
          usage.output_tokens * rate.output) / 1_000_000;
}

コスト削減戦略

戦略削減率
より安いモデルを使用10~50倍
出力トークンを制限可変
一般的なクエリをキャッシュ高い
類似リクエストをバッチ処理中程度
入力を切り詰める可変

使用制限

async function checkUsageLimits(userId) {
  const usage = await db.usage.sum({
    where: {
      userId,
      createdAt: { gte: startOfMonth() }
    }
  });

  const limits = await getUserLimits(userId);
  if (usage.cost >= limits.monthlyCost) {
    throw new Error('Monthly limit reached');
  }
  return true;
}

AIプロダクト差別化

他のAIラッパーとの差別化

使用時: AIプロダクト戦略計画時

AIプロダクト差別化

AIプロダクトを防御可能にするもの

競争優位性
ワークフロー統合Gmail内のメール
ドメイン専門知識法律訓練を受けた法務AI
データ/コンテキスト企業特有の知識
UX優秀性タスク向けに完璧に設計
配信組み込みオーディエンス

差別化戦略

1. 垂直フォーカス
   汎用: 「AI ライティングアシスタント」
   特定: 「Amazon商品説明用AI」

2. ワークフロー統合
   スタンドアロン: Web アプリ
   統合: Chrome 拡張機能、Slack ボット

3. ドメイン訓練
   汎用: 生の GPT を使用
   特化: ファインチューニングまたはRAG拡張

4. 出力品質
   基本: 生のAI出力
   磨き: 後処理、フォーマット、検証

「シンプルなラッパー」を避ける

シンプルなラッパー実際のプロダクト
カスタムプロンプト付き ChatGPTドメイン特有のワークフロー ツール
API パススルー処理・検証された出力
単一機能完全なソリューション
ユニークな価値なし特定の課題を解く

注意すべき点

AI API コストが制御不能に上昇

重大度: 高

状況: 月間 AI 請求が収益より高い

症状:

  • 予期しない API 請求
  • コスト > 収益
  • 急速な使用スパイク
  • コストの可視化がない

破綻の理由: 使用状況の追跡がない。 ユーザー制限がない。 高額なモデルを使用。 悪用またはバグ。

推奨される修正:

AI コスト制御

ハードリミットを設定

// ユーザーあたりの制限
const LIMITS = {
  free: { dailyCalls: 10, monthlyTokens: 50000 },
  pro: { dailyCalls: 100, monthlyTokens: 500000 },
};

async function checkLimits(userId) {
  const plan = await getUserPlan(userId);
  const usage = await getDailyUsage(userId);

  if (usage.calls >= LIMITS[plan].dailyCalls) {
    throw new Error('Daily limit reached');
  }
}

プロバイダーレベルの制限

OpenAI: ダッシュボードで使用制限を設定
Anthropic: 支出制限を設定
50%、80%、100% でアラートを追加

コスト監視

// 異常をアラート
async function checkCostAnomaly() {
  const todayCost = await getTodayCost();
  const avgCost = await getAverageDailyCost(30);

  if (todayCost > avgCost * 3) {
    await alertAdmin('Cost anomaly detected');
  }
}

緊急遮断

// キルスイッチ
const MAX_DAILY_SPEND = 100; // $100

async function canMakeAPICall() {
  const todaySpend = await getTodaySpend();
  if (todaySpend >= MAX_DAILY_SPEND) {
    await disableAPI();
    await alertAdmin('Emergency shutoff triggered');
    return false;
  }
  return true;
}

API レート制限に達するとアプリが破綻

重大度: 高

状況: API 呼び出しが 429 エラーで失敗

症状:

  • 429 Too Many Requests エラー
  • バースト単位でリクエスト失敗
  • ユーザーがエラーを見ている
  • 不安定な動作

破綻の理由: リトライロジックがない。 リクエストをキューイングしていない。 バーストトラフィックを処理しない。 バックオフ戦略がない。

推奨される修正:

レート制限対応

指数バックオフ付きリトライ

async function callWithRetry(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (err) {
      if (err.status === 429 && i < maxRetries - 1) {
        const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s
        await sleep(delay);
        continue;
      }
      throw err;
    }
  }
}

リクエストキュー

import PQueue from 'p-queue';

// 同時実行リクエストを制限
const queue = new PQueue({
  concurrency: 5,
  interval: 1000,
  intervalCap: 10, // 1秒あたり最大10
});

async function callAPI(prompt) {
  return queue.add(() => anthropic.messages.create({...}));
}

ユーザー向け処理

try {
  const result = await callWithRetry(generateContent);
  return result;
} catch (err) {
  if (err.status === 429) {
    return {
      error: true,
      message: 'High demand - please try again in a moment',
      retryAfter: 30
    };
  }
  throw err;
}

AI が間違った情報や作り上げた情報を出力

重大度: 高

状況: ユーザーが不正確な出力について苦情を述べている

症状:

  • ユーザーが間違った情報を報告
  • 出力に作り上げた事実
  • 古い情報
  • 信頼の問題

破綻の理由: 出力検証がない。 AI を盲目的に信頼。 ファクトチェックがない。 AI に適さないユースケース。

推奨される修正:

幻覚対応

出力検証

function validateOutput(output, schema) {
  // 必須フィールドをチェック
  if (!output.title || !output.content) {
    throw new Error('Missing required fields');
  }

  // 妥当な長さをチェック
  if (output.content.length < 50 || output.content.length > 5000) {
    throw new Error('Content length out of range');
  }

  // プレースホルダーテキストをチェック
  const placeholders = ['[INSERT', 'PLACEHOLDER', 'YOUR NAME HERE'];
  if (placeholders.some(p => output.content.includes(p))) {
    throw new Error('Output contains placeholders');
  }

  return true;
}

ドメイン固有の検証

// ファクト系コンテンツの場合
async function validateFacts(output) {
  // 日付が妥当かチェック
  const dates = extractDates(output);
  for (const date of dates) {
    if (date > new Date() || date < new Date('1900-01-01')) {
      return { valid: false, reason: 'Suspicious date' };
    }
  }

  // 数字が妥当かチェック
  // ...
}

避けるべきユースケース

リスク高より安全な代替案
医学的アドバイス要約、診断ではない
法的アドバイスドラフト、アドバイスではない
時事問題データソースで使用
正確な計算検証またはコード使用

ユーザー期待

  • 生成コンテンツの免責事項
  • 「AI生成」ラベル
  • ユーザーの編集機能
  • フィードバック機構

AI レスポンスが遅く UX に影響

重大度: 中

状況: ユーザーが遅いレスポンスについて苦情を述べている

症状:

  • 長い待機時間
  • ユーザーが離脱
  • タイムアウトエラー
  • 知覚パフォーマンスが悪い

破綻の理由: 大きなプロンプト。 高額なモデル。 ストリーミングがない。 キャッシングがない。

推奨される修正:

AI レイテンシ改善

ストリーミングレスポンス

// AI生成時にユーザーにストリーム
async function* streamResponse(prompt) {
  const stream = await anthropic.messages.stream({
    model: 'claude-3-haiku-20240307',
    max_tokens: 1000,
    messages: [{ role: 'user', content: prompt }]
  });

  for await (const event of stream) {
    if (event.type === 'content_block_delta') {
      yield event.delta.text;
    }
  }
}

// フロントエンド
const response = await fetch('/api/generate', { method: 'POST' });
const reader = response.body.getReader();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  appendToOutput(new TextDecoder().decode(value));
}

キャッシング

async function generateWithCache(prompt) {
  const cacheKey = hashPrompt(prompt);
  const cached = await cache.get(cacheKey);
  if (cached) return cached;

  const result = await generateContent(prompt);
  await cache.set(cacheKey, result, { ttl: 3600 });
  return result;
}

より高速なモデルを使用

モデル一般的なレイテンシ
GPT-45~15秒
GPT-4o-mini1~3秒
Claude 3 Haiku1~3秒
Claude 3.5 Sonnet2~5秒

検証チェック

AI API キーが流出した

重大度: 高

メッセージ: AI API キーが流出した可能性があります - セキュリティリスク!

修正アクション: API呼び出しをバックエンドに移動し、環境変数を使用

AI 使用状況の追跡がない

重大度: 高

メッセージ: AI使用状況を追跡していません - コスト制御の問題。

修正アクション: すべての API 呼び出しについてトークンとコストをログ

AI エラー処理がない

重大度: 高

メッセージ: AI エラーが適切に処理されていません。

修正アクション: try/catch、リトライロジック、ユーザーフレンドリーなエラーメッセージを追加

AI 出力検証がない

重大度: 中

メッセージ: AI 出力を検証していません。

修正アクション: 出力解析、検証、エラー処理を追加

レスポンスストリーミングがない

重大度: 低

メッセージ: ストリーミングを使用していません - UX を改善できます。

修正アクション: より優れた知覚パフォーマンスのためにストリーミングを実装

コラボレーション

委譲トリガー

  • prompt engineering|advanced LLM|fine-tuning -> llm-architect (高度な AI パターン)
  • SaaS|pricing|launch|business -> micro-saas-launcher (AI プロダクトビジネス)
  • frontend|UI|react -> frontend (AI プロダクトインターフェース)
  • backend|API|database -> backend (AI プロダクトバックエンド)
  • browser extension -> browser-extension-builder (AI ブラウザ拡張機能)
  • telegram bot -> telegram-bot-builder (AI Telegram ボット)

AI ライティングツール

スキル: ai-wrapper-product、frontend、micro-saas-launcher

ワークフロー:

1. 特定のライティングユースケースを定義
2. プロンプトテンプレートを設計
3. ストリーミング付き UI を構築
4. 使用状況追跡と制限を追加
5. 支払い処理を実装
6. ローンチして反復

AI ブラウザ拡張機能

スキル: ai-wrapper-product、browser-extension-builder

ワークフロー:

1. AI駆動機能を定義
2. 拡張機能構造を構築
3. バックエンド経由で AI API を統合
4. 使用制限を追加
5. Chrome ストアに公開

AI Telegram ボット

スキル: ai-wrapper-product、telegram-bot-builder

ワークフロー:

1. ボットの個性/目的を定義
2. Telegram ボットを構築
3. レスポンス用に AI を統合
4. マネタイゼーションを追加
5. ローンチして成長

関連スキル

相性が良い: llm-architectmicro-saas-launcherfrontendbackend

使用時機

  • ユーザーが以下を述べまたは暗示した場合: AI ラッパー
  • ユーザーが以下を述べまたは暗示した場合: GPT プロダクト
  • ユーザーが以下を述べまたは暗示した場合: AI ツール
  • ユーザーが以下を述べまたは暗示した場合: AI をラップ
  • ユーザーが以下を述べまたは暗示した場合: AI SaaS
  • ユーザーが以下を述べまたは暗示した場合: Claude API プロダクト

制限事項

  • このスキルは、タスクが上記で説明されているスコープと明確に一致する場合にのみ使用してください。
  • 出力を環境固有の検証、テスト、または専門家レビューの代替として扱わないでください。
  • 必要な入力、許可、安全境界、または成功基準が不足している場合は、停止して明確化を求めてください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
manu14357
リポジトリ
manu14357/zskills
ライセンス
MIT
最終更新
2026/5/6

Source: https://github.com/manu14357/zskills / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: manu14357 · manu14357/zskills · ライセンス: MIT