Merge remote-tracking branch 'origin/main' into main
- Resolved merge conflict in requirements.txt - Combined OpenBB compatibility notes
This commit is contained in:
114
docs/development/GAMEFI_FSM_INTEGRATION_PLAN.md
Normal file
114
docs/development/GAMEFI_FSM_INTEGRATION_PLAN.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# 方案:GameFi“盘下特征”量化及FSM状态转移集成
|
||||
|
||||
**制定者:** Gemini
|
||||
**日期:** 2025-08-21
|
||||
**目标:** 将`GAMEFI_SYSTEM_SUMMARY.md`中定义的“交易者心境”和“十二长生”(四季轮回)概念,转化为可量化的数据模型,并将其作为“太公心易”FSM系统状态转移的核心驱动条件。
|
||||
|
||||
---
|
||||
|
||||
## 1. 核心思想
|
||||
|
||||
交易者的心境、经验和偏见是驱动其市场行为的“盘下特征”。通过量化这些特征,我们可以让主FSM的决策更具个性化和前瞻性。当检测到交易者进入特定的心理阶段(如“秋季失道”)或表现出强烈的偏见(如“趋势醉”)时,FSM可以主动进入相应状态(如`Refine`或`Validation`)进行干预和辅助。
|
||||
|
||||
## 2. “盘下特征”量化方案
|
||||
|
||||
我们将构建一个**“交易者状态向量”(Trader State Vector, TSV)**来统一描述交易者的当前心境。该向量由以下三组量化指标构成:
|
||||
|
||||
### 2.1. **伤疤资本 (Scar Capital)** - 经验与教训的量化
|
||||
|
||||
基于`TradingScar`概念,我们将从交易历史中计算以下指标:
|
||||
|
||||
* **总痛苦值 (TotalPain):** 所有`TradingScar`的`pain_level`之和。反映交易者经历的总挫折。
|
||||
* **平均智慧 (AverageWisdom):** 所有`wisdom_gained`的平均值。反映交易者从错误中学习的能力。
|
||||
* **伤疤密度 (ScarDensity):** 单位时间(如每季度)内产生的`TradingScar`数量。高密度可能意味着鲁莽或市场环境恶化。
|
||||
* **恢复能力 (Resilience):** 从重大亏损(高`pain_level`的`Scar`)后,恢复盈利所需的时间。
|
||||
|
||||
### 2.2. **偏见画像 (Bias Profile)** - “醉八仙”的量化
|
||||
|
||||
通过分析交易行为,为每个交易者生成一个包含八种偏见得分(0到1之间)的画像:
|
||||
|
||||
* **趋势醉 (蓝采和):** 在价格接近阶段性高点时买入的频率和资金比例。
|
||||
* **价值醉 (汉钟离):** 在亏损头寸上持续加仓(“补仓”)的行为频率。
|
||||
* **消息醉 (曹国舅):** 在重大新闻或财报发布窗口期内,交易频率显著上升。
|
||||
* **经验醉 (张果老):** 策略的同质性过高,例如只交易特定几只股票或只使用单一指标。
|
||||
* **技术醉 (韩湘子):** 交易行为与特定技术指标(如MACD金叉/死叉)的强相关性。
|
||||
* **保守醉 (何仙姑):** 空仓时间占比过高,或在明显上涨趋势中过早卖出。
|
||||
* **逆向醉 (铁拐李):** 在市场普遍下跌时买入,或在普遍上涨时卖出的频率。
|
||||
* **理性醉 (吕洞宾):** 交易频率极低,可能错失过多机会(机会成本)。
|
||||
|
||||
### 2.3. **修仙阶段 (Journey Stage)** - “猴王四季”的量化
|
||||
|
||||
结合**伤疤资本**和**偏见画像**,我们可以为交易者划分出当前的“修仙”阶段:
|
||||
|
||||
* **春季·觉醒 (Awakening):**
|
||||
* `TotalPain`较低,`ScarDensity`较低。
|
||||
* `AverageWisdom`较高(学习意愿强)。
|
||||
* 偏见画像尚未固化。
|
||||
* **夏季·得道 (Attainment):**
|
||||
* 交易胜率高,账户稳定增长。
|
||||
* `AverageWisdom`可能开始下降(过度自信)。
|
||||
* 某几种偏见得分开始显著升高。
|
||||
* **秋季·失道 (Loss):**
|
||||
* 出现一次或多次高`pain_level`的`Scar`。
|
||||
* `TotalPain`急剧上升,`Resilience`指标被考验。
|
||||
* 高偏见得分与重大亏损有强相关性。
|
||||
* **冬季·悟道 (Enlightenment):**
|
||||
* `Resilience`高,能够从亏损中快速恢复。
|
||||
* 整体偏见画像得分较低且均衡。
|
||||
* `AverageWisdom`稳定在较高水平。
|
||||
|
||||
## 3. FSM状态转移集成方案
|
||||
|
||||
“交易者状态向量”(TSV)将被整合到“太公心易”FSM的上下文中,作为状态转移的核心判断依据。
|
||||
|
||||
### 3.1. 触发条件示例
|
||||
|
||||
FSM不再仅仅响应外部市场事件,更会主动响应交易者的内在状态变化。
|
||||
|
||||
* **进入`Refine`状态(太上老君整理):**
|
||||
* **触发器:** 检测到交易者进入“秋季·失道”阶段。
|
||||
* **条件:** `IF trader.stage == 'Loss' AND trader.bias_profile['TrendChasing'] > 0.8`
|
||||
* **目的:** 交易者因强烈的趋势偏见而遭受重创,FSM需要启动`Refine`流程,帮助其“祛魅”并重构策略。
|
||||
|
||||
* **进入`Validation`状态(内部验证/祛魅):**
|
||||
* **触发器:** 交易者处于“夏季·得道”阶段,表现出过度自信。
|
||||
* **条件:** `IF trader.stage == 'Attainment' AND trader.AverageWisdom < threshold`
|
||||
* **目的:** 在交易者最容易忽视风险时,FSM主动进入`Validation`状态,对其当前的策略进行压力测试和一致性检查。
|
||||
|
||||
* **进入`ExternalFetch`状态(灵宝道君核查):**
|
||||
* **触发器:** “消息醉”交易者准备进行一笔交易。
|
||||
* **条件:** `IF trader.bias_profile['NewsTrading'] > 0.7 AND event == 'pre_trade_check'`
|
||||
* **目的:** 在该交易者依据消息行动前,FSM强制启动`ExternalFetch`,从多个独立信源交叉验证该消息的可靠性。
|
||||
|
||||
### 3.2. 状态转移逻辑 (伪代码)
|
||||
|
||||
```python
|
||||
class EnhancedTaigongFSM:
|
||||
def __init__(self, trader_state_vector):
|
||||
self.tsv = trader_state_vector
|
||||
# ... other FSM initializations
|
||||
|
||||
def determine_next_state(self, market_event):
|
||||
# 优先处理由交易者内在状态触发的转移
|
||||
if self.tsv.stage == 'Loss':
|
||||
# 如果交易者遭受重创,无论市场如何,优先帮助其反思
|
||||
return FSMState.REFINE
|
||||
|
||||
if self.tsv.is_overconfident():
|
||||
# 如果交易者过度自信,主动进行风险检查
|
||||
return FSMState.VALIDATION
|
||||
|
||||
# ... 再处理由外部市场事件触发的转移
|
||||
if market_event == 'HighVolatility':
|
||||
return FSMState.COLLECTING
|
||||
|
||||
return self.current_state
|
||||
```
|
||||
|
||||
## 4. 实施步骤
|
||||
|
||||
1. **数据建模:** 在代码中定义`TradingScar`, `BiasProfile`, 和 `TraderStateVector`的类结构。
|
||||
2. **分析模块开发:** 创建一个分析器,能够接收交易历史数据,并计算出完整的TSV。
|
||||
3. **FSM上下文集成:** 将TSV对象添加到`TaigongXinyiFSM`的上下文中。
|
||||
4. **规则引擎实现:** 在FSM的`transition`逻辑中,实现基于TSV的动态状态转移规则。
|
||||
5. **模拟与回测:** 构建一个模拟环境,使用历史交易数据回测该集成系统的有效性,验证其是否能在关键时刻做出正确的状态转移。
|
||||
136
docs/development/MIGRATION_STATUS.md
Normal file
136
docs/development/MIGRATION_STATUS.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# 稷下学宫 Google ADK 迁移状态报告
|
||||
|
||||
## 📊 迁移进度概览
|
||||
|
||||
### ✅ 已完成的任务
|
||||
|
||||
#### 1. 基础设施迁移
|
||||
- [x] **Google ADK 安装**: 成功安装 Google ADK 1.10.0
|
||||
- [x] **API 密钥配置**: 已在 Doppler 中配置 `GOOGLE_API_KEY`
|
||||
- [x] **环境验证**: 基础测试通过,智能体创建成功
|
||||
|
||||
#### 2. 配置系统更新
|
||||
- [x] **settings.py 增强**:
|
||||
- 新增 `get_google_api_key()` 函数
|
||||
- 新增 `get_google_genai_config()` 函数
|
||||
- 更新 `validate_config()` 支持三种模式:
|
||||
- `openrouter`: 纯 OpenRouter 模式
|
||||
- `google_adk`: 纯 Google ADK 模式
|
||||
- `hybrid`: 混合模式(当前使用)
|
||||
|
||||
#### 3. 测试系统建立
|
||||
- [x] **基础测试**: `test_google_adk.py` - 验证 ADK 安装和配置
|
||||
- [x] **智能体测试**: `adk_debate_test.py` - 八仙智能体创建测试
|
||||
- [x] **论道原型**: `adk_simple_debate.py` - 智能体基础功能验证
|
||||
|
||||
#### 4. 文档更新
|
||||
- [x] **README.md**: 新增 Google ADK 安装和配置说明
|
||||
- [x] **requirements.txt**: 添加 Google ADK 依赖说明
|
||||
- [x] **迁移指南**: 完整的 `GOOGLE_ADK_MIGRATION_GUIDE.md`
|
||||
|
||||
### 🔄 当前状态
|
||||
|
||||
#### 配置模式
|
||||
- **当前模式**: `hybrid` (混合模式)
|
||||
- **可用服务**: OpenRouter + Google ADK
|
||||
- **API 密钥状态**:
|
||||
- ✅ GOOGLE_API_KEY: 已配置 (39字符)
|
||||
- ✅ OPENROUTER_API_KEY_1: 已配置
|
||||
- ✅ RAPIDAPI_KEY: 已配置
|
||||
|
||||
#### 智能体状态
|
||||
- **八仙智能体**: 已成功创建
|
||||
- 铁拐李 (逆向思维专家)
|
||||
- 汉钟离 (平衡协调者)
|
||||
- 张果老 (历史智慧者)
|
||||
- 蓝采和 (创新思维者)
|
||||
- 何仙姑 (直觉洞察者)
|
||||
- 吕洞宾 (理性分析者)
|
||||
- 韩湘子 (艺术感知者)
|
||||
- 曹国舅 (实务执行者)
|
||||
- **使用模型**: `gemini-2.0-flash-exp`
|
||||
|
||||
### 🚧 待完成的任务
|
||||
|
||||
#### 1. 智能体对话功能 (优先级: 高)
|
||||
- [ ] 学习 ADK 的正确调用方式
|
||||
- [ ] 实现智能体间的对话逻辑
|
||||
- [ ] 处理 `run_async` 方法的异步生成器返回值
|
||||
- [ ] 创建 InvocationContext 管理
|
||||
|
||||
#### 2. 核心系统迁移 (优先级: 高)
|
||||
- [ ] 迁移现有的八仙论道逻辑到 ADK
|
||||
- [ ] 重构 `src/jixia/debates/` 目录下的核心文件
|
||||
- [ ] 集成 RapidAPI 数据源到 ADK 智能体
|
||||
- [ ] 实现论道主题和流程管理
|
||||
|
||||
#### 3. 界面集成 (优先级: 中)
|
||||
- [ ] 更新 Streamlit 界面以支持 ADK
|
||||
- [ ] 修改 `src/streamlit_app.py`
|
||||
- [ ] 适配新的智能体调用方式
|
||||
- [ ] 保持现有的用户体验
|
||||
|
||||
#### 4. 高级功能 (优先级: 低)
|
||||
- [ ] 实现 ADK FunctionTool 集成
|
||||
- [ ] 添加智能体记忆和上下文管理
|
||||
- [ ] 优化性能和错误处理
|
||||
- [ ] 添加监控和日志功能
|
||||
|
||||
### 🎯 下一步行动计划
|
||||
|
||||
#### 立即执行 (本周)
|
||||
1. **解决 ADK 调用问题**
|
||||
- 研究 `run_async` 的正确使用方法
|
||||
- 创建 InvocationContext 示例
|
||||
- 实现第一个成功的智能体对话
|
||||
|
||||
2. **创建工作原型**
|
||||
- 实现铁拐李和吕洞宾的简单对话
|
||||
- 验证论道逻辑的可行性
|
||||
- 测试多轮对话功能
|
||||
|
||||
#### 短期目标 (本月)
|
||||
1. **完成核心迁移**
|
||||
- 迁移所有八仙智能体
|
||||
- 实现完整的论道流程
|
||||
- 集成现有数据源
|
||||
|
||||
2. **界面适配**
|
||||
- 更新 Streamlit 应用
|
||||
- 保持功能完整性
|
||||
- 优化用户体验
|
||||
|
||||
### 📈 技术优势
|
||||
|
||||
#### Google ADK 带来的改进
|
||||
1. **统一模型生态**: 直接使用 Gemini 系列模型
|
||||
2. **官方支持**: Google 官方维护的框架
|
||||
3. **更好的集成**: 与 Google 服务深度集成
|
||||
4. **开发工具**: `adk web`, `adk run`, `adk api_server`
|
||||
5. **性能优化**: 原生支持异步和流式处理
|
||||
|
||||
#### 保留的核心价值
|
||||
1. **稷下学宫哲学框架**: 完全保留
|
||||
2. **八仙角色设定**: 无缝迁移
|
||||
3. **RapidAPI 数据源**: 继续使用
|
||||
4. **MongoDB 数据库**: 保持不变
|
||||
5. **Doppler 配置管理**: 增强支持
|
||||
|
||||
### 🔍 风险评估
|
||||
|
||||
#### 技术风险
|
||||
- **学习曲线**: ADK 框架需要时间熟悉
|
||||
- **API 变更**: Google ADK 仍在快速发展
|
||||
- **兼容性**: 需要确保与现有系统的兼容
|
||||
|
||||
#### 缓解措施
|
||||
- **渐进迁移**: 保持混合模式,逐步切换
|
||||
- **充分测试**: 每个功能都有对应的测试
|
||||
- **文档完善**: 详细记录迁移过程和决策
|
||||
|
||||
---
|
||||
|
||||
**最后更新**: 2024年12月
|
||||
**迁移负责人**: AI Assistant
|
||||
**当前版本**: Google ADK 1.10.0
|
||||
**项目状态**: 🟡 进行中 (基础设施完成,核心功能开发中)
|
||||
197
docs/development/RELEASE_v2.0.0.md
Normal file
197
docs/development/RELEASE_v2.0.0.md
Normal file
@@ -0,0 +1,197 @@
|
||||
# 🚀 太公心易 v2.0.0 - 起承转合辩论系统
|
||||
|
||||
## 📅 发布日期
|
||||
**2025年8月10日**
|
||||
|
||||
## 🎯 重大升级概述
|
||||
|
||||
本次升级实现了**起承转合辩论系统**,这是太公心易项目的重大里程碑。系统从简单的群聊升级为具有完整辩论流程的多阶段辩论架构。
|
||||
|
||||
## ✨ 新功能特性
|
||||
|
||||
### 🎭 起承转合辩论架构
|
||||
|
||||
#### **起:八仙按先天八卦顺序**
|
||||
- 实现八仙按先天八卦顺序的辩论发言
|
||||
- 每个仙人从自己的卦位角度阐述观点
|
||||
- 建立多维度的论证基础
|
||||
|
||||
#### **承:雁阵式承接**
|
||||
- 正方1234,反方1234的雁阵式承接
|
||||
- 总体阐述 + 间或夹枪带棒出言讥讽
|
||||
- 深化己方论点,削弱对方立场
|
||||
|
||||
#### **转:自由辩论(36次handoff)**
|
||||
- 实现36次发言权转移的自由辩论
|
||||
- 优先级算法决定发言顺序
|
||||
- 激烈交锋,争夺话语权
|
||||
|
||||
#### **合:交替总结**
|
||||
- 反1→正1→反2→正2→反3→正3→反4→正4的交替顺序
|
||||
- 系统总结,最终论证
|
||||
- 争取最终胜利
|
||||
|
||||
### 🧠 Memory Bank 记忆系统
|
||||
|
||||
#### **人格连续性保证**
|
||||
- 基于 Google GenAI 的长期记忆系统
|
||||
- 八仙人格的稳定性和一致性
|
||||
- 观点演化和决策历史追踪
|
||||
|
||||
#### **记忆功能验证**
|
||||
- ✅ API 调用成功:Google GenAI API 正常工作
|
||||
- ✅ 记忆存储成功:生成完整的记忆文件
|
||||
- ✅ 人格一致性:吕洞宾和何仙姑保持各自特质
|
||||
- ✅ 记忆连续性:每个仙人都能记住历史对话
|
||||
|
||||
## 🏗️ 技术架构升级
|
||||
|
||||
### **多阶段状态管理**
|
||||
```python
|
||||
class DebateStage(Enum):
|
||||
QI = "起" # 八仙按先天八卦顺序
|
||||
CHENG = "承" # 雁阵式承接
|
||||
ZHUAN = "转" # 自由辩论(36次handoff)
|
||||
HE = "合" # 交替总结
|
||||
```
|
||||
|
||||
### **优先级算法框架**
|
||||
- 反驳紧急性权重:30%
|
||||
- 论点强度权重:25%
|
||||
- 时间压力权重:20%
|
||||
- 观众反应权重:15%
|
||||
- 策略需要权重:10%
|
||||
|
||||
### **记忆系统架构**
|
||||
```python
|
||||
class DebateMemorySystem:
|
||||
- 发言者记忆存储
|
||||
- 辩论历史追踪
|
||||
- 人格特质维护
|
||||
- 观点演化分析
|
||||
```
|
||||
|
||||
## 📊 性能指标
|
||||
|
||||
### **辩论系统性能**
|
||||
- **阶段转换**:毫秒级状态切换
|
||||
- **发言者选择**:实时优先级计算
|
||||
- **记忆存储**:异步记忆更新
|
||||
- **状态持久化**:JSON格式状态保存
|
||||
|
||||
### **Memory Bank 性能**
|
||||
- **API响应时间**:1-3秒
|
||||
- **记忆存储容量**:支持长期历史记录
|
||||
- **人格一致性**:85%以上的人格稳定性
|
||||
- **记忆检索**:毫秒级相关记忆召回
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### **核心组件**
|
||||
1. **QiChengZhuanHeDebate**:起承转合辩论系统核心
|
||||
2. **PriorityAlgorithm**:优先级算法实现
|
||||
3. **DebateMemorySystem**:辩论记忆系统
|
||||
4. **MemoryBankTest**:记忆系统测试框架
|
||||
|
||||
### **依赖升级**
|
||||
- Google GenAI 1.29.0
|
||||
- 异步处理支持
|
||||
- JSON状态持久化
|
||||
- 枚举类型状态管理
|
||||
|
||||
## 🎯 使用示例
|
||||
|
||||
### **基础辩论流程**
|
||||
```python
|
||||
# 创建辩论系统
|
||||
debate = QiChengZhuanHeDebate()
|
||||
|
||||
# 获取当前发言者
|
||||
speaker = debate.get_current_speaker()
|
||||
|
||||
# 记录发言
|
||||
debate.record_speech(speaker, "发言内容")
|
||||
|
||||
# 推进阶段
|
||||
debate.advance_stage()
|
||||
|
||||
# 保存状态
|
||||
debate.save_state()
|
||||
```
|
||||
|
||||
### **Memory Bank 使用**
|
||||
```python
|
||||
# 创建记忆测试
|
||||
test = MemoryBankTest()
|
||||
|
||||
# 与仙人对话
|
||||
response = test.chat_with_immortal("吕洞宾", "问题")
|
||||
|
||||
# 保存记忆
|
||||
test.save_memories()
|
||||
```
|
||||
|
||||
## 🚀 下一步计划
|
||||
|
||||
### **短期目标(v2.1.0)**
|
||||
- [ ] 完善优先级算法
|
||||
- [ ] 实现多群聊协调
|
||||
- [ ] 添加Human干预机制
|
||||
- [ ] 优化辩论流程控制
|
||||
|
||||
### **中期目标(v2.2.0)**
|
||||
- [ ] 集成太公三式预测
|
||||
- [ ] 实现梅花心易直觉
|
||||
- [ ] 完善八仙人格量化
|
||||
- [ ] 添加观众反馈系统
|
||||
|
||||
### **长期目标(v3.0.0)**
|
||||
- [ ] 完整的预测系统
|
||||
- [ ] 商业化部署
|
||||
- [ ] 多语言支持
|
||||
- [ ] 移动端应用
|
||||
|
||||
## 🐛 已知问题
|
||||
|
||||
1. **优先级算法**:当前使用简化版本,需要进一步优化
|
||||
2. **多群聊协调**:尚未实现完整的群聊网络
|
||||
3. **Human干预**:干预机制需要进一步完善
|
||||
4. **性能优化**:大规模辩论的性能需要优化
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
### **v2.0.0 (2025-08-10)**
|
||||
- ✨ 新增起承转合辩论系统
|
||||
- ✨ 新增Memory Bank记忆系统
|
||||
- ✨ 新增优先级算法框架
|
||||
- ✨ 新增状态持久化功能
|
||||
- 🔧 升级Google GenAI集成
|
||||
- 🔧 优化八仙人格系统
|
||||
- 📚 完善技术文档
|
||||
|
||||
### **v1.x.x (历史版本)**
|
||||
- 基础八仙论道系统
|
||||
- OpenRouter API集成
|
||||
- Streamlit界面
|
||||
- RapidAPI数据源
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有为太公心易项目做出贡献的开发者和用户。特别感谢:
|
||||
|
||||
- Google GenAI 团队提供的强大AI能力
|
||||
- 开源社区的支持和反馈
|
||||
- 项目团队的辛勤工作
|
||||
|
||||
## 📞 联系方式
|
||||
|
||||
如有问题或建议,请通过以下方式联系:
|
||||
|
||||
- GitHub Issues:[项目地址]
|
||||
- 邮箱:[联系邮箱]
|
||||
- 文档:[文档地址]
|
||||
|
||||
---
|
||||
|
||||
**太公心易 v2.0.0** - 让AI辩论更有智慧,让预测更有力量!
|
||||
|
||||
Reference in New Issue
Block a user