agentscope-ai / agentscope-ai/AgentTeams

同一team worker完成不同任务会出现session混乱

Aperta
#581 1 commento 0 reazioni 1 assegnatario Rivendicata da @maplefeng-a Vedi su GitHub
area:worker-runtime
Lingua principale
Go
Stelle
5.6k
Fork
692
Merge medio
5g 4h
PR unite (30g)
23

Descrizione

前team内跨任务会混淆(举例,我给同一个team中的所有成员分配了两个task,task A与task B,两个任务分别单独建立了群聊room,用于沟通;但是目前会出现 两个任务并行,部分worker会把task A的相关结果 回复到 task B中)

**还是需要明确的 Task CRD**配合 session / 上下文 才能更好的做好隔离和并行

以下是CC的建议方案(经过测试,需要开放 worker读取 matrix 拓展字段的权限)

# Worker AGENTS.md 增加以下规则

## 任务上下文状态机

### 状态定义
- IDLE: 无活跃任务
- TASK_A_ACTIVE: 当前在 Room A 处理 Task A
- TASK_B_ACTIVE: 当前在 Room B 处理 Task B

### 状态转换规则

1. 收到消息时:
- 从消息 content.hiclaw.io/task-id 获取任务 ID
- 或从 room-task-mapping.json 查询 Room → Task 映射
- 设置 internal_state = TASK_X_ACTIVE

2. 发送回复时:
- 必须检查 internal_state
- 回复前缀:[Task X] 确认收到...
- 如果讨论内容与 internal_state 不匹配,发出警告

3. 禁止规则:
- 在 Task A 的 Room 中,**禁止** 讨论 Task B 的内容
- 如果需要切换任务,必须先声明:[切换任务] 现在开始处理 Task B

数据结构定义
1. Matrix 消息扩展字段(标准 Matrix event content)

{
"type": "m.room.message",
"room_id": "!room-task-a:matrix.local",
"content": {
"msgtype": "m.text",
"body": "@alpha-dev 请处理这个 bug",
"hiclaw.io/task-id": "task-20260407-001",
"hiclaw.io/task-title": "Task A: Bug fix",
"hiclaw.io/task-source": "manager"
}
}
说明:Matrix 协议允许在 content 中添加任意自定义字段,以 hiclaw.io/ 为命名空间前缀。

2. room-task-mapping.json(Worker 本地状态文件)

{
"version": 1,
"updated_at": "2026-04-07T10:30:00Z",
"mappings": {
"!room-task-a:matrix.local": {
"task_id": "task-20260407-001",
"task_title": "Task A: Bug fix",
"assigned_by": "@alpha-lead:matrix.local",
"created_at": "2026-04-07T10:00:00Z",
"status": "active"
},
"!room-task-b:matrix.local": {
"task_id": "task-20260407-002",
"task_title": "Task B: Feature implementation",
"assigned_by": "@alpha-lead:matrix.local",
"created_at": "2026-04-07T10:15:00Z",
"status": "active"
}
}
}
文件位置:/root/hiclaw-fs/agents/{worker-name}/room-task-mapping.json

3. team-state.json 扩展(Team Leader 维护)

{
"team_id": "alpha-team",
"active_tasks": [
{
"task_id": "task-20260407-001",
"title": "Task A: Bug fix",
"type": "finite",
"assigned_to": "alpha-dev",
"room_id": "!room-task-a:matrix.local",
"source": "manager",
"created_at": "2026-04-07T10:00:00Z"
},
{
"task_id": "task-20260407-002",
"title": "Task B: Feature implementation",
"type": "finite",
"assigned_to": "alpha-dev",
"room_id": "!room-task-b:matrix.local",
"source": "manager",
"created_at": "2026-04-07T10:15:00Z"
}
]
}

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.