Integrate the Agent-Squad engine
Details (original message): Integrate the Agent-Squad engine: squadadapter maps RoleRegistry/RulePlanner/BackendResolver/ProgressSink/HITL onto the unified Run and event model (step subagents, plan updates, deliverable artifacts, confirmation cards); step-wise engine driving loop; model routing respects profile routes with layered resolver + integration tests; context assembly observation flows to run.completed; mock outputs and e2e coverage.
This commit is contained in:
@@ -13,3 +13,6 @@
|
||||
[submodule "deps/error-code-system"]
|
||||
path = deps/error-code-system
|
||||
url = ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Error-Code-System.git
|
||||
[submodule "deps/agent-squad"]
|
||||
path = deps/agent-squad
|
||||
url = ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-Squad.git
|
||||
|
||||
+1
Submodule deps/agent-squad added at 5454f7485e
Vendored
+1
-1
Submodule deps/agent-system-core updated: 9179a23f0a...c7ae99b13c
@@ -11,6 +11,8 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
agent-squad v0.0.0-00010101000000-000000000000 // indirect
|
||||
error-code-system v0.0.0 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/mattn/go-isatty v0.0.24 // indirect
|
||||
@@ -25,6 +27,8 @@ require (
|
||||
|
||||
replace agent-intent => ./deps/agent-intent
|
||||
|
||||
replace agent-squad => ./deps/agent-squad
|
||||
|
||||
replace agent-native => ./deps/agent-native
|
||||
|
||||
replace agent-system-core => ./deps/agent-system-core
|
||||
|
||||
@@ -48,6 +48,7 @@ func Run(opt Options) error {
|
||||
return fmt.Errorf("builtin tools: %w", err)
|
||||
}
|
||||
setSvc := settings.NewService(st)
|
||||
setSvc.SetSystemOverride(map[string]any{"storage": map[string]any{"dataDir": opt.DataDir}})
|
||||
profSvc := profiles.New(st)
|
||||
if err := profSvc.EnsureDefault(); err != nil {
|
||||
return fmt.Errorf("default profile: %w", err)
|
||||
|
||||
@@ -39,6 +39,7 @@ type runHandle struct {
|
||||
cancel context.CancelFunc
|
||||
hitlCh chan hitlAnswer
|
||||
assistant []core.Part
|
||||
ctxObs *core.ContextObservation
|
||||
started time.Time
|
||||
}
|
||||
|
||||
@@ -85,6 +86,11 @@ func (c *runCtx) History() []core.Message {
|
||||
func (c *runCtx) Attachments() []core.ParsedDocument { return c.attachments }
|
||||
func (c *runCtx) Subtask() string { return c.subTask }
|
||||
func (c *runCtx) Tools() []core.ToolDesc { return c.mgr.registry.List() }
|
||||
func (c *runCtx) SetContextObservation(o core.ContextObservation) {
|
||||
c.mgr.mu.Lock()
|
||||
c.h.ctxObs = &o
|
||||
c.mgr.mu.Unlock()
|
||||
}
|
||||
|
||||
func (c *runCtx) Emit(typ core.StreamEventType, payload any) error {
|
||||
_, err := c.mgr.emit(c.run.ConversationID, c.run.ID, typ, payload)
|
||||
@@ -310,7 +316,12 @@ func (m *Manager) finishRun(rc *runCtx, status core.RunStatus, usage core.Usage,
|
||||
switch status {
|
||||
case core.RunCompleted:
|
||||
usagePayload := core.RunCompletedPayload{Usage: usage}
|
||||
// 把工具调用数补进 usage(由 runner 在部件里体现,这里取事件计数)。
|
||||
// 上下文组装观测随终态下发(4.10/4.17:构成与裁剪可解释)。
|
||||
m.mu.Lock()
|
||||
if rc.h.ctxObs != nil {
|
||||
usagePayload.Context = rc.h.ctxObs
|
||||
}
|
||||
m.mu.Unlock()
|
||||
m.emit(rc.run.ConversationID, rc.run.ID, core.EvRunCompleted, usagePayload)
|
||||
case core.RunFailed:
|
||||
m.emit(rc.run.ConversationID, rc.run.ID, core.EvRunFailed, core.RunFailedPayload{Code: errPart.Code, Message: errPart.Message})
|
||||
@@ -512,9 +523,16 @@ func (m *Manager) spawnSubagent(parentCtx context.Context, parent core.Run, name
|
||||
m.mu.Lock()
|
||||
subParts := append([]core.Part{}, h.assistant...)
|
||||
m.mu.Unlock()
|
||||
fullText := partsText(subParts)
|
||||
if len(subParts) > 0 {
|
||||
_ = m.st.AppendMessage(&core.Message{ConversationID: child.ConversationID, RunID: child.ID, Role: core.RoleAssistant, Parts: subParts})
|
||||
}
|
||||
if fullText != "" {
|
||||
payload.Text = fullText
|
||||
if payload.Summary == "" || payload.Summary == "完成" {
|
||||
payload.Summary = truncate(fullText, 160)
|
||||
}
|
||||
}
|
||||
|
||||
m.mu.Lock()
|
||||
delete(m.active, child.ID)
|
||||
@@ -552,6 +570,17 @@ func (m *Manager) InterruptRunning() {
|
||||
}
|
||||
}
|
||||
|
||||
func partsText(parts []core.Part) string {
|
||||
var sb strings.Builder
|
||||
for _, p := range parts {
|
||||
if p.Type == core.PartText {
|
||||
sb.WriteString(p.Text)
|
||||
sb.WriteString("\n")
|
||||
}
|
||||
}
|
||||
return strings.TrimSpace(sb.String())
|
||||
}
|
||||
|
||||
func truncate(s string, n int) string {
|
||||
if len(s) <= n {
|
||||
return s
|
||||
|
||||
+35
-23
@@ -8,6 +8,7 @@ import (
|
||||
agentllm "agent-native/runtime/llm"
|
||||
core "agent-system-core"
|
||||
"agent-system-backend/internal/ctxasm"
|
||||
"agent-system-backend/internal/squadadapter"
|
||||
)
|
||||
|
||||
// LLMRunner 主对话执行器:复用 agent-native 的 OpenAI 兼容流式客户端(不自研接入层)。
|
||||
@@ -21,19 +22,18 @@ const (
|
||||
toolDelegate = "delegate_task"
|
||||
toolPlan = "update_plan"
|
||||
toolTodos = "update_todos"
|
||||
toolSquad = "squad_orchestrate"
|
||||
)
|
||||
|
||||
func (l *LLMRunner) Execute(rc RunCtx) error {
|
||||
eff := rc.Settings()
|
||||
chat := eff.GetString("models.chat.model", "")
|
||||
base := eff.GetString("models.chat.baseUrl", "")
|
||||
key := eff.GetString("models.chat.apiKey", "")
|
||||
if chat == "" || base == "" {
|
||||
return fmt.Errorf("llm: 主模型未配置(settings: models.chat.baseUrl / models.chat.model;演示模式可开 runtime.mock)")
|
||||
prof := rc.Profile()
|
||||
route := ResolveChatModel(prof, eff)
|
||||
if route.Model == "" || route.Base == "" {
|
||||
return fmt.Errorf("llm: 主模型未配置(当前解析:model=%q base=%q;检查 settings.models.chat 与画像 ModelRoute;演示模式可开 runtime.mock)", route.Model, route.Base)
|
||||
}
|
||||
|
||||
client := &agentllm.Client{BaseURL: base, APIKey: key}
|
||||
prof := rc.Profile()
|
||||
client := &agentllm.Client{BaseURL: route.Base, APIKey: route.Key}
|
||||
|
||||
// 知识注入:当前消息包含 @knowledge 引用时检索注入(最小实现:显式引用)。
|
||||
var knowledge []core.RetrievalHit
|
||||
@@ -53,10 +53,16 @@ func (l *LLMRunner) Execute(rc RunCtx) error {
|
||||
break
|
||||
}
|
||||
}
|
||||
msgs, _ := ctxasm.AssembleInput(prof, eff, hist, currentUser, rc.Attachments(), knowledge)
|
||||
msgs, asmReport := ctxasm.AssembleInput(prof, eff, hist, currentUser, rc.Attachments(), knowledge)
|
||||
if asmReport != nil {
|
||||
rc.SetContextObservation(core.ContextObservation{
|
||||
Items: asmReport.Items, Truncations: asmReport.Truncations, EstChars: asmReport.EstChars,
|
||||
})
|
||||
}
|
||||
|
||||
// 声明工具:编排型内置 + 注册表中画像允许的工具。
|
||||
decls := []agentllm.ToolDecl{
|
||||
{Name: toolSquad, Description: "用小队编排引擎执行多步骤目标:规则规划器拆解为 梳理→专项→成文→终审 步骤并逐步执行(每步一个子代理),挂起决策会以提问卡片征求用户", Parameters: json.RawMessage(`{"type":"object","properties":{"goal":{"type":"string","description":"要完成的整体目标描述"}},"required":["goal"]}`)},
|
||||
{Name: toolDelegate, Description: "派生一个子代理执行独立子任务(如检索、撰写),返回其结果摘要", Parameters: json.RawMessage(`{"type":"object","properties":{"name":{"type":"string","description":"子代理角色名"},"task":{"type":"string","description":"子任务描述"},"hint":{"type":"string","description":"执行提示"}},"required":["name","task"]}`)},
|
||||
{Name: toolPlan, Description: "创建或更新当前会话的计划(步骤列表)", Parameters: json.RawMessage(`{"type":"object","properties":{"title":{"type":"string"},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["pending","in_progress","done","skipped"]}},"required":["id","text","status"]}}},"required":["title","steps"]}`)},
|
||||
{Name: toolTodos, Description: "更新当前会话的待办清单", Parameters: json.RawMessage(`{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["pending","in_progress","done"]}},"required":["id","text","status"]}}},"required":["items"]}`)},
|
||||
@@ -92,7 +98,7 @@ func (l *LLMRunner) Execute(rc RunCtx) error {
|
||||
var turnThinking, turnText strings.Builder
|
||||
var calls []agentllm.ToolCall
|
||||
var usage agentllm.Usage
|
||||
ev := client.Stream(rc.Context(), chat, msgs, decls, agentllm.StreamOptions{})
|
||||
ev := client.Stream(rc.Context(), route.Model, msgs, decls, agentllm.StreamOptions{})
|
||||
phaseEmitted := false
|
||||
for e := range ev {
|
||||
switch e.Kind {
|
||||
@@ -153,6 +159,20 @@ func (l *LLMRunner) Execute(rc RunCtx) error {
|
||||
var err error
|
||||
var artifactRef *core.ArtifactRef
|
||||
switch call.Name {
|
||||
case toolSquad:
|
||||
if !eff.GetBool("runtime.squad", true) {
|
||||
out = "小队编排已被设置禁用(runtime.squad)"
|
||||
break
|
||||
}
|
||||
var a struct{ Goal string }
|
||||
json.Unmarshal([]byte(call.Arguments), &a)
|
||||
dataDir := eff.GetString("storage.dataDir", "./data")
|
||||
summary, serr := squadadapter.Orchestrate(rc, dataDir, a.Goal)
|
||||
if serr != nil {
|
||||
out = "小队编排失败:" + serr.Error()
|
||||
} else {
|
||||
out = summary
|
||||
}
|
||||
case toolDelegate:
|
||||
var a struct{ Name, Task, Hint string }
|
||||
json.Unmarshal([]byte(call.Arguments), &a)
|
||||
@@ -190,7 +210,7 @@ func (l *LLMRunner) Execute(rc RunCtx) error {
|
||||
}
|
||||
rc.Emit(core.EvToolResult, core.ToolResultPayload{CallID: call.ID, Status: res.Status, Summary: summarize(out, err), Truncated: res.Truncated})
|
||||
}
|
||||
if call.Name == toolDelegate || call.Name == toolPlan || call.Name == toolTodos {
|
||||
if call.Name == toolDelegate || call.Name == toolPlan || call.Name == toolTodos || call.Name == toolSquad {
|
||||
rc.Emit(core.EvToolResult, core.ToolResultPayload{CallID: call.ID, Status: "ok", Summary: summarize(out, err)})
|
||||
}
|
||||
|
||||
@@ -222,26 +242,18 @@ type SubLLMRunner struct{}
|
||||
func (l *SubLLMRunner) Name() string { return "llm-subagent" }
|
||||
|
||||
func (l *SubLLMRunner) Execute(rc RunCtx) error {
|
||||
eff := rc.Settings()
|
||||
model := eff.GetString("models.lightweight.model", "")
|
||||
base := eff.GetString("models.lightweight.baseUrl", "")
|
||||
key := eff.GetString("models.lightweight.apiKey", "")
|
||||
if model == "" || base == "" {
|
||||
model = eff.GetString("models.chat.model", "")
|
||||
base = eff.GetString("models.chat.baseUrl", "")
|
||||
key = eff.GetString("models.chat.apiKey", "")
|
||||
}
|
||||
if model == "" || base == "" {
|
||||
return fmt.Errorf("llm-subagent: 模型未配置")
|
||||
route := ResolveLightweightModel(rc.Profile(), rc.Settings())
|
||||
if route.Model == "" || route.Base == "" {
|
||||
return fmt.Errorf("llm-subagent: 模型未配置(当前解析:model=%q base=%q)", route.Model, route.Base)
|
||||
}
|
||||
rc.Emit(core.EvAgentProgress, core.AgentProgressPayload{AgentRun: rc.Run().ID, Note: "执行子任务……", Phase: core.PhaseActing})
|
||||
client := &agentllm.Client{BaseURL: base, APIKey: key}
|
||||
client := &agentllm.Client{BaseURL: route.Base, APIKey: route.Key}
|
||||
msgs := []agentllm.Message{
|
||||
{Role: agentllm.RoleSystem, Content: "你是被派生的子代理。独立完成给定子任务,输出简明结果摘要(不超过 300 字)。"},
|
||||
{Role: agentllm.RoleUser, Content: rc.Subtask()},
|
||||
}
|
||||
var sb strings.Builder
|
||||
for e := range client.Stream(rc.Context(), model, msgs, nil, agentllm.StreamOptions{}) {
|
||||
for e := range client.Stream(rc.Context(), route.Model, msgs, nil, agentllm.StreamOptions{}) {
|
||||
if e.Kind == agentllm.KindTextDelta {
|
||||
sb.WriteString(e.Text)
|
||||
rc.Emit(core.EvAgentProgress, core.AgentProgressPayload{AgentRun: rc.Run().ID, Note: truncateRun(sb.String(), 80)})
|
||||
|
||||
@@ -6,8 +6,18 @@ import (
|
||||
"time"
|
||||
|
||||
core "agent-system-core"
|
||||
"agent-system-backend/internal/squadadapter"
|
||||
)
|
||||
|
||||
func firstNonEmpty0(vals ...string) string {
|
||||
for _, v := range vals {
|
||||
if strings.TrimSpace(v) != "" {
|
||||
return v
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// MockRunner 按脚本回放事件流(P1 骨架闭环与验收基线;不调用任何模型)。
|
||||
// 用户消息中的指令词触发不同演示路径,其余走默认脚本(思考→工具→回复)。
|
||||
type MockRunner struct{}
|
||||
@@ -32,6 +42,11 @@ func (m *MockRunner) Execute(rc RunCtx) error {
|
||||
addText := func(t string) {
|
||||
parts = append(parts, core.Part{Type: core.PartText, Text: t})
|
||||
}
|
||||
// mock 路径同样产出上下文观测(演示可解释性入口;真实路径由 ctxasm 产出)。
|
||||
rc.SetContextObservation(core.ContextObservation{
|
||||
Items: []string{"system(画像)", "history(mock)", "attachments(0)"},
|
||||
EstChars: len(user) + 128,
|
||||
})
|
||||
|
||||
switch {
|
||||
case strings.Contains(user, "#hitl"):
|
||||
@@ -95,6 +110,23 @@ func (m *MockRunner) Execute(rc RunCtx) error {
|
||||
}
|
||||
addText("文档已生成,见右侧 Artifacts 标签(也可点击消息中的工件引用)。")
|
||||
|
||||
case strings.Contains(user, "#squad"):
|
||||
rc.Emit(core.EvThinkingDelta, core.ThinkingDeltaPayload{Index: 0, Text: "调用 Agent-Squad 引擎编排……"})
|
||||
parts = append(parts, core.Part{Type: core.PartThinking, Text: "调用 Agent-Squad 引擎编排……", Process: true})
|
||||
goal := strings.TrimSpace(strings.ReplaceAll(strings.ReplaceAll(user, "#squad", ""), "#hitl", ""))
|
||||
if eff := rc.Settings(); !eff.GetBool("runtime.squad", true) {
|
||||
addText("小队编排已被设置禁用(runtime.squad)。")
|
||||
rc.SetAssistantParts(parts)
|
||||
return nil
|
||||
}
|
||||
dataDir := rc.Settings().GetString("storage.dataDir", "./data")
|
||||
summary, err := squadadapter.Orchestrate(rc, dataDir, firstNonEmpty0(goal, "生成一份关于演示目标的简要报告"))
|
||||
if err != nil {
|
||||
addText("小队编排结束(" + err.Error() + ")。摘要:" + summary)
|
||||
} else {
|
||||
addText("Agent-Squad 编排完成:" + summary + "。步骤与子代理见右栏「计划」「代理」。")
|
||||
}
|
||||
|
||||
case strings.Contains(user, "#error"):
|
||||
return fmt.Errorf("mock: 演示失败路径(#error 指令)")
|
||||
|
||||
@@ -134,7 +166,9 @@ func (m *MockSubagent) Execute(rc RunCtx) error {
|
||||
time.Sleep(150 * time.Millisecond)
|
||||
rc.Emit(core.EvAgentProgress, core.AgentProgressPayload{AgentRun: rc.Run().ID, Note: "处理中……", Phase: core.PhaseActing})
|
||||
time.Sleep(150 * time.Millisecond)
|
||||
rc.SetAssistantParts([]core.Part{{Type: core.PartText, Text: "子任务完成(mock)。"}})
|
||||
|
||||
task := rc.Subtask()
|
||||
rc.SetAssistantParts([]core.Part{{Type: core.PartText, Text: fmt.Sprintf("# 子代理产出(mock)\n\n任务:%s\n\n- 已按子代理角色完成处理\n- 本文本将作为小队步骤的交付物写入工作区\n- 任务树与中间过程可在右栏与弹窗查看\n", firstNonEmpty0(task, "(未提供任务描述)"))}})
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package runtime
|
||||
|
||||
import (
|
||||
core "agent-system-core"
|
||||
)
|
||||
|
||||
// 模型路由解析(4.7 / 4.9 覆盖链):设置层 defaults → system → user → project,
|
||||
// 画像 ModelRoute 为会话内最高层覆盖(kind 为空回落设置层主模型)。
|
||||
// 端点与密钥按 kind 独立配置,轻量档空则回落主档。
|
||||
|
||||
// ResolvedModel 是一次路由解析的结果。
|
||||
type ResolvedModel struct {
|
||||
Kind string // chat | lightweight
|
||||
Model string
|
||||
Base string
|
||||
Key string
|
||||
}
|
||||
|
||||
// ResolveChatModel 解析主对话模型(画像 route > 设置层)。
|
||||
func ResolveChatModel(prof core.AgentProfile, eff core.EffectiveSettings) ResolvedModel {
|
||||
m := eff.GetString("models.chat.model", "")
|
||||
if prof.Model.Chat != "" {
|
||||
m = prof.Model.Chat
|
||||
}
|
||||
return ResolvedModel{Kind: "chat", Model: m,
|
||||
Base: eff.GetString("models.chat.baseUrl", ""),
|
||||
Key: eff.GetString("models.chat.apiKey", "")}
|
||||
}
|
||||
|
||||
// ResolveLightweightModel 解析轻量模型:画像 route > 设置层轻量档 > 回落主档。
|
||||
func ResolveLightweightModel(prof core.AgentProfile, eff core.EffectiveSettings) ResolvedModel {
|
||||
m := eff.GetString("models.lightweight.model", "")
|
||||
base := eff.GetString("models.lightweight.baseUrl", "")
|
||||
key := eff.GetString("models.lightweight.apiKey", "")
|
||||
if prof.Model.Lightweight != "" {
|
||||
m = prof.Model.Lightweight
|
||||
}
|
||||
if m == "" || base == "" {
|
||||
// 回落主档(模型与端点分别回落,允许轻量仅覆盖模型名)。
|
||||
chat := ResolveChatModel(prof, eff)
|
||||
if m == "" {
|
||||
m = chat.Model
|
||||
}
|
||||
if base == "" {
|
||||
base, key = chat.Base, chat.Key
|
||||
}
|
||||
}
|
||||
return ResolvedModel{Kind: "lightweight", Model: m, Base: base, Key: key}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package runtime
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
core "agent-system-core"
|
||||
)
|
||||
|
||||
func effOf(kv map[string]any) core.EffectiveSettings { return core.EffectiveSettings(kv) }
|
||||
|
||||
// 三层覆盖链解析:defaults → user → project 由 settings 服务合并(server 集成测试覆盖);
|
||||
// 此处验证解析器对「设置层结果 + 画像层」的最后一级覆盖与回落。
|
||||
func TestResolveChatModelLayers(t *testing.T) {
|
||||
eff := effOf(map[string]any{"models": map[string]any{"chat": map[string]any{
|
||||
"model": "model-settings", "baseUrl": "https://s.example", "apiKey": "k0",
|
||||
}}})
|
||||
prof := core.AgentProfile{}
|
||||
|
||||
// 仅设置层。
|
||||
got := ResolveChatModel(prof, eff)
|
||||
if got.Model != "model-settings" || got.Base != "https://s.example" || got.Key != "k0" {
|
||||
t.Fatalf("settings layer: %+v", got)
|
||||
}
|
||||
// 画像覆盖模型(端点沿用设置层)。
|
||||
prof.Model.Chat = "model-profile"
|
||||
got = ResolveChatModel(prof, eff)
|
||||
if got.Model != "model-profile" || got.Base != "https://s.example" {
|
||||
t.Fatalf("profile layer should override model only: %+v", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveLightweightFallback(t *testing.T) {
|
||||
eff := effOf(map[string]any{"models": map[string]any{
|
||||
"chat": map[string]any{"model": "main-m", "baseUrl": "https://main", "apiKey": "k"},
|
||||
"lightweight": map[string]any{"model": ""},
|
||||
}})
|
||||
got := ResolveLightweightModel(core.AgentProfile{}, eff)
|
||||
if got.Model != "main-m" || got.Base != "https://main" {
|
||||
t.Fatalf("lightweight should fall back to chat: %+v", got)
|
||||
}
|
||||
// 轻量档只配模型名:模型用轻量、端点回落主档。
|
||||
eff["models"].(map[string]any)["lightweight"] = map[string]any{"model": "lite-m"}
|
||||
got = ResolveLightweightModel(core.AgentProfile{Model: core.ModelRoute{Lightweight: "prof-lite"}}, eff)
|
||||
if got.Model != "prof-lite" || got.Base != "https://main" {
|
||||
t.Fatalf("profile lightweight + chat endpoint: %+v", got)
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,8 @@ type RunCtx interface {
|
||||
Tools() []core.ToolDesc
|
||||
// Subtask 返回子代理任务描述(仅 subagent run 有值)。
|
||||
Subtask() string
|
||||
// SetContextObservation 记录本次运行的上下文组装观测(随 run.completed 下发)。
|
||||
SetContextObservation(o core.ContextObservation)
|
||||
}
|
||||
|
||||
// Runner 执行一个 run 至终态:返回 nil = completed;ctx 取消应返回 ctx.Err()。
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"facts": null,
|
||||
"gaps": null,
|
||||
"implications": null,
|
||||
"fields": {},
|
||||
"updated_at": "2026-09-29T18:24:46.040810299Z"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"squad_name": "生成一份示例目标简报",
|
||||
"version": "1",
|
||||
"agents": [
|
||||
{
|
||||
"role": "organizer",
|
||||
"name": "organizer专员",
|
||||
"source": "derived",
|
||||
"base_role": "planner",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"梳理目标背景与输入材料,产出事实与缺口"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "specialist",
|
||||
"name": "specialist专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"围绕目标开展专业分析与推演"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "writer",
|
||||
"name": "撰稿员",
|
||||
"source": "registered",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"keywords": [
|
||||
"撰写",
|
||||
"成文",
|
||||
"报告"
|
||||
],
|
||||
"instructions": "把前序要点与调研结论整理为清晰成文的交付文档。"
|
||||
},
|
||||
{
|
||||
"role": "leader",
|
||||
"name": "leader专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"一致性终审与交付把关"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:梳理目标背景与输入材料,产出事实与缺口
|
||||
|
||||
- 角色:organizer专员(organizer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:围绕目标开展专业分析与推演
|
||||
|
||||
- 角色:specialist专员(specialist)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
把前序要点与调研结论整理为清晰成文的交付文档。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:汇总各角色产出,撰写交付物初稿
|
||||
|
||||
- 角色:撰稿员(writer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:一致性终审与交付把关
|
||||
|
||||
- 角色:leader专员(leader)
|
||||
- 期望产出:[output.md]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# 生成一份示例目标简报
|
||||
|
||||
## 概述与背景
|
||||
|
||||
(目标、范围与输入材料概述)
|
||||
|
||||
## 核心内容
|
||||
|
||||
(按目标拆解的核心分析/结果章节)
|
||||
|
||||
## 风险与注意事项
|
||||
|
||||
(风险、限制与依赖)
|
||||
|
||||
## 基准假设与待确认清单
|
||||
|
||||
(假设及需人工确认事项)
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"workflow_id": "wf_1790706285654853719",
|
||||
"title": "生成一份示例目标简报",
|
||||
"planning_mode": "autonomous",
|
||||
"status": "failed",
|
||||
"current_step_index": 0,
|
||||
"steps": [
|
||||
{
|
||||
"id": "step_01_organizer",
|
||||
"role": "organizer",
|
||||
"title": "梳理目标背景与输入材料,产出事实与缺口",
|
||||
"sub_workspace": "tasks/01_organizer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "failed",
|
||||
"duration_ms": 302,
|
||||
"error": "missing deliverables: [notes.md fields.json]"
|
||||
},
|
||||
{
|
||||
"id": "step_02_specialist",
|
||||
"role": "specialist",
|
||||
"title": "围绕目标开展专业分析与推演",
|
||||
"sub_workspace": "tasks/02_specialist",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_03_writer",
|
||||
"role": "writer",
|
||||
"title": "汇总各角色产出,撰写交付物初稿",
|
||||
"sub_workspace": "tasks/03_writer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_04_leader",
|
||||
"role": "leader",
|
||||
"title": "一致性终审与交付把关",
|
||||
"sub_workspace": "tasks/04_leader",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"output.md"
|
||||
],
|
||||
"status": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"id": "run_20260929T182445.654814990",
|
||||
"goal": {
|
||||
"text": "生成一份示例目标简报"
|
||||
},
|
||||
"status": "executing",
|
||||
"backend": "agent-system",
|
||||
"planner": "rule",
|
||||
"work_dir": "data/squad/run_536ef7ed0c73/runs/run_20260929T182445.654814990",
|
||||
"created_at": "2026-09-29T18:24:45.65482064Z",
|
||||
"updated_at": "2026-09-29T18:24:46.040597085Z",
|
||||
"metadata": {
|
||||
"mode": "",
|
||||
"task_key": ""
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"facts": null,
|
||||
"gaps": null,
|
||||
"implications": null,
|
||||
"fields": {},
|
||||
"updated_at": "2026-09-29T18:21:10.615100644Z"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"squad_name": "生成一份示例目标简报",
|
||||
"version": "1",
|
||||
"agents": [
|
||||
{
|
||||
"role": "organizer",
|
||||
"name": "organizer专员",
|
||||
"source": "derived",
|
||||
"base_role": "planner",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"梳理目标背景与输入材料,产出事实与缺口"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "specialist",
|
||||
"name": "specialist专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"围绕目标开展专业分析与推演"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "writer",
|
||||
"name": "撰稿员",
|
||||
"source": "registered",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"keywords": [
|
||||
"撰写",
|
||||
"成文",
|
||||
"报告"
|
||||
],
|
||||
"instructions": "把前序要点与调研结论整理为清晰成文的交付文档。"
|
||||
},
|
||||
{
|
||||
"role": "leader",
|
||||
"name": "leader专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"一致性终审与交付把关"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:梳理目标背景与输入材料,产出事实与缺口
|
||||
|
||||
- 角色:organizer专员(organizer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:围绕目标开展专业分析与推演
|
||||
|
||||
- 角色:specialist专员(specialist)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
把前序要点与调研结论整理为清晰成文的交付文档。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:汇总各角色产出,撰写交付物初稿
|
||||
|
||||
- 角色:撰稿员(writer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:一致性终审与交付把关
|
||||
|
||||
- 角色:leader专员(leader)
|
||||
- 期望产出:[output.md]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# 生成一份示例目标简报
|
||||
|
||||
## 概述与背景
|
||||
|
||||
(目标、范围与输入材料概述)
|
||||
|
||||
## 核心内容
|
||||
|
||||
(按目标拆解的核心分析/结果章节)
|
||||
|
||||
## 风险与注意事项
|
||||
|
||||
(风险、限制与依赖)
|
||||
|
||||
## 基准假设与待确认清单
|
||||
|
||||
(假设及需人工确认事项)
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"workflow_id": "wf_1790706070248445331",
|
||||
"title": "生成一份示例目标简报",
|
||||
"planning_mode": "autonomous",
|
||||
"status": "failed",
|
||||
"current_step_index": 0,
|
||||
"steps": [
|
||||
{
|
||||
"id": "step_01_organizer",
|
||||
"role": "organizer",
|
||||
"title": "梳理目标背景与输入材料,产出事实与缺口",
|
||||
"sub_workspace": "tasks/01_organizer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "failed",
|
||||
"duration_ms": 303,
|
||||
"error": "missing deliverables: [notes.md fields.json]"
|
||||
},
|
||||
{
|
||||
"id": "step_02_specialist",
|
||||
"role": "specialist",
|
||||
"title": "围绕目标开展专业分析与推演",
|
||||
"sub_workspace": "tasks/02_specialist",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_03_writer",
|
||||
"role": "writer",
|
||||
"title": "汇总各角色产出,撰写交付物初稿",
|
||||
"sub_workspace": "tasks/03_writer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_04_leader",
|
||||
"role": "leader",
|
||||
"title": "一致性终审与交付把关",
|
||||
"sub_workspace": "tasks/04_leader",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"output.md"
|
||||
],
|
||||
"status": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"id": "run_20260929T182110.248410412",
|
||||
"goal": {
|
||||
"text": "生成一份示例目标简报"
|
||||
},
|
||||
"status": "executing",
|
||||
"backend": "agent-system",
|
||||
"planner": "rule",
|
||||
"work_dir": "data/squad/run_5e64ebd987c0/runs/run_20260929T182110.248410412",
|
||||
"created_at": "2026-09-29T18:21:10.248414712Z",
|
||||
"updated_at": "2026-09-29T18:21:10.614790993Z",
|
||||
"metadata": {
|
||||
"mode": "",
|
||||
"task_key": ""
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"facts": null,
|
||||
"gaps": null,
|
||||
"implications": null,
|
||||
"fields": {},
|
||||
"updated_at": "2026-09-29T18:20:50.315927955Z"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"squad_name": "生成一份示例目标简报",
|
||||
"version": "1",
|
||||
"agents": [
|
||||
{
|
||||
"role": "organizer",
|
||||
"name": "organizer专员",
|
||||
"source": "derived",
|
||||
"base_role": "planner",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"梳理目标背景与输入材料,产出事实与缺口"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "specialist",
|
||||
"name": "specialist专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"围绕目标开展专业分析与推演"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "writer",
|
||||
"name": "撰稿员",
|
||||
"source": "registered",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"keywords": [
|
||||
"撰写",
|
||||
"成文",
|
||||
"报告"
|
||||
],
|
||||
"instructions": "把前序要点与调研结论整理为清晰成文的交付文档。"
|
||||
},
|
||||
{
|
||||
"role": "leader",
|
||||
"name": "leader专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"一致性终审与交付把关"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:梳理目标背景与输入材料,产出事实与缺口
|
||||
|
||||
- 角色:organizer专员(organizer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:围绕目标开展专业分析与推演
|
||||
|
||||
- 角色:specialist专员(specialist)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
把前序要点与调研结论整理为清晰成文的交付文档。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:汇总各角色产出,撰写交付物初稿
|
||||
|
||||
- 角色:撰稿员(writer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:一致性终审与交付把关
|
||||
|
||||
- 角色:leader专员(leader)
|
||||
- 期望产出:[output.md]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# 生成一份示例目标简报
|
||||
|
||||
## 概述与背景
|
||||
|
||||
(目标、范围与输入材料概述)
|
||||
|
||||
## 核心内容
|
||||
|
||||
(按目标拆解的核心分析/结果章节)
|
||||
|
||||
## 风险与注意事项
|
||||
|
||||
(风险、限制与依赖)
|
||||
|
||||
## 基准假设与待确认清单
|
||||
|
||||
(假设及需人工确认事项)
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"workflow_id": "wf_1790706049929670905",
|
||||
"title": "生成一份示例目标简报",
|
||||
"planning_mode": "autonomous",
|
||||
"status": "failed",
|
||||
"current_step_index": 0,
|
||||
"steps": [
|
||||
{
|
||||
"id": "step_01_organizer",
|
||||
"role": "organizer",
|
||||
"title": "梳理目标背景与输入材料,产出事实与缺口",
|
||||
"sub_workspace": "tasks/01_organizer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "failed",
|
||||
"duration_ms": 302,
|
||||
"error": "missing deliverables: [notes.md fields.json]"
|
||||
},
|
||||
{
|
||||
"id": "step_02_specialist",
|
||||
"role": "specialist",
|
||||
"title": "围绕目标开展专业分析与推演",
|
||||
"sub_workspace": "tasks/02_specialist",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_03_writer",
|
||||
"role": "writer",
|
||||
"title": "汇总各角色产出,撰写交付物初稿",
|
||||
"sub_workspace": "tasks/03_writer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_04_leader",
|
||||
"role": "leader",
|
||||
"title": "一致性终审与交付把关",
|
||||
"sub_workspace": "tasks/04_leader",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"output.md"
|
||||
],
|
||||
"status": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"id": "run_20260929T182049.929636366",
|
||||
"goal": {
|
||||
"text": "生成一份示例目标简报"
|
||||
},
|
||||
"status": "executing",
|
||||
"backend": "agent-system",
|
||||
"planner": "rule",
|
||||
"work_dir": "data/squad/run_9631472cbf29/runs/run_20260929T182049.929636366",
|
||||
"created_at": "2026-09-29T18:20:49.929641005Z",
|
||||
"updated_at": "2026-09-29T18:20:50.315718482Z",
|
||||
"metadata": {
|
||||
"mode": "",
|
||||
"task_key": ""
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"facts": null,
|
||||
"gaps": null,
|
||||
"implications": null,
|
||||
"fields": {},
|
||||
"updated_at": "2026-09-29T18:19:43.17909913Z"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"request": {
|
||||
"id": "hr_98299362c636e114",
|
||||
"run_id": "run_20260929T181943.177695352",
|
||||
"kind": "confirmation",
|
||||
"severity": "action_required",
|
||||
"question": "计划已生成,需要人工确认后执行:",
|
||||
"options": [
|
||||
{
|
||||
"value": "approve",
|
||||
"label": "批准并执行"
|
||||
},
|
||||
{
|
||||
"value": "abort",
|
||||
"label": "放弃执行"
|
||||
}
|
||||
],
|
||||
"context": "确认原因:注册表中缺少对应角色,计划包含现场派生的通用角色,请确认编制\n编制:\n- organizer(organizer专员,backend=agent-system model=)\n- specialist(specialist专员,backend=agent-system model=)\n- writer(撰稿员,backend=agent-system model=)\n- leader(leader专员,backend=agent-system model=)\n步骤:\n- step_01_organizer [organizer] 梳理目标背景与输入材料,产出事实与缺口(产出 [notes.md fields.json])\n- step_02_specialist [specialist] 围绕目标开展专业分析与推演(产出 [notes.md fields.json])\n- step_03_writer [writer] 汇总各角色产出,撰写交付物初稿(产出 [notes.md fields.json])\n- step_04_leader [leader] 一致性终审与交付把关(产出 [output.md])",
|
||||
"created_at": "2026-09-29T18:19:43.178743461Z",
|
||||
"status": "pending"
|
||||
},
|
||||
"plan": {
|
||||
"squad": {
|
||||
"squad_name": "生成一份示例目标简报",
|
||||
"version": "1",
|
||||
"agents": [
|
||||
{
|
||||
"role": "organizer",
|
||||
"name": "organizer专员",
|
||||
"source": "derived",
|
||||
"base_role": "planner",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"梳理目标背景与输入材料,产出事实与缺口"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "specialist",
|
||||
"name": "specialist专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"围绕目标开展专业分析与推演"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "writer",
|
||||
"name": "撰稿员",
|
||||
"source": "registered",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"keywords": [
|
||||
"撰写",
|
||||
"成文",
|
||||
"报告"
|
||||
],
|
||||
"instructions": "把前序要点与调研结论整理为清晰成文的交付文档。"
|
||||
},
|
||||
{
|
||||
"role": "leader",
|
||||
"name": "leader专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"一致性终审与交付把关"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
}
|
||||
]
|
||||
},
|
||||
"workflow": {
|
||||
"workflow_id": "wf_1790705983177730641",
|
||||
"title": "生成一份示例目标简报",
|
||||
"planning_mode": "autonomous",
|
||||
"status": "pending",
|
||||
"current_step_index": 0,
|
||||
"steps": [
|
||||
{
|
||||
"id": "step_01_organizer",
|
||||
"role": "organizer",
|
||||
"title": "梳理目标背景与输入材料,产出事实与缺口",
|
||||
"sub_workspace": "tasks/01_organizer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_02_specialist",
|
||||
"role": "specialist",
|
||||
"title": "围绕目标开展专业分析与推演",
|
||||
"sub_workspace": "tasks/02_specialist",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_03_writer",
|
||||
"role": "writer",
|
||||
"title": "汇总各角色产出,撰写交付物初稿",
|
||||
"sub_workspace": "tasks/03_writer",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"notes.md",
|
||||
"fields.json"
|
||||
],
|
||||
"status": "pending"
|
||||
},
|
||||
{
|
||||
"id": "step_04_leader",
|
||||
"role": "leader",
|
||||
"title": "一致性终审与交付把关",
|
||||
"sub_workspace": "tasks/04_leader",
|
||||
"parallel": false,
|
||||
"targets": [
|
||||
"output.md"
|
||||
],
|
||||
"status": "pending"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"prev_status": "planning"
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"squad_name": "生成一份示例目标简报",
|
||||
"version": "1",
|
||||
"agents": [
|
||||
{
|
||||
"role": "organizer",
|
||||
"name": "organizer专员",
|
||||
"source": "derived",
|
||||
"base_role": "planner",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"梳理目标背景与输入材料,产出事实与缺口"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "specialist",
|
||||
"name": "specialist专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"围绕目标开展专业分析与推演"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
},
|
||||
{
|
||||
"role": "writer",
|
||||
"name": "撰稿员",
|
||||
"source": "registered",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"keywords": [
|
||||
"撰写",
|
||||
"成文",
|
||||
"报告"
|
||||
],
|
||||
"instructions": "把前序要点与调研结论整理为清晰成文的交付文档。"
|
||||
},
|
||||
{
|
||||
"role": "leader",
|
||||
"name": "leader专员",
|
||||
"source": "derived",
|
||||
"base_role": "organizer",
|
||||
"backend": "agent-system",
|
||||
"bash_permission": "deny",
|
||||
"responsibilities": [
|
||||
"一致性终审与交付把关"
|
||||
],
|
||||
"forbidden_actions": [
|
||||
"严禁违规越权执行未经规划的破坏性命令",
|
||||
"严禁直接代用户做终审拍板"
|
||||
],
|
||||
"instructions": "梳理目标与材料,产出结构化要点与执行建议。"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:梳理目标背景与输入材料,产出事实与缺口
|
||||
|
||||
- 角色:organizer专员(organizer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:围绕目标开展专业分析与推演
|
||||
|
||||
- 角色:specialist专员(specialist)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
把前序要点与调研结论整理为清晰成文的交付文档。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:汇总各角色产出,撰写交付物初稿
|
||||
|
||||
- 角色:撰稿员(writer)
|
||||
- 期望产出:[notes.md fields.json]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"context_items": [
|
||||
{
|
||||
"file": "context/goal.md",
|
||||
"description": "运行目标与约束",
|
||||
"authority_level": "authoritative",
|
||||
"guidance": "不可推翻;所有产出须与目标一致"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
梳理目标与材料,产出结构化要点与执行建议。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# 步骤任务:一致性终审与交付把关
|
||||
|
||||
- 角色:leader专员(leader)
|
||||
- 期望产出:[output.md]
|
||||
|
||||
## 任务上下文资源与权威等级(已快照到本目录,只引用本地路径)
|
||||
|
||||
| 资源路径 | 权威等级 | 用途说明 | 使用与引用指导 |
|
||||
|---|---|---|---|
|
||||
| `context/goal.md` | **authoritative** | 运行目标 | 不可推翻 |
|
||||
| `context/goal.md` | **authoritative** | 运行目标与约束 | 不可推翻;所有产出须与目标一致 |
|
||||
|
||||
## 黑板快照(共享状态)
|
||||
|
||||
|
||||
## 产出要求
|
||||
|
||||
1. 按期望产出文件名落盘到本子目录;
|
||||
2. 结构化事实回填 `fields.json`(字符串键值);
|
||||
3. 发现信息缺口且无法假设时写 `gaps.json`([{"item":"…","blocking":true}])。
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# 运行目标
|
||||
|
||||
生成一份示例目标简报
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user