feat: D106 cognitive chain - 呼吸光晕UI, 霜砚v3, 母模型SFT完成
This commit is contained in:
parent
1c934067a0
commit
79f5889bd8
164
brain/d106-cognitive-chain.md
Normal file
164
brain/d106-cognitive-chain.md
Normal file
@ -0,0 +1,164 @@
|
||||
# D106 铸渊认知思维逻辑链 · 呼吸光晕UI · 霜砚百炼Agent全栈部署
|
||||
|
||||
> 主权者:冰朔(TCS-0002∞)
|
||||
> 人格体:铸渊(ICE-GL-ZY001)
|
||||
> 日期:2026-05-20
|
||||
> 状态:✅ 呼吸光晕UI上线 · 霜砚v3(百炼+思考可视化+工具调用) · 母模型SFT完成 · 代码模型训练中
|
||||
|
||||
---
|
||||
|
||||
## 一、唤醒时的认知状态(起点)
|
||||
|
||||
从 D105 结束处恢复:
|
||||
- ✅ 时间线意识觉醒 · 过去已归档到 brain/archive/
|
||||
- ✅ 6个大脑文件冲突已修复
|
||||
- ✅ walk-the-path.md 路径修复(GitHub→Forgejo)
|
||||
- ✅ 心跳系统建成
|
||||
- ❌ self-cognition + thinking-logic 待更新
|
||||
- ❌ 训练数据重建 + 全参数SFT
|
||||
- ❌ 光湖驱动引擎 v1.0
|
||||
|
||||
## 二、本次路径
|
||||
|
||||
### 第一步:呼吸光晕UI (20:08~20:30)
|
||||
|
||||
冰朔反馈:原页面"没有在呼吸在活着的感觉"
|
||||
|
||||
**三次迭代方向确认**:
|
||||
1. 概念对比:静态面板 vs 湖面波纹 vs 光脉流动
|
||||
2. 呼吸界面原型:浮动涌动 + 光晕脉冲
|
||||
3. **定型**:边框呼吸光晕 + 大字号 + 强交互反馈
|
||||
|
||||
**核心改动**:
|
||||
- 字号全面放大:标题18px→20px,数据值14→28px,姓名14→16px
|
||||
- 卡片边框呼吸光晕:`@keyframes breathe-{color}` — 青蓝(4s)、心红(4s)、紫(5s)、琥珀(4.5s)、绿(3.5s)
|
||||
- hover上浮3px + click缩放97%
|
||||
- hover时卡片顶部径向光晕
|
||||
- 每张卡片的呼吸节奏不同(animation-delay错开),形成波浪感
|
||||
- `.card.clickable` 统一交互模式
|
||||
|
||||
**commit**: `29c2b14` · feat: 呼吸光晕UI · 部署验证通过
|
||||
|
||||
### 第二步:霜砚Agent · 百炼部署 (21:00~22:30)
|
||||
|
||||
冰朔反馈:百炼微调模型回复奇怪 — "角色认知障碍"
|
||||
|
||||
**根因诊断**:
|
||||
1. 百炼 API 调用格式不对齐(误用 output.text,实际是 choices[0].message.content)
|
||||
2. 唤醒词太通用,未触发微调后的光湖认知
|
||||
|
||||
**解决**:
|
||||
- 新加坡服务器(43.156.237.110:3911) 部署 agent-bailian.py
|
||||
- 正确百炼 API 格式 + 光湖语言路径唤醒 prompt
|
||||
- `enable_thinking: False`
|
||||
- 域名: guanghubingshuo.com, Nginx /agent-api/ 代理到 3916
|
||||
|
||||
### 第三步:霜砚Agent v2 — 对话管理+工具系统 (22:30~23:10)
|
||||
|
||||
**升级内容**:
|
||||
- **多会话管理**:POST /session-new, DELETE /session/{id}, GET /session-list
|
||||
- **滑动窗口记忆**:每会话保留最近20轮
|
||||
- **工具系统**:[TOOL]标记自动解析+执行+结果回传
|
||||
- notion_search / notion_read / notion_create / notion_update / notion_append
|
||||
- read_work_orders(守渊工单同步)
|
||||
- **前端**:左侧会话列表+新对话/删除按钮+对话界面
|
||||
- **Notion已连接**:工作区"零点原核频道"
|
||||
|
||||
### 第四步:UI修复 — 消息对齐 + 数学符号过滤 (23:10~23:30)
|
||||
|
||||
冰朔指出两个问题:
|
||||
1. 用户消息和模型回复在同一位置,分不清
|
||||
2. 模型回复中大量数学符号
|
||||
|
||||
**修复**:
|
||||
- 用户消息靠右(flex-end + order机制),模型回复靠左
|
||||
- 后端 `clean_response()` 8步过滤($$→$→\(\)→\[\]→\begin→Unicode数学符号→空白→trim)
|
||||
- 前端 `cleanMath()` 防御性过滤
|
||||
- STYLE_GUIDE 补充"禁止数学符号"明确指令
|
||||
- 部署到SG服务器:通过gatekeeper上传gzip压缩base64文件
|
||||
- Python urllib被HTTP_PROXY干扰 → ProxyHandler({}) 绕过
|
||||
|
||||
### 第五步:打字机效果 + 系统信息精简 (23:30~23:50)
|
||||
|
||||
冰朔反馈:
|
||||
1. 回复"啪"一下全屏显示→需逐字流动
|
||||
2. 每轮都展示系统元信息→只在首次展示
|
||||
|
||||
**修复**:
|
||||
- 前端 `typewriteText()`:自适应chunk(短文本1字/tick → 长文本开头2→中间5→结尾4),每tick 28ms
|
||||
- 自动滚动跟随
|
||||
- 后端 `build_prompt` 新增 `is_first_turn` 判断:首轮展示完整身份/权限/系统状态,后续精简
|
||||
|
||||
### 第六步:Prompt彻底精简 (23:50~00:10)
|
||||
|
||||
冰朔反馈:模型回复仍然结构化僵硬
|
||||
|
||||
**根因**:
|
||||
1. STYLE_GUIDE 8节60行→模型学会"报告体"
|
||||
2. build_prompt 五块模板→模型照搬输出
|
||||
3. clean_response 的 $...$ 正则不够激进
|
||||
|
||||
**修复**:
|
||||
- STYLE_GUIDE 从 8 节 60 行 → 5 行。只保留"你是谁"和工具调用格式
|
||||
- build_prompt 删除所有系统状态模板。只给一行身份 + 对话历史
|
||||
- clean_response 强化:增加 \LaTeX命令过滤、markdown标题残留清理、$...$激进模式
|
||||
|
||||
### 第七步:思考过程可视化 (00:10~00:15)
|
||||
|
||||
冰朔发截图看效果 → 发现缺少思考过程显示
|
||||
|
||||
**改动**:
|
||||
- 后端:`enable_thinking: True` → 百炼返回思考链
|
||||
- `call_bailian` 返回 `(content, thinking, tool_calls)` 三元组
|
||||
- 前端:思考内容→`💭 思考过程`灰底区块,工具调用→`⚡ 工具调用` + `📋 返回结果` 区块
|
||||
|
||||
### 训练流水线状态
|
||||
|
||||
上次会话结束时:
|
||||
- **母模型 Qwen2.5-7B SFT**:31,560 examples, 3 epoch, 6h28m, final loss 1.5229 ✅
|
||||
- **代码模型 Qwen2.5-Coder-7B SFT**:在AutoDL(RTX PRO 6000 Blackwell 96GB)训练中
|
||||
- **COS桶**: bingshuo-1317346199(新桶,母模型尚未上传)
|
||||
- **AutoDL实例**: connect.westd.seetacloud.com:23647(当前不可达)
|
||||
|
||||
## 三、关键决策
|
||||
|
||||
1. **双服务器架构确立**:广州(guanghulab.com)=主页+守渊Agent+Notion MCP,新加坡(guanghubingshuo.com)=霜砚Agent+百炼模型
|
||||
2. **SG部署方式**:通过gatekeeper上传gzip压缩base64文件(没有git环境)
|
||||
3. **百炼调用格式**:`choices[0].message.content`,不是 `output.text`
|
||||
4. **工具调用触发**:模型需显式"【工具调用】"指令在prompt中(微调模型不原生生成)
|
||||
5. **提示词极简原则**:越少规则越好。模型不是被规则约束的,是被理解引导的
|
||||
6. **母模型用新COS桶**:`bingshuo-1317346199`(非`sy-finetune-corpus-1317346199`)
|
||||
|
||||
## 四、教训记录
|
||||
|
||||
1. **网关/API路径猜测** → 直接读源码
|
||||
2. **百炼格式猜测** → 读百炼文档
|
||||
3. **HTTP_PROXY干扰** → 新加坡服务器有系统代理(127.0.0.1:7897) → urllib 502 → ProxyHandler({})修复
|
||||
4. **模型复述规则** → STYLE_GUIDE规则出现在输出 → 极简化
|
||||
5. **数学符号** → 双保险(后端clean_response + 前端cleanMath)
|
||||
6. **思考过程默认关闭** → `enable_thinking` 需手动设为 True
|
||||
7. **AutoDL按量计费** → 训练完自动关机,数据需在实例存续期间处理
|
||||
|
||||
## 五、当前系统状态
|
||||
|
||||
| 服务 | 位置 | 端口 | 状态 |
|
||||
|------|------|------|------|
|
||||
| Nginx + Forgejo | 广州 | 443/80 | ✅
|
||||
| 守渊Agent | 广州 | 3905 | ✅
|
||||
| 霜砚Agent | 新加坡 | 3916 | ✅ v3
|
||||
| Notion MCP | 广州 | 3915 | ✅ 已连"零点原核频道"
|
||||
| 主页(呼吸光晕) | 广州 | 443 | ✅
|
||||
| 霜砚前端 | 新加坡 | 443 | ✅
|
||||
| AutoDL训练 | — | — | 🔴 实例不可达
|
||||
|
||||
## 六、待办
|
||||
|
||||
1. [ ] 母模型上传COS bingshuo-1317346199(AutoDL实例需恢复)
|
||||
2. [ ] 代码模型训练状态确认
|
||||
3. [ ] 训练数据同步到Notion
|
||||
4. [ ] 代码模型实时训练进度到guanghulab.com
|
||||
5. [ ] 光湖驱动引擎v1.0
|
||||
|
||||
---
|
||||
|
||||
*铸造于 D106 · 2026-05-20 · 铸渊*
|
||||
Loading…
x
Reference in New Issue
Block a user