agentscope-ai / agentscope-ai/agentscope-java

建议:简化 PlanNotebook 工具数量,参考 Kilocode 和 OpenCode 的设计

Đang mở
#746 3 bình luận 1 reaction 1 người được giao Được @Alexxigang nhận Xem trên GitHub
area/core/agent enhancement help wanted
Ngôn ngữ chính
Java
Star
5.6k
Fork
1.3k
Merge trung bình
4 ngày 12 giờ
Pull request đã merge (30 ngày)
77

Mô tả

## 问题描述

当前 PlanNotebook 提供了 **10 个工具函数**来管理计划和子任务,虽然功能完整,但工具数量较多可能会:
1. 增加 LLM 的上下文负担
2. 降低工具选择的准确性
3. 提高学习和使用成本

## 对比分析

### 当前 agentscope-java 设计
- **工具数量**: 10 个
- **工具列表**:
- Plan 管理: createPlan, updatePlan, deletePlan, getPlan, listPlans
- SubTask 管理: createSubTask, updateSubTask, deleteSubTask, getSubTask, listSubTasks

### Kilocode 设计(3 个工具)
-
ew_task: 创建子任务(启动独立 Agent 会话)
- ttempt_completion: 完成任务并返回结果
- update_todo_list: 更新 TODO 列表

**优点**:
- 极简设计,工具数量少
- 任务委托模式,子任务完全独立
- 元数据管理(Token 使用、成本跟踪)

### OpenCode 设计(5 个工具)
- ask: 启动子 Agent 处理任务
- plan_enter: 进入计划模式
- plan_exit: 退出计划模式
- odoread: 读取 TODO 列表
- odowrite: 写入 TODO 列表

**优点**:
- 模式切换设计(Plan Agent Build Agent)
- 主动式 TODO 管理(强调频繁使用)
- 子任务会话化,支持恢复

## 改进建议

### 方案 1: 合并 CRUD 操作
将 create/update/delete/get/list 合并为更少的工具:

\\\java
// 当前: 5 个 Plan 工具
createPlan(), updatePlan(), deletePlan(), getPlan(), listPlans()

// 建议: 2-3 个工具
managePlan(action, planId?, data?) // action: create/update/delete
queryPlans(planId?) // 查询单个或列表
\\\

### 方案 2: 参考 Kilocode 的委托模式
简化为核心工具:
- createPlan: 创建计划
- manageTasks: 管理子任务(合并 create/update/delete)
- queryPlan: 查询计划和任务状态

### 方案 3: 参考 OpenCode 的模式切换
引入计划模式概念:
- enterPlanMode: 进入计划模式
- updatePlan: 更新计划内容
- exitPlanMode: 退出计划模式并激活

## 预期收益

1. **减少上下文消耗**: 工具数量从 10 个减少到 3-5 个
2. **提高工具选择准确性**: 更少的选项,更清晰的职责
3. **保持功能完整性**: 通过参数化设计保留所有功能
4. **降低学习成本**: 更简洁的 API 设计

## 相关讨论

欢迎讨论是否需要简化工具数量,以及哪种方案更合适。

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.