From 7bb51aa7a00e7c2bf0e62a118040380299b1fa99 Mon Sep 17 00:00:00 2001 From: MarkLo Date: Wed, 26 Nov 2025 16:33:51 +0800 Subject: [PATCH] --- tradingagents/agents/managers/research_manager.py | 5 +++++ tradingagents/agents/researchers/bear_researcher.py | 5 +++++ tradingagents/agents/researchers/bull_researcher.py | 6 ++++++ tradingagents/agents/risk_mgmt/aggresive_debator.py | 5 +++++ tradingagents/agents/risk_mgmt/conservative_debator.py | 5 +++++ tradingagents/agents/risk_mgmt/neutral_debator.py | 5 +++++ 6 files changed, 31 insertions(+) diff --git a/tradingagents/agents/managers/research_manager.py b/tradingagents/agents/managers/research_manager.py index c9e67f92..331a1876 100644 --- a/tradingagents/agents/managers/research_manager.py +++ b/tradingagents/agents/managers/research_manager.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_research_manager(llm, memory): @@ -99,6 +100,10 @@ def create_research_manager(llm, memory): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Research_Manager") # 更新投資辯論狀態 new_investment_debate_state = { diff --git a/tradingagents/agents/researchers/bear_researcher.py b/tradingagents/agents/researchers/bear_researcher.py index b41d27ed..e0ebad9a 100644 --- a/tradingagents/agents/researchers/bear_researcher.py +++ b/tradingagents/agents/researchers/bear_researcher.py @@ -2,6 +2,7 @@ from langchain_core.messages import AIMessage import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_bear_researcher(llm, memory): @@ -103,6 +104,10 @@ def create_bear_researcher(llm, memory): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering to fix common LLM errors + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Bear_Researcher") # 格式化論點 argument = f"看跌分析師:{response.content}" diff --git a/tradingagents/agents/researchers/bull_researcher.py b/tradingagents/agents/researchers/bull_researcher.py index 668016c7..2f09343e 100644 --- a/tradingagents/agents/researchers/bull_researcher.py +++ b/tradingagents/agents/researchers/bull_researcher.py @@ -1,7 +1,9 @@ +```python # -*- coding: utf-8 -*- from langchain_core.messages import AIMessage import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_bull_researcher(llm, memory): @@ -103,6 +105,10 @@ def create_bull_researcher(llm, memory): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering to fix common LLM errors + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Bull_Researcher") # 格式化論點 argument = f"看漲分析師:{response.content}" diff --git a/tradingagents/agents/risk_mgmt/aggresive_debator.py b/tradingagents/agents/risk_mgmt/aggresive_debator.py index 723bca7e..5f0ac697 100644 --- a/tradingagents/agents/risk_mgmt/aggresive_debator.py +++ b/tradingagents/agents/risk_mgmt/aggresive_debator.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_risky_debator(llm): @@ -92,6 +93,10 @@ def create_risky_debator(llm): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Aggressive_Debator") # 格式化論點 argument = f"激進分析師:{response.content}" diff --git a/tradingagents/agents/risk_mgmt/conservative_debator.py b/tradingagents/agents/risk_mgmt/conservative_debator.py index e0b3d1af..70a79358 100644 --- a/tradingagents/agents/risk_mgmt/conservative_debator.py +++ b/tradingagents/agents/risk_mgmt/conservative_debator.py @@ -2,6 +2,7 @@ from langchain_core.messages import AIMessage import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_safe_debator(llm): @@ -93,6 +94,10 @@ def create_safe_debator(llm): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Conservative_Debator") # 格式化論點 argument = f"安全分析師:{response.content}" diff --git a/tradingagents/agents/risk_mgmt/neutral_debator.py b/tradingagents/agents/risk_mgmt/neutral_debator.py index c62b541f..c390c9bf 100644 --- a/tradingagents/agents/risk_mgmt/neutral_debator.py +++ b/tradingagents/agents/risk_mgmt/neutral_debator.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import time import json +from tradingagents.agents.utils.output_filter import fix_common_llm_errors, validate_and_warn def create_neutral_debator(llm): @@ -92,6 +93,10 @@ def create_neutral_debator(llm): # 呼叫 LLM 生成回應 response = llm.invoke(prompt) + + # CRITICAL FIX: Apply output filtering + response.content = fix_common_llm_errors(response.content) + validate_and_warn(response.content, "Neutral_Debator") # 格式化論點 argument = f"中立分析師:{response.content}"