已关闭
[Feature]: Agent-Team 提示词、身份描述、工具描述可演进 #1561
guoqian创建于  8月18日关闭于  9月29日
guoqian成员
8月18日 创建

Paired: GitHub #711 ↔ GitCode #1561

🚀 背景描述

需求背景

agent-team 跑起来靠三类会被模型看见的文本:leader / teammate 的提示词、成员和团队的身份描述、成员用的工具描述。现在这些都硬编码在代码里和 DB 列里,要改一个团队的措辞(比如 reviewer 更严、swarmflow 引导换说法)只能改代码、发版、重启,节奏慢。不同业务线对同一份模板有差异化诉求,需要让"团队维度的文本"支持改文件 + 重启该 team 即生效,不影响其他 team 和代码默认值。

需求概述

  1. 三类统一落盘:A 提示词、B DB 值、C tool 描述都按 frontmatter + body 写到该 team 的 workspace,baseline_sha256 记基线;
  2. 两个装配入口:write_team_workspace(A 全量 + C 全量 + B team 级,不绑 build_team,成员 spawn / session 恢复 / swarmflow worker 任一路径幂等写)+ write_member_identity(B member 级,spawn 时按 DB 行写自己的身份文件);
  3. 演进保护:body hash ≠ baseline 即视为演进,不覆盖;无 frontmatter 视作手写演进;总开关 evolution_enabled=false 时读侧跳过一切覆盖;
  4. 读侧不抽公共基类:A 用 PromptTemplateCache(config 阶段)、B 用 WorkspaceCache(装配期)、C 用 load_tool_desc(构造期一次性覆盖 ToolCard)。

简单方案

写盘:在 WorkspaceAssembler 加 write_team_workspace / write_member_identity 两个方法,扫工程源目录写 A/C、按 DB 行写 B,重启时用 frontmatter.read_evolved_body 重算 hash 与 baseline 比对;读侧:PromptTemplateCache 按 role 挑模板、load_tool_desc 注入 ToolCard 描述、TeamManager 读 DB 行后用文件值覆盖。目录:~/.jiuwenswarm/.agent_teams/<Team>/team-workspace/prompts/{system,identity,tool}/ + <member_dir>/prompts/identity/,演进方只看一棵目录。

设计思路

.

涉及到的对外API

与其他模块的相关性描述

测试设计与测试计划

.

其他信息

感谢您的贡献 🎉!

likedislike
Gguoqian成员
8月18日 添加了label:feature
openJiuwen-bot成员
8月18日 评论:

注意

此 Issue 需要负责人。 如果没有指派时, iamcandiceguo 是默认的负责人

likedislike
OopenJiuwen-bot成员
8月18日 将 iamcandiceguo 设为负责人
OopenJiuwen-bot成员
8月18日 添加了label:sig/sig-agent-core
openJiuwen-bot成员
8月18日 评论:

欢迎来到 openJiuwen 社区

Hey @iamcandiceguo , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-agent-core ,
维护者是: @seanzhang_cn, @xinyu-jiuwen ,
审核者是: @alan_cheng, @deyang, @iamcandiceguo, @yangzequ .

likedislike
guoqian成员
8月18日 评论:
Gguoqian成员
8月18日 添加了label:team
此处折叠了14条事件消息 查看更多
夏景夏景成员
8月31日 关联了pull request:fix(team_workspace): resolve cleanup via link and drop dead leader refs
夏景
夏景成员
9月16日 评论:
likedislike
夏景
夏景成员
9月28日 评论:

格式参考如下

【测试设计】
附上测试设计文件,脑图/md/excel等格式都可

【自验结论】:
1、新增level0用例xx个,level1用例xx个,用例路径 /xxx/xxx,需求用例通过率xx%(失败用例xx个涉及issue #xx #xx,计划v0.x.x发布前解决);
2、开发新增+修改代码量xx行(不包括测试用例代码)。

likedislike
夏景
夏景成员
9月28日 评论:

1、用例统计

项 数值
新增 level0 用例 75 个
新增 level1 用例 14 个
新增用例合计 173 个(另有 84 个新增用例未标注 level 分级,分布于 6 个基础组件测试文件)
用例路径 tests/unit_tests/agent_teams/team_workspace/、tests/unit_tests/agent_teams/agent/、tests/unit_tests/agent_teams/external/、tests/unit_tests/agent_teams/runtime/、tests/unit_tests/agent_teams/(根目录协同类用例)
需求用例通过率 100%(失败用例 0 个,无遗留 issue)

新增用例按 MR 分布:

MR 说明 level0 level1 未标注 小计
!2453 spill message/task content into session files 1 0 14 15
!2454 evolvable workspace(assembly/layout/cache/wiring) 0 4 67 71
!2455 member-directory linker 50 0 0 50
!2473 skip migration scan for new session tables 3 0 0 3
!2496 re-announce evolved member_prompt(同 session resume) 0 4 0 4
!2511 team_workspace cleanup via link + drop dead leader refs 6 6 3 15
!2512 attach shared workspace cache to external CLI backend 1 0 0 1
!2523 write evolved md value to db at spawn_member time 14 0 0 14
合计 75 14 84 173

2、开发新增 + 修改代码量(不含测试用例代码)

分类 新增(+) 删除(-) 净增
纯开发代码(.py,不含 tests/) 5,260 663 4,597
设计文档(.md 规范/feature 文档) 1,139 49 1,090
开发新增+修改合计 6,399 712 5,687
测试用例代码(tests/) 4,468 243 4,225

按 MR 分布(开发代码 dev_py + docs,不含 tests/):

MR 新增(+) 删除(-)
!2453 925 83
!2454 3,180 233
!2455 1,191 10
!2473 160 11
!2496 365 32
!2511 418 139
!2512 35 4
!2523 125 200
合计 6,399 712
likedislike
Gguoqian成员
9月29日 issue状态由 TODO 改变为 DONE
Gguoqian成员
9月29日 关闭了 issue
Oopenjiuwen-sync成员
9月29日 修改了issue 的描述