概要
このガイドでは、一般的な設定の問題、診断方法、および実績のある解決策について説明します。クイック診断
環境変数の確認
設定ファイルの検証
サービスの健康状態を確認
一般的な問題
1. サービスが起動しない
環境変数が不足している
症状:- サービスが即座にクラッシュする
- ログに「variable not set」エラーが表示される
- コンテナがコード1で終了する
- 少なくとも1つのLLMプロバイダーキー (OPENAI_API_KEY, ANTHROPIC_API_KEYなど)
- データベースの資格情報 (POSTGRES_*)
- Redis接続 (REDIS_*)
無効な設定構文
症状:- 「Failed to parse config」エラー
- YAML構文エラー
- サービスが起動しない
2. 認証失敗
ゲートウェイが401 Unauthorizedを返す
症状:- すべてのリクエストが401を返す
- 「Unauthorized」エラー
- APIキーが拒否される
JWTシークレットが設定されていない
症状:- 「JWT secret not configured」エラー
- 認証ミドルウェアが失敗する
3. データベース接続の問題
PostgreSQLに接続できない
症状:- 「connection refused」エラー
- 「dial tcp: connect: connection refused」
- サービスが起動時にクラッシュする
データベーススキーマが初期化されていない
症状:- 「table does not exist」エラー
- 「column not found」エラー
- ログにSQLエラーが表示される
4. Redis接続の問題
Redisに接続できない
症状:- Redisへの「connection refused」
- セッション状態が持続しない
- キャッシュミス
Redis 認証失敗
症状:- “NOAUTH Authentication required”
- 接続は成功するがコマンドが失敗する
5. LLM プロバイダーの問題
API キーが無効または期限切れ
症状:- “Invalid API key” エラー
- LLM プロバイダーからの 401
- タスクが即座に失敗する
レート制限超過
症状:- LLM プロバイダーからの 429 エラー
- ログに “Rate limit exceeded”
- タスクがタイムアウトまたは失敗する
クォータ超過
症状:- “insufficient_quota” エラー
- “You exceeded your current quota”
- すべての LLM 呼び出しが失敗する
6. モデル設定の問題
モデルが見つからない
症状:- “model not found” エラー
- “invalid model” エラー
- モデルエラーでタスクが失敗する
7. 予算とコストの問題
タスクが予算を超過
症状:- “Budget exceeded” エラー
- コストエラーでタスクが失敗する
MAX_COST_PER_REQUESTを超過
予算の強制が機能していない
症状:- コストが制限を超過
- 予算エラーがない
8. パフォーマンスの問題
タスク実行が遅い
症状:- タスクが予想の 2-3 倍の時間がかかる
- 高いレイテンシ
- タイムアウト
高いメモリ使用量
症状:- OOM エラー
- コンテナの再起動
- 高いスワップ使用
9. ストリーミングの問題
SSE接続の切断
症状:- SSEストリームが切断される
- タスクの途中でイベントが停止する
- “Connection closed” エラー
イベントが受信されない
症状:- ストリームにイベントがない
- 空のSSEレスポンス
- ストリームは接続されるがデータがない
10. ツール実行の問題
Pythonコードの実行失敗
症状:- “WASI interpreter not found”
- Pythonコードツールが失敗する
- サンドボックスエラー
ツールタイムアウト
症状:- “Tool execution timeout” エラー
- ツールが無限にハングする
- WASIタイムアウトエラー
設定の検証
すべての設定を検証
ベストプラクティス
1. 環境ごとの設定を使用
2. カスタム設定を文書化
3. バージョン管理
4. 定期的な検証
5. 設定の監視
クイックフィックスチェックリスト
問題が発生した場合、次の手順を順に試してください:- すべてのサービスを再起動:
docker compose restart - ログを確認:
docker compose logs --tail=50 - .envファイルが存在し、必要な変数が設定されているか確認
- データベース接続をテスト:
docker compose exec postgres pg_isready - Redisをテスト:
docker compose exec redis redis-cli ping - 少なくとも1つのLLM APIキーが設定されているか確認
- ディスクスペースを確認:
df -h - メモリを確認:
docker stats - 完全リセット(最終手段):
docker compose down -v && docker compose up -d
ヘルプを得る
問題が解決しない場合:-
ログを収集:
-
設定をエクスポート:
- GitHubの問題を確認: https://github.com/Kocoro-lab/Shannon/issues
- Discordに参加: https://discord.gg/NB7C2fMcQR