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

dual-model-strategy

LLMシステムの設計パターン。小規模ローカルモデル(Ollama 4B-8B)と大規模クラウドモデル(GPT-5、Claude Sonnet/Opus)の両方に対応したアーキテクチャを実現します。スキーマ設計、プロンプト適応、プロバイダー抽象化、テスト戦略、コスト最適化を含めた包括的な実装方法を学べます。

description の原文を見る

Design patterns for LLM systems targeting both small local models (Ollama 4B-8B) and large cloud models (GPT-5, Claude Sonnet/Opus) — schema design, prompt adaptation, provider abstraction, testing strategy, and cost optimization

SKILL.md 本文

コアの課題

同じパイプラインが4B OllamaモデルとGPT-5の両方で許容できる結果を生成する必要があります。制約条件(小規模モデル)を考慮して設計し、その後大規模モデルが自然に優れた成果を上げるようにします。

モデル能力マトリックス

能力4B-8B (Ollama)GPT-4o / SonnetGPT-5 / Opus
構造化出力format="json" が必要with_structured_output()信頼性が高い
スキーマの複雑さフラット、<10フィールド中程度のネスト深いネスティングもOK
ツール使用最大1-3個5-10個10個以上
コンテキストウィンドウ4K-8K実用的128K200K以上
思考の連鎖(Chain-of-thought)しばしば悪影響役に立つ大幅に役に立つ
温度の最適値00-0.30-0.5
プロンプト予算<1000トークン<4000トークン<8000トークン

デュアルモデル向けスキーマ設計

from pydantic import BaseModel, Field

# 良い例: フラットスキーマ、説明的なフィールド、インライン列挙値
class ExtractedEntity(BaseModel):
    name: str = Field(description="Entity name as it appears in text")
    entity_type: str = Field(description="e.g., person, organization, location, event")
    confidence: float = Field(ge=0.0, le=1.0, description="Extraction confidence score")
    tags: list[str] = Field(description="1-4 relevant tags", min_length=1, max_length=4)

# 悪い例: 深くネストされた構造、複雑な型、曖昧なフィールド
class ExtractedEntity(BaseModel):
    metadata: MetadataBlock           # ネスティング = 小規模モデルでは失敗
    attributes: dict[str, list[Any]]  # dict[str, list] は小規模モデルを混乱させる

ルール

  • スキーマはフラットに保つ(最大1レベルのネスティング)。
  • LLMが生成するフィールドには、Literal/Enum より説明文と例付きの str を使用する。
  • 必須文字列に min_length=1 を設定して空の値を捕捉する。
  • 無制限のリストではなく、最小値/最大値付きの list[str] を使用する。
  • フィールド説明がプロンプト指示を兼ねるように提供する。

プロンプト適応パターン

def build_prompt(task: str, model_size: str) -> str:
    """モデルの能力に応じてプロンプトの複雑さを適応させる。"""
    core = TASK_TEMPLATES[task]  # 共有タスク定義

    if model_size == "small":
        # 推論命令を削除し、厳密なフォーマット仕様を追加
        return f"{FORMAT_SPEC}\n\n{core}\n\n{WORKED_EXAMPLE}\n\n{FORMAT_SPEC}"
    else:
        # ニュアンスを追加し、探索を許可
        return f"{SYSTEM_CONTEXT}\n\n{core}\n\n{CONSTRAINTS}\n\n{FORMAT_SPEC}"

プロバイダー抽象化

# フェーズ固有のプロバイダー選択
providers:
  default: ollama/qwen3:4b-instruct      # 低コストのデフォルト
  discuss: ollama/qwen3:4b-instruct      # ツール有効な探索
  summarize: openai/gpt-4o              # ナラティブ品質
  serialize: openai/o1-mini             # 構造化出力の精度

優先順位: CLIフラグ → 環境変数 → プロジェクト設定 → デフォルト

テスト戦略

ユニットテスト(モデル非依存)

  • 手作業で作成したフィクスチャでスキーマ検証をテストする。
  • プロンプトテンプレートレンダリングをテストする。
  • ツール結果パースをテストする。
  • LLM呼び出しなし。高速。無料。

スモークテスト(モデルクラスごと)

  • 各ステージを1つの代表的な入力で各モデルサイズで実行する。
  • アサーション: 出力がパースされる、必須フィールドが存在する、検証エラーがない。
  • 費用がかかる。選択的に実行する。

ベンチマーク

  • ステージごとに10-20個の入力テストセット。
  • メトリクス: パース成功率、フィールド精度、トークンコスト、レイテンシ。
  • モデル間で比較。回帰を追跡する。
  • 主な知見: 制約付き生成を使用する場合、小規模モデルは構造化タスクで大規模モデルを上回ることがあります。

コスト最適化

  • 開発中の探索/反復には小規模モデルを使用する。
  • 大規模モデルは最終品質と難しいタスク(要約、複雑な推論)のみに使用する。
  • 決定論的な呼び出し(temp=0、同じプロンプトハッシュ)をキャッシュする。
  • 可能な限り関連する呼び出しをバッチ処理する。
  • structlogを介してステージごとのトークン使用量を監視する。

フォールバックチェーン

# プログレッシブフォールバック: 低コスト → 高コスト を試す
fallback_order = [
    "ollama/qwen3:4b-instruct",   # 無料、高速
    "ollama/llama3.3:8b",         # 無料、品質向上
    "openai/gpt-4o-mini",         # 低コストクラウド
    "openai/gpt-4o",              # フルクラウド
    "anthropic/claude-sonnet",     # 代替クラウド
]

小規模モデルの出力が使用不可能な場合を検出するように検証を設計し、次のティアに自動的にエスカレートさせます。

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

詳細情報

作者
pvliesdonk
リポジトリ
pvliesdonk/agents.md
ライセンス
MIT
最終更新
2026/3/21

Source: https://github.com/pvliesdonk/agents.md / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

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