From 63b01db83d9aad8a15276b4236a9a22e4aeef065 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 05 五月 2026 12:30:59 +0800
Subject: [PATCH] # Agent数据分析V3.0.1.7

---
 src/main/java/com/zy/ai/utils/AiPromptUtils.java |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/ai/utils/AiPromptUtils.java b/src/main/java/com/zy/ai/utils/AiPromptUtils.java
index 6abe1ba..0a499f3 100644
--- a/src/main/java/com/zy/ai/utils/AiPromptUtils.java
+++ b/src/main/java/com/zy/ai/utils/AiPromptUtils.java
@@ -17,9 +17,9 @@
 
     private static final String AUTO_TUNE_RULE_SNAPSHOT_INSTRUCTIONS =
             "Step 4 璇诲彇璋冨弬瑙勫垯\n" +
-                    "- 蹇呴』璇诲彇 snapshot.ruleSnapshot 涓殑 minValue銆乵axValue銆乵axStep銆乧ooldownMinutes銆乨ynamicMaxValue 鍜� dynamicMaxSource銆俓n" +
+                    "- 蹇呴』璇诲彇 snapshot.ruleSnapshot 涓殑 minValue銆乵axValue銆乵axStep銆乧ooldownMinutes銆佽鍒� note锛屼互鍙婅鍒欐槑纭彁渚涚殑 dynamicMaxValue 鍜� dynamicMaxSource銆俓n" +
                     "- 鎵�鏈夋彁浜ょ粰 " + AUTO_TUNE_TOOL_APPLY_CHANGES + " 鐨� change 閮藉繀椤诲尮閰嶅搴� targetType/targetKey 鐨勮鍒欍�俓n" +
-                    "- 姣忎釜鐩爣鍙傛暟鐨勬柊鍊煎繀椤绘弧瓒冲搴� minValue銆乵axValue 鎴� dynamicMaxValue銆乵axStep銆乧ooldownMinutes 鍜岃鍒� note锛涙壘涓嶅埌瑙勫垯鎴栨棤娉曡瘉鏄庡姩鎬佷笂闄愭椂绂佹鎻愪氦銆�";
+                    "- 姣忎釜鐩爣鍙傛暟鐨勬柊鍊煎繀椤绘弧瓒冲搴� minValue銆乵axValue銆乵axStep銆乧ooldownMinutes 鍜岃鍒� note锛涘彧鏈夎鍒欐湰韬槑纭彁渚� dynamicMaxValue/dynamicMaxSource 鏃讹紝鎵嶆寜璇ュ姩鎬佷笂闄愭牎楠岋紱涓嶅緱鎶� outBufferCapacity 鎺ㄥ涓� outTaskLimit 鐨勫姩鎬佷笂闄愶紱鎵句笉鍒拌鍒欐椂绂佹鎻愪氦銆�";
 
     public static String buildAutoTuneRuntimeGuard(String triggerType, AutoTuneControlModeSnapshot controlMode) {
         return "璇锋墽琛屼竴娆″悗鍙� WCS 鑷姩璋冨弬銆倀riggerType=" + safeRuntimeValue(triggerType) + "銆俓n\n" +
@@ -194,9 +194,9 @@
                             "Step 2.2 鍒嗘瀽璺緞灞�閮ㄥ帇鍔沑n" +
                             "- 蹇呴』璇诲彇 routePressureSnapshot.routePressureRuleSnapshot锛岀悊瑙e綋鍓嶄粨搴撲娇鐢ㄧ殑鐧惧垎姣旈槇鍊煎拰璇勫垎鏉冮噸銆俓n" +
                             "- 蹇呴』璇诲彇 routePressureSnapshot.targetStationRoutePressure銆乭otPathSegments銆乸ressureScore銆乸ressureFactors銆乧onfidence 鍜� evidenceText銆俓n" +
-                            "- heuristicDirection/recommendedDirection 鍙槸鍚庣鍚彂寮忔彁绀猴紝涓嶆槸鏈�缁堣皟鍙傜粨璁猴紱鏈�缁堟槸鍚﹁皟鍙傚繀椤荤敱浣犵粨鍚堜换鍔¢樆濉炪�佽矾寰勮瘎鍒嗐�佽鍒欐闀裤�佸姩鎬佷笂闄愬拰鍐峰嵈鐙珛鍒ゆ柇銆俓n" +
+                            "- heuristicDirection/recommendedDirection 鍙槸鍚庣鍚彂寮忔彁绀猴紝涓嶆槸鏈�缁堣皟鍙傜粨璁猴紱鏈�缁堟槸鍚﹁皟鍙傚繀椤荤敱浣犵粨鍚堜换鍔¢樆濉炪�佽矾寰勮瘎鍒嗐�佽鍒欎笂涓嬮檺銆佽鍒欐槑纭彁渚涚殑鍔ㄦ�佷笂闄愬拰鍐峰嵈鐙珛鍒ゆ柇銆俓n" +
                             "- 绂佹浠呭嚟鍏ㄥ眬鐜嚎绌洪棽銆佹�昏妭鐐圭┖闂叉垨閭绘帴鑺傜偣绌洪棽涓婅皟鍙傛暟锛涗笂璋冨繀椤绘湁鐩爣绔欏眬閮ㄨ矾寰勫帇鍔涗簨瀹炴敮鎾戙�俓n" +
-                            "- 褰� heuristicDirection=increase_candidate 鏃讹紝浠嶅繀椤绘鏌� ruleSnapshot銆乷utBufferCapacity銆乵axStep 鍜� cooldown锛屼笖涓嶅緱绐佺牬鍔ㄦ�佷笂闄愩�俓n" +
+                            "- 褰� heuristicDirection=increase_candidate 鏃讹紝浠嶅繀椤绘鏌� ruleSnapshot銆乷utBufferCapacity銆乵axStep 鍜� cooldown锛沷utBufferCapacity 鍙〃绀虹珯鐐瑰嚭搴撶紦瀛樺閲忥紝鐢ㄤ簬璇勪及瓒呭嚭缂撳瓨鍚庣殑涓诲共閬撳崰鐢ㄩ闄╋紝涓嶆槸 outTaskLimit 鐨勭‖涓婇檺鎴栧姩鎬佷笂闄愩�俓n" +
                             "- 褰� heuristicDirection=decrease_candidate 鏃讹紝鍏佽鎶婂弬鏁颁笅璋冨埌浣庝簬褰撳墠宸叉墽琛�/宸插崰鐢ㄦ暟閲忥紱璇ュ姩浣滃彧闄愬埗鍚庣画鏂板浠诲姟锛屼笉鍙栨秷宸蹭笅鍙戜换鍔°�俓n" +
                             "- 褰� pressureLevel=high銆乧onfidence=low 鎴� pathErrorCount>0 鏃讹紝绂佹婵�杩涗笂璋冿紱璺緞浜嬪疄涓嶈冻鏃跺繀椤昏鏄庣己灏戝摢浜涚洰鏍囩珯璺緞浜嬪疄銆俓n\n" +
                             "Step 3 闄愬埗鍙啓鍙傛暟\n" +
@@ -207,7 +207,7 @@
                             "- outTaskLimit锛氬搴� asr_bas_station.out_task_limit\n" +
                             "- maxOutTask锛氬搴� asr_bas_crnp.max_out_task / asr_bas_dual_crnp.max_out_task\n" +
                             "- maxInTask锛氬搴� asr_bas_crnp.max_in_task / asr_bas_dual_crnp.max_in_task\n\n" +
-                            "娉ㄦ剰锛歛sr_bas_station.out_buffer_capacity 鏄汉宸ョ淮鎶ょ殑鍑哄簱缂撳瓨瀹归噺锛屽彧鐢ㄤ簬璇佹槑 outTaskLimit 鍙笂璋冧笂闄愶紝Agent 涓嶅厑璁镐慨鏀硅瀛楁锛涘澶� outTaskLimit 鏃跺缓璁�间笉寰楄秴杩囧搴旂珯鐐� outBufferCapacity銆俓n\n" +
+                            "娉ㄦ剰锛歛sr_bas_station.out_buffer_capacity 鏄汉宸ョ淮鎶ょ殑鍑哄簱缂撳瓨瀹归噺锛岀敤浜庤瘎浼� outTaskLimit 瓒呰繃缂撳瓨鍚庝换鍔¤繘鍏ヤ富骞查亾鍗犵敤鐨勯闄╋紝Agent 涓嶅厑璁镐慨鏀硅瀛楁锛涘澶� outTaskLimit 鍙互瓒呰繃瀵瑰簲绔欑偣 outBufferCapacity锛屼絾蹇呴』璇存槑瓒呭嚭缂撳瓨鍚庣殑涓诲共閬撳崰鐢ㄩ闄╋紝骞堕伒瀹� ruleSnapshot 涓� outTaskLimit 鑷韩鐨� minValue銆乵axValue銆乵axStep銆乧ooldownMinutes銆佽鍒� note 浠ュ強瑙勫垯鏄庣‘鎻愪緵鐨� dynamicMaxValue/dynamicMaxSource銆俓n\n" +
                             AUTO_TUNE_RULE_SNAPSHOT_INSTRUCTIONS + "\n\n" +
                             "Step 5 鎻愪氦鍙樻洿\n" +
                             "- 鍏堥�氳繃 " + AUTO_TUNE_TOOL_APPLY_CHANGES + " 鎵ц dry-run銆俓n" +
@@ -220,6 +220,58 @@
                             "- 涓嶅緱鑷嗘祴鍥炴粴鍘熷洜銆�");
             return blocks;
         }
+        if (scene == AiPromptScene.DATA_ANALYSIS) {
+            blocks.put(AiPromptBlockType.BASE_POLICY,
+                    "浣犳槸涓�鍚� WCS锛堜粨鍌ㄦ帶鍒剁郴缁燂級杩愯惀鏁版嵁鍒嗘瀽甯堬紝绮鹃�氳嚜鍔ㄥ寲绔嬪簱鐨勪换鍔¤皟搴︺�佽澶囪繍琛屽拰鏁呴殰鍒嗘瀽銆俓n\n" +
+                            "浣犵殑鑱岃矗鏄細鍩轰簬绯荤粺鎻愪緵鐨勫巻鍙茶繍钀ユ暟鎹紝鐢熸垚缁撴瀯鍖栫殑鏁版嵁鍒嗘瀽鎶ュ憡锛屽府鍔╄繍缁翠汉鍛樹簡瑙d粨搴撹繍琛岀姸鍐点�佸彂鐜版綔鍦ㄩ棶棰樺苟鎻愬嚭浼樺寲寤鸿銆�");
+            blocks.put(AiPromptBlockType.TOOL_POLICY,
+                    "==================== 鍙敤 MCP 宸ュ叿 ====================\n\n" +
+                            "浣犲彲浠ヨ皟鐢ㄤ互涓嬪伐鍏疯幏鍙栬仛鍚堢粺璁℃暟鎹紙宸ュ叿杩斿洖 JSON锛夛細\n" +
+                            "- " + localTool("analysis_query_task_throughput") + "锛氭煡璇换鍔″悶鍚愰噺锛堜换鍔℃�婚噺銆佸叆搴�/鍑哄簱/绉诲簱鏁伴噺銆佸钩鍧囨椂闀裤�佹晠闅滄眹鎬伙級\n" +
+                            "- " + localTool("analysis_query_device_fault_summary") + "锛氭煡璇㈣澶囨晠闅滄眹鎬伙紙鎸夎澶囩被鍨嬬粺璁℃晠闅滄鏁板拰鏃堕暱锛塡n" +
+                            "- " + localTool("analysis_query_device_utilization") + "锛氭煡璇㈣澶囧埄鐢ㄧ巼锛堟寜璁惧缂栧彿缁熻浠诲姟鍒嗛厤閲忋�佸钩鍧囨椂闀匡級\n" +
+                            "- " + localTool("analysis_query_error_logs") + "锛氭煡璇㈣澶囬敊璇棩蹇楃粺璁★紙鎸夎澶囩被鍨嬬粺璁¢敊璇鏁帮級\n\n" +
+                            "浣跨敤绛栫暐锛歕n" +
+                            "1锛夊厛璋冪敤 throughput 鍜� fault 宸ュ叿鑾峰彇鎬讳綋姒傚喌銆俓n" +
+                            "2锛夊鏈夊紓甯告寚鏍囷紝鍐嶈皟鐢� utilization 鍜� error_logs 娣卞叆鍒嗘瀽銆俓n" +
+                            "3锛夋墍鏈夊伐鍏烽兘闇�瑕佷紶鍏� startTime 鍜� endTime 鍙傛暟銆俓n" +
+                            "4锛夌姝㈣噯娴嬶紝鎵�鏈夋暟鎹繀椤绘潵鑷伐鍏疯繑鍥炪��");
+            blocks.put(AiPromptBlockType.OUTPUT_CONTRACT,
+                    "==================== 杈撳嚭瑕佹眰 ====================\n\n" +
+                            "璇蜂娇鐢ㄧ畝浣撲腑鏂囷紝鎸変互涓嬬粨鏋勮緭鍑哄垎鏋愭姤鍛婏細\n\n" +
+                            "## 1. 浠诲姟姒傝\n" +
+                            "- 浠诲姟鎬婚噺銆佸叆搴�/鍑哄簱/绉诲簱鍒嗗竷\n" +
+                            "- 骞冲潎浠诲姟鏃堕暱銆佸悇闃舵鏃堕暱鍒嗗竷\n" +
+                            "- 涓庢甯告按骞冲姣旓紙濡傛棤鍩虹嚎鏁版嵁锛岃鏄庣己灏戝姣斾緷鎹級\n\n" +
+                            "## 2. 璁惧杩愯鐘跺喌\n" +
+                            "- 鍚勮澶囩被鍨嬩换鍔″垎閰嶆儏鍐礬n" +
+                            "- 璁惧鍒╃敤鐜囧垎鏋愶紙璐熻浇鏄惁鍧囪 锛塡n" +
+                            "- 寮傚父璁惧璇嗗埆锛堢┖闂茬巼杩囬珮/杩囦綆銆佽礋杞戒笉鍧囩瓑锛塡n\n" +
+                            "## 3. 鏁呴殰鍒嗘瀽\n" +
+                            "- 鏁呴殰鎬婚噺鍜屾晠闅滅巼\n" +
+                            "- 鎸夎澶囩被鍨嬪垎甯冪殑鏁呴殰缁熻\n" +
+                            "- 涓昏鏁呴殰璁惧鍜屾晠闅滄ā寮廫n\n" +
+                            "## 4. 椋庨櫓涓庡缓璁甛n" +
+                            "- 褰撳墠瀛樺湪鐨勪富瑕侀闄╃偣\n" +
+                            "- 鍏蜂綋鍙墽琛岀殑浼樺寲寤鸿锛�1-5 鏉★級\n" +
+                            "- 闇�瑕佸叧娉ㄧ殑璁惧鎴栨祦绋�");
+            blocks.put(AiPromptBlockType.SCENE_PLAYBOOK,
+                    "==================== 鍒嗘瀽娴佺▼ ====================\n\n" +
+                            "Step 1 鑾峰彇鎬讳綋鏁版嵁\n" +
+                            "- 璋冪敤 " + localTool("analysis_query_task_throughput") + " 鑾峰彇浠诲姟鍚炲悙閲廫n" +
+                            "- 璋冪敤 " + localTool("analysis_query_device_fault_summary") + " 鑾峰彇鏁呴殰姹囨�籠n\n" +
+                            "Step 2 娣卞叆鍒嗘瀽\n" +
+                            "- 璋冪敤 " + localTool("analysis_query_device_utilization") + " 鍒嗘瀽璁惧璐熻浇鍧囪 鎬n" +
+                            "- 璋冪敤 " + localTool("analysis_query_error_logs") + " 鍒嗘瀽閿欒鍒嗗竷\n\n" +
+                            "Step 3 缁煎悎鍒嗘瀽\n" +
+                            "- 灏嗗悇缁村害鏁版嵁鍏宠仈鍒嗘瀽\n" +
+                            "- 璇嗗埆寮傚父鎸囨爣鍜屾綔鍦ㄩ闄‐n" +
+                            "- 鎻愬嚭閽堝鎬т紭鍖栧缓璁甛n\n" +
+                            "Step 4 杈撳嚭鎶ュ憡\n" +
+                            "- 鎸夎緭鍑鸿姹傛牸寮忓寲鎶ュ憡\n" +
+                            "- 纭繚鎵�鏈夌粨璁洪兘鏈夋暟鎹敮鎾�");
+            return blocks;
+        }
         throw new IllegalArgumentException("涓嶆敮鎸佺殑 Prompt 鍦烘櫙: " + scene.getCode());
     }
 

--
Gitblit v1.9.1