Files
projectAIpopular/毕业设计_进度记录.md
T
tzt 44b6fd8b52 feat(proxy): T-P8 压测与预算管道(mock 管道 h_g=100%/P99=23.5ms,M3 达成)
- scripts/bench_proxy.py:200 条校园模拟请求生成器(重复>=50%)+
  TestClient 内存压测 + h_g/吞吐/P50/P99/账目一致性指标 +
  CSV+MD 报告入 AI代理功能开发/bench/;--live 桩(CAMPUS_PROXY_KEY 零字面量
  + --yes 花费确认 + 50 条子集真实 h_p)
- 实测:h_g=100%(L1 精确缓存命中全部重复请求)/P99=23.48ms(预算 50ms)/
  吞吐 205 req/s/无负余额/账目一致
- 全量 423 passed
2026-09-05 16:23:15 +08:00

220 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 毕业设计 · 进度记录
> 本文件记录"端云协同编程智能体系统"作为**毕业设计**推进过程中的关键决策、产出与待办。
> 对应仓库文档:`实现方案_v2_端云协同编程智能体系统.md`(系统权威方案)、`实现方案_v3_Web应用化.md`Web 应用化设计)、`references/毕业论文_参考文献清单.md`(参考文献)。
---
## 一、本次推进的议题(按时间顺序)
1. **毕业设计命题**:为"端云协同 LLM 协作系统"拟定可行的毕业论文命题。
2. **参考文献核实与下载**:确认命题能否找到对应中英文文献,并落地下载。
3. **Web 应用化技术选型**:确定"把整体项目做成 Web 应用"的技术栈与架构,并定稿设计方案。
---
## 二、关键决策记录
### 2.1 命题方向(已定)
- 对象:本科 · 计算机科学与技术;侧重 **端云协同架构**
- **推荐命题**(2026-08 版,已被下条取代):《基于端云协同的 LLM 服务成本优化系统设计与实现》(副标题:——以异构大小模型非对称协作为核心)。
- **✅ 定稿命题(2026-09-04)**:《基于端云协同的编程智能体系统设计与实现》(Design and Implementation of a Programming Agent System Based on Device-Cloud Collaboration;关键词:端云协同、编程智能体、大小模型协同、工具调用、级联升级)。改题理由:v4 落地后系统已是工具智能体形态(可操控工作目录文件),"编程智能体"更贴实现与演示重心;"成本优化"降为论文核心指标与实验章主题(北极星指标不变),不进标题。项目名/方案文档名/界面品牌已同步由"端云协同 LLM 协作系统"更名为"端云协同编程智能体系统"。
- 核心卖点:① 非对称协作(贵的大模型少读少写 / 便宜的小模型多读多干);②「交流文本」协议(原创交接层);③ 可量化的北极星指标(token 下降目标 ≥80%,实测 ~61% 含缓存计费)。
- 定位判断:这是**系统/工程类**毕设,非新算法类;命题应落在"面向成本约束的协作机制设计与实现",避免宣称"提出了新模型/新方法"。
- 提醒:北极星指标在论文中勿写死"80%",表述为"缓存计费下下降约 61%,结合前缀缓存复用目标 ≥80%"。
### 2.2 参考文献(已落地)
- 确认命题**文献充足**:已有英文路由/级联文献极强,另有"端云协同/大小模型协作"方向专门综述。
- **外文已下载 5 篇**`references/arxiv_papers/`,已验证有效 PDF):
- 14 FrugalGPT (2305.05176)
- 15 Small Models in the LLM Era Survey (2409.06857)
- 16 Dynamic Model Routing & Cascading Survey (2603.04445)
- 17 Edge SLMs + Cloud LLMs Collaboration Survey (2507.16731) ← 与命题几乎同名
- 18 Collaborating Small and Large LLMs Survey (2510.13890)
- **中文文献**:由**使用者本人走校园网知网下载**到 `research/`(如《Token级多模型并联协作推理_王建辉》《大小模型端云协同进化技术进展_王永威》《大语言模型时代的人工智能_陈光》等);另有开放获取的《大语言模型算法演进综述_中兴通讯技术》存于 `references/cnki_open/`
- **提醒**:所有中文文献定稿前必须在知网逐条核对页码/作者/年份;外文 14–18 可放心引用。
### 2.3 Web 应用化技术选型(已定)
- **后端**:保持 **Python + FastAPI + uvicorn,不重写**`router_system` 为纯标准库,229 项测试全绿)。
- **前端****Vue 3 + Vite + TypeScript** SPA,四页面(对话 / 协作过程 / 检验队列 / 指标),构建产物输出到 `gateway/static`FastAPI 单端口托管。
- **实时化**`POST /chat` 改异步(立即返回 `request_id`+ 后台 asyncio 任务 + **SSE**`/runs/{id}/stream`)实时可视化「交流文本」协作过程。
- **关键约束(D3)**:SSE 通过**监视 `runs/{id}/workspace.json`** 实现,**不修改 `router_system/pipeline.py`**,保住测试全绿。
- **避坑**:不上 Celery/Redis/微服务;asyncio + sqlite + 文件系统足够。
- 完整设计见 **`实现方案_v3_Web应用化.md`**(含 D1–D9、SSE 协议、目录结构、T1–T6、验收标准)。
---
## 三、本次产出文件
| 文件 | 说明 |
|---|---|
| `实现方案_v3_Web应用化.md` | Web 应用化权威设计方案(技术栈/架构/接口/步骤/验收) |
| `references/毕业论文_参考文献清单.md` | 参考文献初稿清单(已下载 / 需知网下载 / 提醒) |
| `references/arxiv_papers/1418_*.pdf` | 5 篇新增外文文献(有效 PDF) |
| `references/cnki_open/中_大语言模型算法演进综述_中兴通讯技术.pdf` | 1 篇开放获取中文 PDF |
| `research/` 下多篇中文 PDF | 使用者自行从知网下载的中文文献 |
> 说明:`git status` 中 `router_system/`、`scripts/`、`tests/` 等处的改动为**本会话之前已存在的历史修改**,非本次 Web 应用化产出。
---
## 四、待办 / 下一步
1. **实施 Web 应用化**(按 `实现方案_v3_Web应用化.md` T1→T6):
- T1 后端异步化(`jobs.py` + `/chat` 改异步 + `/runs/{id}/status`
- T2 后端 SSE`/runs/{id}/stream`
- T3 前端 Vue3+Vite 脚手架(outDir=gateway/static
- T4 对话页 + 交流文本实时可视化
- T5 检验队列页 + 指标页(ECharts)
- T6 集成部署 + 测试
2. **收尾答辩材料**:补齐中文文献题录(知网核对)、论文各章节、E1 `--live` 真实链路数据。
3. 将 v3 方案登记进 `任务拆解与执行计划.md`,并把 AGENTS.md 的"当前权威规划"指针同步到 v3。
---
*记录人:DSH Agent2026)。*
---
## 五、2026-09-01 推进:模型池 + 工具智能体(叙事升级落地)
### 5.1 关键决策
- **叙事泛化(命题不变)**:把「端云分工」泛化为**按价位分工**——代码里角色轴
Architect 决策 / Worker 实现)与位置轴本来就正交(ArchitectClient 走 OpenAI 兼容协议、
Worker 已有 mock/llama_server/openai 三后端),故"端云协同"收编为"多价位模型池"的两档特例。
命题标题、开题材料、文献锚点全部不动,系统叙事升级(答辩加分项)。
- **术语**:对外表述用「多价位模型协作 / 分级调度 / 异构模型池」,**避免"融合"**
(会被理解为模型级 ensemble)。FrugalGPT(文献 14)为新叙事主锚点。
- **新增智能体能力**:zcode 式工具调用——模型可 list_dir / read_file / write_file
操作**被关押在工作区内**的文件,过程 SSE 实时可视化。
- 设计全文:`实现方案_v4_模型池与工具智能体.md`(D1–D6、接口清单、T16–T21、实验设计)。
### 5.2 产出
- 后端:`router_system/tools.py`(纯标准库工具内核)、`gateway/model_pool.py`(模型池)、
`gateway/agent.py`(智能体服务)、`/pool` + `/agent` 全套端点、V2Stats 按模型分账。
- 前端:设置页「模型池」区块(角色指派/条目 CRUD/连通测试)、新「🤖 智能体」页
(工具时间轴 + 工作区文件浏览)、指标页「按模型分账」卡。
- 顺手修复:SSE final 后重连回放导致的重复渲染;`/agent` 深链 SPA 路由。
- **测试**:全量 262 passed(基线 229 + 新增 33tools 11 / pool 10 / agent 6)。
- **端到端实测**DeepSeek 真跑 3 轮):写 hello.py → 写 note.md+列目录 → 读 hello.py 审阅,
工具事件实时渲染、工作区真实落盘、路径越界被拒、token 计量正确。
### 5.3 下一步
1. 论文表述更新:系统架构图加入"模型池 + 价位轴";补一节工具智能体与护栏设计。
2. 实验 E-new(位置无关性):同一 Worker 角色绑 local vs budget 跑同数据集,
证明"价位驱动而非位置驱动"——`bench_tokens.py` 改造可跑。
3. Worker 步骤级工具化(可选增强):协作管线内 Worker 也可用工具构建工件(opt-in 开关)。
4. 中文文献知网核对仍待完成(定稿前必做)。
*记录人:DSH Agent2026)。*
### 5.4 增补(同日):工作区选择 + harness 级工具(T22T25
- **需求来源**:智能体原先只能固定操作 `agent_workspace/`"不能选择工作区"。
参考 `deepseek-harness/`DeepSeek 开源 agent harness)的"打开文件夹"体验与工具集设计。
- **落地**:① 工作目录可选——`/agent/fs` 磁盘目录浏览(Windows 盘符枚举)+
最近工作区列表(持久化),运行记录所用目录,左侧文件面板跟随切换;
② 工具升级到 harness 级——`edit_file`old_string 唯一命中才替换,防误改)、
`search_files`(跨文件内容搜索,跳过 .git/node_modules 等)、
`run_command`**默认关闭**UI 开关 allow_shell,超时+输出截断+Windows 无窗口);
③ 前端 edit_file 渲染为红/绿 diff 卡,命令卡展示 `$ 命令` 与退出码输出。
- **实测**:选定 `E:\agent_demo\greet_app`,模型完成"读文件 → edit_file 加参数校验 →
运行 python greet.py 验证",磁盘文件真实变更(出现 __pycache__ 证明命令在工作区内执行)。
- **测试**:全量 274 passed(新增 12tools 扩展 7 + 工作区选择 5)。
- **安全边界(论文可写)**:文件操作相对所选根关押;shell 独立开关默认关;
唯一性约束防覆盖式误编辑——"能力开放 + 边界收窄"的设计权衡可作一节。
### 5.5 增补(同日):两级智能体(T26,路线 B 落地)
- **形态**:大模型(规划者)拆解任务出指令 JSON → 本地小模型(执行者)跑工具轮并汇报 →
大模型审查裁决 done/redo(有界交接,默认 2 轮)→ 最终答复。交接状态落
`handoff.json`(智能体版交流文本),SSE 新增 phase/message 事件实时可视化。
- **测试**+3 项(done 流 / redo 流 / 执行者故障),全量 277 passed。
- **事故与修复**:发现 `test_config_get_put_reset` 调 /config/reset 会清空真实
settings.json——此前全量跑测把用户在设置页配置的 API key 抹掉了。已修复测试隔离
(备份/恢复),并向用户说明需重配 key。
- **运维提醒**:网关用 taskkill /T 停止会连带杀掉其启动的 llama-server 子进程;
重启网关后需在设置页重新启动 llama-server。
### 5.6 增补(同日):Web 界面视觉升级
- 全局设计系统 `webapp/src/style.css`(设计令牌:色板/圆角/阴影/统一滚动条/焦点环),
main.ts 正式引入(原为未使用的脚手架残留)。
- App.vue 重设计:顶部条 → 深色侧边栏壳(渐变 Logo、图标导航、激活态高亮条、网关状态脚注)。
- 各页浅层打磨:页面背景令牌化、卡片统一阴影、浏览器标题/lang 修正(原为"webapp"/en)。
- 功能零改动;构建产物同步。
### 5.7 增补(同日):配色体系对齐 deepseek-harness Web
-`deepseek-harness/packages/client/ui-theme/src/styles/design-platform.css` 提取
官方色板(dsw-static-*):DeepSeek 品牌蓝 deepseek-500 rgb(65,118,230)、
bluish 中性灰阶、语义状态色,替换自拟配色。
- 风格修正:深色侧栏 → dsh 式**近白侧栏**sidebar-fill bluish-50 + 透明描边);
扁平化阴影(描边负责层次);交互悬停 rgba(38,49,72,.06);滚动条 neutral-200 圆头。
- 全部视图旧硬编码蓝(#2563eb 系)批量替换为设计令牌,视觉单一来源。
### 5.8 增补(同日):会话式智能体(T27,功能补齐 + 简洁化)
- **差距分析**(对照 deepseek-harness Web):缺会话制、缺停止、非对话式布局。
- **落地**:会话制(多轮上下文注入 + 轮次持久化 + 空闲/并发控制)、取消端点、
AgentView 重构为「会话列表 + 居中消息流 + 底部 composer」,工具调用折叠收纳。
- **实测**:本地 Qwen0.8B 全流程走通(会话自动创建/轮次记录/折叠时间轴/空响应提示);
深度协作质量待用户重配 DeepSeek key 后验证。
- **测试**281 passed(新增 4history 注入/会话多轮/置忙拒绝/取消)。
- **教训**:测试资源隔离清单再+1settings.json、sessions 目录、pool.json、runs/)。
## 六、2026-09-04 推进:新方向立项——校园 AI 代理层
- **用户定调**`AI代理功能开发/` 子目录定位为「端 ↔ 云之间的 AI 代理层」开发:
面向校园场景的 LLM API 代理网关(如代理 DeepSeek key,学生持代理 key、代理持上游主 key)。
商业模式 = **API 差价 + 缓存收益**;校园问题高重复 → 高缓存命中 → 高毛利;校园网提供基础设施。
- **方案草案**`AI代理功能开发/方案_校园AI代理层.md`(架构 / 缓存经济学 / 现有系统复用映射 /
MVP 任务 P1P5 / 合规红线 / 实验 E-P1E-P3)。
- **与主命题关系**:不改变已定命题《基于端云协同的编程智能体系统设计与实现》;
作为扩展章与答辩亮点——代理层 = 端侧基础设施的规模化形态,核心贡献为"缓存感知的 LLM 代理网关"。
- **合规提醒(实现前必读)**:真实收费运营前需确认上游转售政策与生成式 AI 服务备案要求,
从校内试点起步;上游主 key 仅存 env / settings.json,代码与文档零凭据字面量。
*记录人:ZCode Agent2026-09-04)。*
---
## 六、2026-09-05 推进:代理层 M1 + 语义分析器全链(T-P/T-G
### 6.1 代理层与缓存层(T-P0…T-P5,M1 达成)
- 备份锚点:tag `proxy-m1-tp5`370 全绿)+ 仓库外 zip。
- 落地:gateway/proxy/ 十模块——鉴权账本(原子预扣 D-P11,并发 10 路不超扣实证)、
上游客户端(三家 usage 归一/首 token 前 failover D-P4)、毫元计价(差异化售价),
路由端到端(M1httpx 手写 OpenAI SDK 合规断言,2550/1491 黄金账目)、
规范化五规则。T-P6 语义缓存(M2)/T-P7 管理面前端/T-P8 压测(M3)待续。
### 6.2 语义分析器与三级分级(T-G0…T-G8 全链完成,M-G3 代码就绪)
- T-G0 骨架 → T-G1 Embedderint8 量化)→ T-G2 观察埋点(100ms 批量)→
T-G3 标签校准(四规则推导 + split-conformal + last-good)→
T-G4 线性头(numpy 训练 + 纯 Python 推理,requirements-ml.txt 登记)→
T-G5 Grader(特征门×概率×conformal/v1/route)→
T-G6 live 分流(pipeline tier_fn 钩子,D-G5 唯一受控改动,零回归)→
T-G7 审计+前端(proxy 档位映射 + X-Campus-Tier 头 + T1 审计抽样 +
Metrics tier 卡 + Settings 灰度区块)→ T-G8 E-G1 报告(晋升门自动判定)。
- **灰度纪律(D-G7**sense.enabled=false、mode=collect——代码全就位但
分流未启用;晋升门四条(一致率≥85%/覆盖≤α+2%/标签≥500/T1 占比 40-55%
由 sense_report.py 自动判定,collect 攒满前不开 live。
- 测试:412 passed318 → 412,本阶段 +94)。
### 6.3 下一步
1. 代理层 T-P6(语义缓存 M2)→ T-P7 管理面前端 → T-P8 压测(M3)。
2. 真机项:llama-server embedder 端点冒烟(需 bge-m3 模型);DeepSeek key 重配后
走 collect 模式积累真实观察(2-4 周)→ sense_report 晋升门核对 → live。
3. 备份锚点:`sense-m-g3` tag412 全绿)。
### 6.4 增补(同日):代理层 T-P6~T-P8 完成(M2+M3 达成)
- T-P6 语义缓存(e41471c + c54ad23 接线):L1/L2 倒排+晋升+singleflight+SSE 回放;
e2e 实证同问二答 X-Cache: HIT 上游仅 1 次、账目 status=cached cost=0。
- T-P7 管理面(4f272dc + 7caab52):stats/ledger 端点 + ProxyView 三卡片
students 列表端点 501——Mimosa 扫描误报阻塞新 SELECT 写入,解除后补两方法)。
- T-P8 压测(bench_proxy.py):mock 管道 h_g=100%(重复>=50% 数据集)/
P99=23.5ms(预算 50ms/吞吐 205 req/s/账目零不一致;--live 桩就绪
CAMPUS_PROXY_KEY 环境变量 + --yes 确认)。
- **M3 总验收达成**(mock 口径);报告落盘 AI代理功能开发/bench/。
- 回档锚点:sense-m-g3 之上新增 proxy-m2-m3 tag423 全绿)。