メインコンテンツへスキップ

最初のタスク

Shannonにシンプルなタスクを送信して、実際の動作を確認しましょう。このガイドは、インストールが完了していることを前提としています。

REST APIの使用

Shannonと対話する最もシンプルな方法はREST APIを使用することです:
curl -X POST http://localhost:8080/api/v1/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "query": "次の文の感情を分析してください:ShannonはAIエージェントをシンプルで信頼性の高いものにします!"
  }'
次のようなレスポンスが返されます:
{
  "task_id": "task-dev-1730000000",
  "status": "TASK_STATUS_RUNNING",
  "message": "Task submitted",
  "created_at": "2024-10-22T10:30:00Z"
}

タスクステータスの確認

task_idを使用してステータスを確認:
curl http://localhost:8080/api/v1/tasks/task-dev-1730000000
レスポンス:
{
  "task_id": "task-dev-1730000000",
  "status": "TASK_STATUS_COMPLETED",
  "response": { "result": "The sentiment is overwhelmingly positive..." },
  "error": "",
  "query": "次の文の感情を分析してください:ShannonはAIエージェントをシンプルで信頼性の高いものにします!",
  "session_id": "...",
  "mode": "EXECUTION_MODE_STANDARD",
  "created_at": "2024-10-22T10:30:00Z",
  "updated_at": "2024-10-22T10:30:25Z"
}

リアルタイムでイベントをストリーミング

ShannonはServer-Sent Events (SSE)によるリアルタイム更新をサポートしています:
curl -N http://localhost:8080/api/v1/stream/sse?workflow_id=task-dev-1730000000
イベントがリアルタイムで表示されます:
event: LLM_PROMPT
data: {"message":"Analyzing sentiment..."}

event: WORKFLOW_COMPLETED
data: {"result":"The sentiment is positive..."}

Python SDKの使用

より良い開発者体験のために、Python SDKを使用してください:

インストール

pip install shannon-sdk

タスクの送信と監視

from shannon import ShannonClient

# HTTPクライアント(デフォルト: http://localhost:8080)
client = ShannonClient()

handle = client.submit_task(
    query="次の文の感情を分析してください:ShannonはAIエージェントをシンプルにします!"
)
print("Task submitted:", handle.task_id)

# 完了を待機
final = client.wait(handle.task_id, timeout=60)
print("Result:", final.result)

イベントのストリーミング

# リアルタイムでイベントをストリーミング
for event in client.stream(handle.workflow_id):
    print(f"{event.type}: {event.message}")

実行モード

Shannonはタスクの複雑さに基づいて実行モードを自動選択します。タスク送信時に mode パラメータ(simplestandardcomplexsupervisor)を指定して上書きすることもできます。

コスト管理

予算管理はShannonによって管理されます。REST経由でのリクエストごとの明示的な予算設定はまだ利用できません。

マルチターン会話

Shannonはセッションベースの会話をサポートしています:
session_id = "my-conversation-123"

# 最初のメッセージ
handle1 = client.submit_task(
    query="フランスの首都はどこですか?",
    session_id=session_id
)

# フォローアップメッセージ(Shannonはコンテキストを記憶)
handle2 = client.submit_task(
    query="人口はどのくらいですか?",
    session_id=session_id
)

# Shannonはパリの人口について尋ねていることを理解します

Desktop Appの使用

タスクとセッションのグラフィカルビューには、Shannon Desktop Application(Tauriベースのクライアント)を使用してください。インストールと使用方法の詳細については、Desktop Applicationを参照してください。

ユースケース例

Shannonはクエリの複雑さに基づいて適切な実行モードと認知戦略を自動的に選択します。これらのパラメータを指定する必要はありません。

感情分析

client.submit_task(
    query="感情を分析してください:この製品は期待を超えました!"
)

リサーチ & 要約

client.submit_task(
    query="2024年の量子コンピューティングのブレークスルーを調査し、要約を作成してください"
)

コード生成

client.submit_task(
    query="メモ化を使用してフィボナッチ数を計算するPython関数を書いてください"
)

コンテキスト付き複雑な分析

client.submit_task(
    query="マイクロサービスとモノリシックアーキテクチャのメリットとデメリットを比較してください",
    context={
        "domain": "software_architecture",
        "depth": "comprehensive",
        "include_examples": True
    }
)

次のステップ

コアコンセプト

Agent、Workflow、認知パターンについて学ぶ

APIリファレンス

すべてのAPIエンドポイントとパラメータを探索

Python SDKガイド

SDK機能と非同期使用の詳細

設定

ニーズに合わせてShannonをカスタマイズ

トラブルシューティング

ログでエラーを確認してください:
docker compose logs orchestrator
docker compose logs agent-core
よくある原因:
  • 無効なLLM APIキー
  • LLMプロバイダーのレート制限
  • ネットワーク接続の問題
Shannonはデフォルトで認証を無効にして実行されます(GATEWAY_SKIP_AUTH=1)。認証を有効にしている場合は、APIキーを含めてください:
curl -H "X-API-Key: sk_test_123456" \
  http://localhost:8080/api/v1/tasks
予算制限は環境変数を介してプラットフォームレベルで設定されます:
# .envファイル内
MAX_TOKENS_PER_REQUEST=10000
MAX_COST_PER_REQUEST=0.50

# 変更を有効にするためにサービスを再起動
docker compose restart
タスクごとの監視については、ステータスエンドポイントまたはストリーミングイベントを介してコストを確認してください。