Communitygithub.com

marrakechinmorocco/sktk

統一API、ガードレール、永続セッション、マルチエージェントオーケストレーション、組み込み検索により、Python LLMエージェントの構築を簡素化します。

sktk とは?

sktkは、PythonベースのLLMエージェントを簡単に構築できるように設計された統一フレームワークです。このフレームワークは、複数のLLMプロバイダとツールを統一されたAPIで扱えるようにし、開発者の複雑性を低減します。特に、ガードレール(出力制限やポリシー検証)、永続的なセッション管理、複数のエージェントを協調動作させるオーケストレーション機能、そしてRAG対応の組み込み検索機能を備えているため、信頼性と拡張性の高いエージェントを迅速に構築できます。対応プラットフォームとしてClaude CodeやCodyを想定しており、エージェント同士の対話や外部API連携もシームレスに行えます。非同期処理、ミドルウェア、トレーシングといった高度な機能もサポートし、プロトタイピングから本番運用まで一貫したワークフローを提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add marrakechinmorocco/sktk

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

sktk は何をしますか?

統一API、ガードレール、永続セッション、マルチエージェントオーケストレーション、組み込み検索により、Python LLMエージェントの構築を簡素化します。

概要

sktkは、PythonでLLMエージェントを構築するための高レベルフレームワークです。複雑な内部処理を抽象化し、以下の機能を提供します:

  • 統一API: OpenAI、Anthropic、Google、ローカルモデルなど、あらゆるLLMプロバイダを単一のインターフェースで扱えます。
  • ガードレール: 入出力の検証、ポリシーベースの制約、コンテンツフィルタリングを組み込みサポート。
  • 永続セッション: 会話履歴やエージェントの状態を外部ストレージ(Redis、PostgreSQL、ファイルなど)に保存・復元。
  • マルチエージェントオーケストレーション: 複数のエージェントを協調させ、複雑なタスクを分解・委譲することが可能。
  • 組み込み検索: RAG(Retrieval-Augmented Generation)に対応し、ベクトルデータベースやドキュメントインデックスからの情報取得。

対応プラットフォーム

  • Cody
  • Claude Code

クイックスタート

pip install sktk
from sktk import Agent, Tool

agent = Agent(
    model="gpt-4",
    system_prompt="あなたは有能なアシスタントです。"
)

response = agent.run("Pythonでファイルを読み込む方法を教えてください。")
print(response)

主な機能

ガードレール

from sktk import Guardrail

# 機密情報の漏洩を防止
guard = Guardrail(
    rules=["機密情報の出力を禁止"],
    action="block"
)

agent = agent.with_guardrail(guard)

永続セッション

from sktk import SessionStore

store = SessionStore(type="redis", url="redis://localhost:6379")
session = agent.create_session(store=store)

# 後で続きから再開
agent.resume_session(session_id=session.id)

マルチエージェント

from sktk import Agent, Orchestrator

researcher = Agent(model="claude-3", system_prompt="調査を担当します。")
writer = Agent(model="gpt-4", system_prompt="文章作成を担当します。")

orchestrator = Orchestrator()
orchestrator.add_agent(researcher)
orchestrator.add_agent(writer)

result = orchestrator.run("量子コンピュータについてレポートを作成してください。")

組み込み検索(RAG)

from sktk import Retriever

retriever = Retriever(
    backend="chroma",
    collection_name="docs"
)
agent = agent.with_retriever(retriever)

# ドキュメントを追加
agent.load_documents("./knowledge_base/")
answer = agent.run("最新の研究動向を教えてください。")

詳細設定

環境変数で動作をカスタマイズできます:

  • OPENAI_API_KEY: OpenAI APIキー
  • ANTHROPIC_API_KEY: Anthropic APIキー
  • SKTK_LOG_LEVEL: ログレベル(DEBUG, INFO, WARNING, ERROR)
  • SKTK_SESSION_STORE: デフォルトのセッションストアURL

ドキュメント

詳細なドキュメントはこちらをご覧ください。

ライセンス

MIT

関連スキル