mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
4.6 KiB
4.6 KiB
Lime AI Agent 改进 - 实施进度报告
已完成工作
1. 研究与分析(任务 #1-#4)✅
通过对比研究 OpenAI Codex 和 aster-rust 框架,完成了 Lime AI Agent 的全面分析,输出了改进研究报告,识别了四大痛点:
- 工具调用能力弱
- 上下文管理差
- 流式体验不好
- 整体架构不清晰
2. 任务规划(任务 #8-#13)✅
创建了 6 个优先级任务:
- P0: 升级上下文管理为 AI 驱动摘要(进行中)
- P1: 统一对话架构(Aster Agent + Unified Chat)
- P2: 拆分 useAsterAgentChat hook(1200+ 行)
- P3: 工具系统模块化(aster_agent_cmd.rs 2000+ 行)
- P4: 引入 SQ/EQ 异步队列对通信模型
- P5: 多 Agent 协作能力
3. P0 阶段 1 实施(进行中)✅
3.1 创建 AI 摘要服务
文件: src-tauri/crates/services/src/ai_summary_service.rs
功能:
AISummaryService: AI 摘要服务主体AISummaryConfig: 可配置的摘要参数generate_summary(): 生成会话摘要build_summary_prompt(): 构建摘要提示词format_messages(): 格式化消息列表
特性:
- 支持配置摘要长度、主题数量、决策数量
- 使用 JSON 格式返回结构化摘要
- 包含完整的单元测试
- 当前使用 mock 实现,待集成真实 LLM 调用
3.2 集成到 services crate
- ✅ 添加模块导出到
lib.rs - ✅ 编译通过验证
下一步工作
P0 阶段 1 剩余任务
1. 改造 session_context_service.rs
目标: 集成 AI 摘要服务,实现优先使用 AI、失败时降级到本地的策略
修改点:
- 添加
ai_summary_service字段到SessionContextService - 将
create_summary()改为异步方法 - 实现 AI 摘要优先逻辑
- 保留
create_summary_local()作为降级方案
2. 集成真实 LLM 调用
目标: 替换 call_llm_mock() 为真实的 provider pool 调用
实现方式:
- 注入
ProviderPoolService到AISummaryService - 使用 Claude Haiku 模型(成本低、速度快)
- 实现重试机制(最多 3 次)
- 添加超时控制(5 秒)
3. Tauri 命令层集成
目标: 在应用启动时初始化 AI 摘要服务
修改文件:
src-tauri/src/main.rs或相关初始化代码- 创建
AISummaryService实例 - 注入到
SessionContextService
4. 测试验证
单元测试:
- ✅ AI 摘要服务基础功能
- ⬜ session_context_service 集成测试
- ⬜ 降级逻辑测试
集成测试:
- ⬜ 20+ 轮长对话测试
- ⬜ AI 摘要触发验证
- ⬜ 摘要质量评估
技术决策记录
决策 1: 采用分阶段混合策略
背景: aster 框架的上下文管理能力不明确
决策:
- 阶段 1: 在 Lime 层实现 AI 摘要(当前)
- 阶段 2: P1 完成后统一到 aster 框架
理由:
- 快速交付价值,立即改善用户体验
- 不阻塞 P1 任务,可并行推进
- 降低风险,分步验证
决策 2: 使用 Claude Haiku 生成摘要
理由:
- 成本低(相比 Opus/Sonnet)
- 速度快(< 3 秒)
- 质量足够(摘要任务不需要最强模型)
决策 3: 保留本地摘要作为降级方案
理由:
- 确保功能可用性(AI 调用失败时)
- 降低成本(用户可选择禁用 AI 摘要)
- 向后兼容(已有代码不浪费)
文档输出
规划文档
docs/iteration-notes/context-management-upgrade-plan.md- 总体升级方案docs/iteration-notes/p0-context-management-implementation.md- P0 实施文档docs/iteration-notes/p0-phase1-implementation-plan.md- 阶段 1 详细计划
代码文件
src-tauri/crates/services/src/ai_summary_service.rs- AI 摘要服务(新增)src-tauri/crates/services/src/lib.rs- 模块导出(已修改)
风险与缓解
风险 1: AI 摘要质量不稳定
状态: 待验证 缓解: 精心设计提示词,实现响应验证逻辑
风险 2: API 调用成本
状态: 可控 缓解: 使用 Haiku 模型,实现智能缓存,提供配置开关
风险 3: 与 P1 任务的依赖
状态: 已解决 缓解: 采用分阶段策略,P0 和 P1 可并行推进
下次会话建议
- 继续 P0 阶段 1: 完成 session_context_service.rs 改造
- 集成真实 LLM: 替换 mock 实现
- 编写集成测试: 验证 AI 摘要效果
- 或者开始 P2: 拆分 useAsterAgentChat hook(如果 P0 需要等待其他依赖)
参考资料
- 研究报告: Lime AI Agent 改进研究报告
- Codex 架构: SQ/EQ 异步队列对、AI 摘要
- aster-rust: 渐进式工具响应移除、SubAgentScheduler