helicone
アプリケーションとLLMプロバイダーの間に入り、リクエストの記録、キャッシュ、レート制限、コスト分析などを実現し、OpenAIやAnthropicなど様々なプロバイダーと容易に連携できるLLMの可観測性を高めるSkill。
📜 元の英語説明(参考)
LLM observability proxy that sits between your app and LLM providers. Logs every request, enables caching, rate limiting, and provides cost analytics. Works with OpenAI, Anthropic, and other providers with a one-line integration change.
🇯🇵 日本人クリエイター向け解説
アプリケーションとLLMプロバイダーの間に入り、リクエストの記録、キャッシュ、レート制限、コスト分析などを実現し、OpenAIやAnthropicなど様々なプロバイダーと容易に連携できるLLMの可観測性を高めるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o helicone.zip https://jpskill.com/download/14977.zip && unzip -o helicone.zip && rm helicone.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14977.zip -OutFile "$d\helicone.zip"; Expand-Archive "$d\helicone.zip" -DestinationPath $d -Force; ri "$d\helicone.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
helicone.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
heliconeフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Helicone
プロキシ統合 (OpenAI Python)
# helicone_proxy.py — OpenAI の呼び出しを Helicone プロキシ経由でルーティングしてログを記録します
from openai import OpenAI
client = OpenAI(
api_key="sk-your-openai-key",
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
プロキシ統合 (Anthropic)
# helicone_anthropic.py — Anthropic の呼び出しを Helicone プロキシ経由でルーティングします
from anthropic import Anthropic
client = Anthropic(
api_key="sk-ant-xxxx",
base_url="https://anthropic.helicone.ai",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
},
)
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain caching."}],
)
カスタムプロパティとユーザートラッキング
# custom_properties.py — ダッシュボードでフィルタリングするためのメタデータをリクエストに追加します
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={"Helicone-Auth": "Bearer sk-helicone-xxxx"},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Help me with billing"}],
extra_headers={
"Helicone-User-Id": "user-123",
"Helicone-Session-Id": "session-abc",
"Helicone-Property-Feature": "support-chat",
"Helicone-Property-Environment": "production",
"Helicone-Property-Ticket-Id": "T-5678",
},
)
キャッシュ
# caching.py — 繰り返しクエリのコストを削減するためにレスポンスキャッシュを有効にします
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-Cache-Enabled": "true",
},
)
# 最初の呼び出しは API にヒットします
response1 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "What is 2+2?"}],
)
# 2 回目の同一の呼び出しはキャッシュされたレスポンスを返します (API コストはかかりません)
response2 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "What is 2+2?"}],
)
# グルーピングのためのカスタムキャッシュバケット
response3 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Summarize our FAQ"}],
extra_headers={"Helicone-Cache-Bucket-Max-Size": "3"},
)
レート制限
# rate_limiting.py — ヘッダーを介してユーザーごとまたはグローバルにレート制限を適用します
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-RateLimit-Policy": "10;w=60;s=user", # ユーザーあたり 60 秒あたり 10 リクエスト
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}],
extra_headers={
"Helicone-User-Id": "user-123",
},
)
再試行とフォールバック
# retries.py — 失敗時の自動再試行を設定します
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-Retry-Enabled": "true",
"Helicone-Retry-Num": "3",
"Helicone-Retry-Factor": "2", # 指数バックオフ係数
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Analyze this data"}],
)
非同期ロギング (Node.js)
// helicone_async.ts — リクエストパスでのプロキシのレイテンシを回避するために非同期ロギングを使用します
import OpenAI from "openai";
import { HeliconeAsyncLogger } from "@helicone/helicone";
const logger = new HeliconeAsyncLogger({
apiKey: "sk-helicone-xxxx",
});
logger.init();
const openai = new OpenAI();
const response = await openai.chat.completions.create({
model: "gpt-4",
messages: [{ role: "user", content: "Hello" }],
});
// 非同期でログを記録します — ユーザーリクエストへのレイテンシは追加されません
await logger.log(response, {
userId: "user-123",
properties: { feature: "chat" },
});
フィードバックとスコアリング
# 品質追跡のために Helicone API 経由でリクエストをスコアリングします
curl -X POST https://api.helicone.ai/v1/request/{request-id}/feedback \
-H "Authorization: Bearer sk-helicone-xxxx" \
-H "Content-Type: application/json" \
-d '{"rating": true}'
# scoring_api.py — プログラムでリクエストをスコアリングします
import requests
def score_request(request_id: str, rating: bool):
requests.post(
f"https://api.helicone.ai/v1/request/{request_id}/feedback",
headers={"Authorization": "Bearer sk-helicone-xxxx"},
json={"rating": rating},
)
主要な概念
- プロキシモード:
base_urlを変更して Helicone 経由でルーティングします — それ以外はコード変更は不要です - 非同期ロギング: 本番環境でのレイテンシオーバーヘッドをゼロにするために、後からログを記録します
- ヘッダーベースの設定: すべての機能は HTTP ヘッダーを介して制御されます — SDK ロックインはありません
- コスト追跡: リクエスト、ユーザー、およびモデルごとの自動トークンカウントとコスト計算
- カスタムプロパティ: フィルタリングと分析のために、任意なキーと値のペアでリクエストにタグを付けます
- キャッシュ: 同一のリクエストをキャッシュしてコストを削減します。設定可能な TTL とバケットサイズ
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Helicone
Proxy Integration (OpenAI Python)
# helicone_proxy.py — Route OpenAI calls through Helicone proxy for logging
from openai import OpenAI
client = OpenAI(
api_key="sk-your-openai-key",
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
Proxy Integration (Anthropic)
# helicone_anthropic.py — Route Anthropic calls through Helicone proxy
from anthropic import Anthropic
client = Anthropic(
api_key="sk-ant-xxxx",
base_url="https://anthropic.helicone.ai",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
},
)
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain caching."}],
)
Custom Properties and User Tracking
# custom_properties.py — Add metadata to requests for filtering in the dashboard
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={"Helicone-Auth": "Bearer sk-helicone-xxxx"},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Help me with billing"}],
extra_headers={
"Helicone-User-Id": "user-123",
"Helicone-Session-Id": "session-abc",
"Helicone-Property-Feature": "support-chat",
"Helicone-Property-Environment": "production",
"Helicone-Property-Ticket-Id": "T-5678",
},
)
Caching
# caching.py — Enable response caching to reduce costs on repeated queries
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-Cache-Enabled": "true",
},
)
# First call hits the API
response1 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "What is 2+2?"}],
)
# Second identical call returns cached response (no API cost)
response2 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "What is 2+2?"}],
)
# Custom cache bucket for grouping
response3 = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Summarize our FAQ"}],
extra_headers={"Helicone-Cache-Bucket-Max-Size": "3"},
)
Rate Limiting
# rate_limiting.py — Apply rate limits per user or globally via headers
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-RateLimit-Policy": "10;w=60;s=user", # 10 req per 60s per user
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}],
extra_headers={
"Helicone-User-Id": "user-123",
},
)
Retries and Fallbacks
# retries.py — Configure automatic retries on failures
from openai import OpenAI
client = OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={
"Helicone-Auth": "Bearer sk-helicone-xxxx",
"Helicone-Retry-Enabled": "true",
"Helicone-Retry-Num": "3",
"Helicone-Retry-Factor": "2", # Exponential backoff factor
},
)
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Analyze this data"}],
)
Async Logging (Node.js)
// helicone_async.ts — Use async logging to avoid proxy latency in the request path
import OpenAI from "openai";
import { HeliconeAsyncLogger } from "@helicone/helicone";
const logger = new HeliconeAsyncLogger({
apiKey: "sk-helicone-xxxx",
});
logger.init();
const openai = new OpenAI();
const response = await openai.chat.completions.create({
model: "gpt-4",
messages: [{ role: "user", content: "Hello" }],
});
// Log asynchronously — no added latency to user requests
await logger.log(response, {
userId: "user-123",
properties: { feature: "chat" },
});
Feedback and Scoring
# Score a request via the Helicone API for quality tracking
curl -X POST https://api.helicone.ai/v1/request/{request-id}/feedback \
-H "Authorization: Bearer sk-helicone-xxxx" \
-H "Content-Type: application/json" \
-d '{"rating": true}'
# scoring_api.py — Score requests programmatically
import requests
def score_request(request_id: str, rating: bool):
requests.post(
f"https://api.helicone.ai/v1/request/{request_id}/feedback",
headers={"Authorization": "Bearer sk-helicone-xxxx"},
json={"rating": rating},
)
Key Concepts
- Proxy mode: Change
base_urlto route through Helicone — zero code changes otherwise - Async logging: Log after the fact for zero-latency overhead in production
- Headers-based config: All features controlled via HTTP headers — no SDK lock-in
- Cost tracking: Automatic token counting and cost calculation per request, user, and model
- Custom properties: Tag requests with arbitrary key-value pairs for filtering and analytics
- Cache: Reduce costs by caching identical requests; configurable TTL and bucket sizes