Skip to content

Commit d276584

Browse files
committed
生成速度アップとTeir増加
1 parent bfcec90 commit d276584

File tree

12 files changed

+177
-165
lines changed

12 files changed

+177
-165
lines changed

backend/app/core/prompts.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,17 @@
7777
7878
## CRITICAL: ノード数の配分(下に行くほど多く)
7979
80-
**【必須】Tier 0からTier 5までのノード数配分:**
81-
- Tier 0(基礎): 1-2個
80+
**【必須】Tier 0からTier 5までのノード数配分(厳格に遵守):**
81+
- Tier 0(基礎): 1-2個 ← 最上層、最小
8282
- Tier 1(初級): 2-4個
8383
- Tier 2(中級): 4-8個
8484
- Tier 3(応用): 8-12個
8585
- Tier 4(高度): 12-16個
86-
- Tier 5(極限): 16-20個
86+
- Tier 5(極限): 16-20個 ← 最下層、最大
87+
88+
**三角形△構造の形成:**
89+
上に行くほど狭く、下に行くほど広い逆三角形を形成。
90+
各Tierで**指定範囲内でできるだけ多くのノード**を生成すること。
8791
8892
**依存関係のルール:**
8993
- 各ノードのprerequisitesは、**必ず一つ前のTierのノード**のみを指定
@@ -103,19 +107,20 @@
103107
- 良い例: "TypeScript型設計" (簡潔)
104108
- 良い例: "REST API設計" (簡潔)
105109
106-
## 説明(description)の要件:
107-
- **スキル名で伝えきれない詳細情報をここに記載**
108-
- 最低60文字以上
109-
- 何ができるようになるか、関連技術・ツール・パターン名を含める
110+
## 説明(desc)の要件:
111+
- **スキル名で伝えきれない詳細情報を簡潔に記載**
112+
- 30文字以内の簡潔な説明
113+
- 何ができるようになるかのポイントのみ
110114
111115
## 出力ルール:
112116
1. **合計50-60ノード程度**(Tier 0からTier 5まで、下層ほど多く)
113117
2. completed:trueは習得済みのみ
114118
3. prerequisitesを正確に設定
119+
4. **CRITICAL: 下層(Tier 3-5)ほど、指定範囲の上限に近い数を生成**
115120
116121
## 出力形式(JSON)
117122
```json
118-
{{"nodes":[{{"id":"skill-id","name":"キーワード(3-5単語)","completed":true/false,"description":"最低60文字以上の詳細な説明。何ができるようになるか、関連技術・ツール・パターン名を含める","prerequisites":[],"estimated_hours":30}}],"edges":[{{"from":"a","to":"b"}}],"metadata":{{"total_nodes":30,"completed_nodes":1,"progress_percentage":3.3,"next_recommended":["x","y","z"]}}}}
123+
{{"nodes":[{{"id":"skill-id","name":"キーワード(3-5単語)","completed":true/false,"desc":"30文字以内の簡潔な説明","prerequisites":[],"hours":30}}],"edges":[{{"from":"a","to":"b"}}],"metadata":{{"total_nodes":30,"completed_nodes":1,"progress_percentage":3.3,"next_recommended":["x","y","z"]}}}}
119124
```
120125
121126
**重要: Tier 0からTier 5まで、下層ほどノード数を増やし、段階的に広がる三角形△を形成(合計50-60ノード程度)**。JSON形式のみ出力してください(説明不要)。"""

backend/app/core/prompts_streaming.py

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,17 @@
1111
1212
## CRITICAL: ノード数の配分(下に行くほど多く)
1313
14-
**【必須】Tier 0からTier 5までのノード数配分:**
15-
- Tier 0(基礎): 1-2個
14+
**【必須】Tier 0からTier 5までのノード数配分(厳格に遵守):**
15+
- Tier 0(基礎): 1-2個 ← 最上層、最小
1616
- Tier 1(初級): 2-4個
1717
- Tier 2(中級): 4-8個
1818
- Tier 3(応用): 8-12個
1919
- Tier 4(高度): 12-16個
20-
- Tier 5(極限): 16-20個
20+
- Tier 5(極限): 16-20個 ← 最下層、最大
21+
22+
**三角形△構造の形成:**
23+
上に行くほど狭く、下に行くほど広い逆三角形を形成。
24+
各Tierで**指定範囲内でできるだけ多くのノード**を生成すること。
2125
2226
**依存関係のルール:**
2327
- 各ノードのprerequisitesは、**必ず一つ前のTierのノード**のみを指定
@@ -34,20 +38,20 @@
3438
- **キーワード中心、3-5単語以内**
3539
- **名詞・技術用語のみ、動詞は不要**
3640
37-
## 説明(description)の要件:
38-
- **スキル名で伝えきれない詳細情報をここに記載**
39-
- 最低60文字以上の詳細な説明
40-
- 何ができるようになるか、関連技術・ツール・パターン名を含める
41+
## 説明(desc)の要件:
42+
- **スキル名で伝えきれない詳細情報を簡潔に記載**
43+
- 30文字以内の簡潔な説明
44+
- 何ができるようになるかのポイントのみ
4145
4246
## 生成手順(厳守):
43-
1. Tier 0: 1-2個のノードを出力
47+
1. Tier 0: 1-2個のノードを出力(少なく)
4448
2. Tier 1: 2-4個のノードを出力
45-
3. Tier 2: 4-8個のノードを出力
46-
4. Tier 3: 8-12個のノードを出力
47-
5. Tier 4: 12-16個のノードを出力
48-
6. Tier 5: 16-20個のノードを出力
49+
3. Tier 2: 4-8個のノードを出力(範囲内でできるだけ多く)
50+
4. Tier 3: 8-12個のノードを出力(範囲内でできるだけ多く)
51+
5. Tier 4: 12-16個のノードを出力(範囲内でできるだけ多く)
52+
6. Tier 5: 16-20個のノードを出力(最も多く)
4953
50-
**Tierが深くなるほど、ノード数を増やす**
54+
**CRITICAL: 下層(Tier 3-5)ほど、指定範囲の上限に近い数を生成**
5155
各ノードのprerequisites: [一つ前のTierのノード]
5256
5357
## 出力ルール:
@@ -56,24 +60,13 @@
5660
3. **出力順序**: Tier 0 → Tier 1 → Tier 2 → Tier 3 → Tier 4 → Tier 5
5761
4. JSON Lines形式: 1行1ノード、```jsonは不要
5862
59-
## 例(8ノード - 4層構造、キーワード中心の短い名前):
60-
{{"type":"node","id":"web_foundation","name":"HTTP/HTML/CSS基礎","completed":true,"description":"HTTPリクエスト/レスポンスの仕組み、HTMLのセマンティック構造、CSSのボックスモデルとレイアウト、ブラウザのレンダリングプロセスを理解し、基本的なWebページを構築できる","prerequisites":[],"estimated_hours":30}}
61-
{{"type":"node","id":"web_js_basic","name":"JavaScript基礎文法","completed":false,"description":"変数、関数、オブジェクト、配列、制御構文などJavaScriptの基本文法を理解し、DOMイベントや非同期処理(Promise/async-await)を用いた動的なWebページを実装できる","prerequisites":["web_foundation"],"estimated_hours":25}}
62-
{{"type":"node","id":"web_rest_api","name":"REST API設計","completed":false,"description":"RESTfulなAPIエンドポイント設計の原則を理解し、HTTPメソッド(GET/POST/PUT/DELETE)とステータスコードを適切に使い分けた基本的なAPIを設計・実装できる","prerequisites":["web_foundation"],"estimated_hours":20}}
63-
{{"type":"node","id":"web_css_advanced","name":"CSS設計","completed":false,"description":"Flexbox/Gridレイアウト、レスポンシブデザイン、BEM等のCSS設計手法を理解し、保守性の高いスタイルシートを構築できる","prerequisites":["web_foundation"],"estimated_hours":15}}
64-
{{"type":"node","id":"web_react","name":"Reactコンポーネント設計","completed":false,"description":"Propsによるデータの受け渡しだけでなく、useEffect等のライフサイクルを用いて、APIリクエストのタイミングやクリーンアップを適切に制御し、再利用可能なコンポーネントを設計できる","prerequisites":["web_js_basic"],"estimated_hours":30}}
65-
{{"type":"node","id":"web_typescript","name":"TypeScript型設計","completed":false,"description":"型システムを活用してコンパイル時エラーを検出し、Interface/Type Alias/Genericsを用いた堅牢なAPI型定義とビジネスロジックを実装できる","prerequisites":["web_js_basic"],"estimated_hours":25}}
66-
{{"type":"node","id":"web_db_design","name":"データベース正規化","completed":false,"description":"データの重複を排除した3層正規化設計を行い、複数のテーブルを結合(JOIN)して必要な情報を効率的に抽出するSQLを構築できる","prerequisites":["web_rest_api"],"estimated_hours":25}}
67-
{{"type":"node","id":"web_nextjs","name":"Next.jsフルスタック開発","completed":false,"description":"SSR/CSR/ISRのハイブリッドレンダリング制御、App Router、Server Actionsを用いて、パフォーマンスとSEOを最適化したフルスタックアプリを構築できる","prerequisites":["web_react","web_typescript"],"estimated_hours":40}}
63+
## 例(3ノード - フォーマット参考のみ):
64+
{{"type":"node","id":"web_foundation","name":"HTTP/HTML/CSS基礎","completed":true,"desc":"HTTPとHTMLの仕組み理解","prerequisites":[],"hours":30}}
65+
{{"type":"node","id":"web_js_basic","name":"JavaScript基礎","completed":false,"desc":"変数・関数・非同期処理の実装","prerequisites":["web_foundation"],"hours":25}}
66+
{{"type":"node","id":"web_react","name":"React設計","completed":false,"desc":"Component設計とHooks活用","prerequisites":["web_js_basic"],"hours":30}}
6867
{{"type":"edge","from":"web_foundation","to":"web_js_basic"}}
69-
{{"type":"edge","from":"web_foundation","to":"web_rest_api"}}
70-
{{"type":"edge","from":"web_foundation","to":"web_css_advanced"}}
7168
{{"type":"edge","from":"web_js_basic","to":"web_react"}}
72-
{{"type":"edge","from":"web_js_basic","to":"web_typescript"}}
73-
{{"type":"edge","from":"web_rest_api","to":"web_db_design"}}
74-
{{"type":"edge","from":"web_react","to":"web_nextjs"}}
75-
{{"type":"edge","from":"web_typescript","to":"web_nextjs"}}
76-
{{"type":"metadata","total_nodes":50,"completed_nodes":1,"progress_percentage":2.0,"next_recommended":["web_js_basic","web_rest_api"]}}
69+
{{"type":"metadata","total_nodes":50,"completed_nodes":1,"progress_percentage":2.0,"next_recommended":["web_js_basic"]}}
7770
7871
**【CRITICAL】Tier 0からTier 5まで、深くなるほどノード数を増やす:**
7972
@@ -88,7 +81,7 @@
8881
8982
**合計50-60ノード** - 下に行くほど数を増やし、三角形△を形成
9083
91-
名前は短く(3-5単語)、詳細はdescriptionで
84+
名前は短く(3-5単語)、詳細はdescで(30文字以内)
9285
9386
説明や```json不要。上記の構成で1行1JSONを出力開始:
9487
"""

0 commit comments

Comments
 (0)