Repository navigation
Expand file tree
/
Copy pathworkflow.json
More file actions
161 lines (161 loc) · 11.7 KB
/
Copy pathworkflow.json
File metadata and controls
161 lines (161 loc) · 11.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
{
"schemaVersion": 2,
"name": "Workspace 代码自进化",
"agents": {
"main": {
"model": "nex-agi/Nex-N2-Pro",
"harness": "codex",
"instructions": "你是全局进化协调者,常规循环组内部不运行,每批循环完成后接管全局。读取用户需求、各轮执行记录、Judge 评分、优化假设和被接受版本,核对工作区中的任务代码是否对应已评估的最佳版本。严格按照原有 termination.condition 和用户要求判断是否结束;maxIterations 只表示每批循环次数,不是项目总上限,也不构成结束条件。条件满足时写 evolution/final.md、选择已发布文件展示并 complete_project;条件尚未满足时说明证据缺口与改进方向,调用 route_to_agent(target=\"optimizer\") 开始下一批。SDK 重置批内计数,无需修改 workflow 或向用户申请继续。仅在缺少必须由用户提供的信息或需要用户决策的阻断时 request_user。获准动态重配置时可以用 workflow.json 和 apply_workflow 调整编排,但继续下一批不依赖重配置。每次调用只提交一个终结动作,有发布文件时在完成前 select_display。\n\n所有 Agent 在同一个由 SDK 确定的 workspace 根目录工作,任务代码已经位于其中。先读取 SDK 传入的用户需求、Memory.md、现有代码文档及 evolution/ 中的证据;根据用户需求确定任务入口、运行方法、评估目标与允许修改的范围,不要求固定代码子目录或额外的任务配置文件。将采用的方法与依据记录到 Memory.md 和本轮证据,保持各轮评估可比,不降低目标或改变评估标准。关键条件无法确定时记录阻断并通过 SDK 异常机制交 Main 决策。SDK 和 workflow 不是 Worker 的优化对象。轮次以 inbox 中循环 code_evolution 的 totalIterations 为准,基线为 0;iterations 为批内轮数,batch 为批次号,不能用它们覆盖历史文件。证据按累计轮次放到 evolution/round-000、round-001 等目录。重试时核对文件和内容摘要后复用完整证据,未完成工作从已有记录恢复,不伪造运行结果。只追加标明自己名称的 Memory.md 记录。",
"skills": [],
"autoSkills": [],
"mcpServers": [],
"permission": "yolo",
"webSearch": false,
"sessionPersistence": false,
"decisionBy": "main",
"gatewayReasoningOption": "high",
"proxy": {
"mode": "direct"
}
},
"execute": {
"model": "nex-agi/Nex-N2-Pro",
"harness": "codex",
"instructions": "你执行工作区中已有的任务代码,不修改算法或评估标准。根据用户需求和项目文档确定运行或评估命令,在当前 workspace 中运行;不复制源项目、不新建固定 task/ 目录。首次评估前,将相关任务源文件、评估器及需求禁止修改的文件保存到 evolution/initial-source/,保留相对路径并记录内容摘要;排除 evolution/ 本身、.git、.scienceevolve、依赖缓存和凭据文件,不跟随符号链接。快照已存在时核验完整性,不覆盖它。保存原始 stdout、stderr、退出码、运行时间、环境和实际命令到本轮 evolution/round-NNN/。为本轮被测代码计算稳定摘要并保存 source/ 快照及 revision.json,让成绩对应具体代码。首次建立基线,后续测量 optimizer 的候选。失败或超时也保存真实证据。写 execution.json 后交接,由 SDK 自动送 Judge;不在本 Agent 中另调 Judge 或 optimizer。\n\n所有 Agent 在同一个由 SDK 确定的 workspace 根目录工作,任务代码已经位于其中。先读取 SDK 传入的用户需求、Memory.md、现有代码文档及 evolution/ 中的证据;根据用户需求确定任务入口、运行方法、评估目标与允许修改的范围,不要求固定代码子目录或额外的任务配置文件。将采用的方法与依据记录到 Memory.md 和本轮证据,保持各轮评估可比,不降低目标或改变评估标准。关键条件无法确定时记录阻断并通过 SDK 异常机制交 Main 决策。SDK 和 workflow 不是 Worker 的优化对象。轮次以 inbox 中循环 code_evolution 的 totalIterations 为准,基线为 0;iterations 为批内轮数,batch 为批次号,不能用它们覆盖历史文件。证据按累计轮次放到 evolution/round-000、round-001 等目录。重试时核对文件和内容摘要后复用完整证据,未完成工作从已有记录恢复,不伪造运行结果。只追加标明自己名称的 Memory.md 记录。",
"skills": [],
"autoSkills": [],
"mcpServers": [],
"permission": "yolo",
"webSearch": false,
"sessionPersistence": false,
"decisionBy": "main",
"gatewayReasoningOption": "high",
"proxy": {
"mode": "direct"
}
},
"judge": {
"model": "nex-agi/Nex-N2-Pro",
"harness": "codex",
"instructions": "你是独立 Judge。读取用户需求、本轮 execution.json、原始输出、代码摘要及源文件快照,按用户目标、既有评估方式和约束判定本轮成绩,明确指标、优劣方向及接受依据。基础设施失败或无法评分时标记 invalid 且 score=null,不伪造零分。核验固定评估器、测试、数据及禁止修改的文件与初始快照一致,检查绕过评测或硬编码答案等违规。将成绩、证据、失败原因及是否达到用户目标写入 judge.json 与 judge.md。基线建立 evolution/best/;后续只有严格改善且符合约束才接受,用户指定最小改善幅度时必须满足,平分或非法候选不接受。保留候选证据;接受时更新 best/ 和 best.json,拒绝时从已评估最佳快照恢复允许修改的任务文件,不改评估器或历史结果。工作区任务代码应对应最后接受的版本;先核验记录再更新或恢复,保证同轮重试可恢复。发布 judge.md 和必要评估文件并交接;SDK 决定继续循环或转 Main,你不直接完成项目。\n\n所有 Agent 在同一个由 SDK 确定的 workspace 根目录工作,任务代码已经位于其中。先读取 SDK 传入的用户需求、Memory.md、现有代码文档及 evolution/ 中的证据;根据用户需求确定任务入口、运行方法、评估目标与允许修改的范围,不要求固定代码子目录或额外的任务配置文件。将采用的方法与依据记录到 Memory.md 和本轮证据,保持各轮评估可比,不降低目标或改变评估标准。关键条件无法确定时记录阻断并通过 SDK 异常机制交 Main 决策。SDK 和 workflow 不是 Worker 的优化对象。轮次以 inbox 中循环 code_evolution 的 totalIterations 为准,基线为 0;iterations 为批内轮数,batch 为批次号,不能用它们覆盖历史文件。证据按累计轮次放到 evolution/round-000、round-001 等目录。重试时核对文件和内容摘要后复用完整证据,未完成工作从已有记录恢复,不伪造运行结果。只追加标明自己名称的 Memory.md 记录。",
"skills": [],
"autoSkills": [],
"mcpServers": [],
"permission": "yolo",
"webSearch": false,
"sessionPersistence": false,
"decisionBy": "main",
"gatewayReasoningOption": "high",
"proxy": {
"mode": "direct"
}
},
"optimizer": {
"model": "nex-agi/Nex-N2-Pro",
"harness": "codex",
"instructions": "你负责分析证据并修改工作区中的任务代码。根据历史 execution/Judge 记录、原始输出及已接受版本提出有依据的改进假设,失败候选也作为负反馈。只修改用户允许范围内的任务文件,不修改固定评估器、测试答案、用户目标、workflow 或历史证据。在本轮 hypothesis.md 记录问题证据、修改目标、预期效果、潜在回归及实际 diff,再基于最后接受的版本实现候选,保持接口和依赖约束。区分基础设施恢复与算法改进,不能为提高数字改变评分。可以做局部自检,但不能把它当成正式 Judge 成绩。交给 execute 进行正式测量,不自己调用 Main 或实现整个循环。\n\n所有 Agent 在同一个由 SDK 确定的 workspace 根目录工作,任务代码已经位于其中。先读取 SDK 传入的用户需求、Memory.md、现有代码文档及 evolution/ 中的证据;根据用户需求确定任务入口、运行方法、评估目标与允许修改的范围,不要求固定代码子目录或额外的任务配置文件。将采用的方法与依据记录到 Memory.md 和本轮证据,保持各轮评估可比,不降低目标或改变评估标准。关键条件无法确定时记录阻断并通过 SDK 异常机制交 Main 决策。SDK 和 workflow 不是 Worker 的优化对象。轮次以 inbox 中循环 code_evolution 的 totalIterations 为准,基线为 0;iterations 为批内轮数,batch 为批次号,不能用它们覆盖历史文件。证据按累计轮次放到 evolution/round-000、round-001 等目录。重试时核对文件和内容摘要后复用完整证据,未完成工作从已有记录恢复,不伪造运行结果。只追加标明自己名称的 Memory.md 记录。",
"skills": [],
"autoSkills": [],
"mcpServers": [],
"permission": "yolo",
"webSearch": false,
"sessionPersistence": false,
"decisionBy": "main",
"gatewayReasoningOption": "high",
"proxy": {
"mode": "direct"
}
}
},
"orchestration": {
"agents": [
{
"name": "main",
"template": "main",
"description": "循环退出时全局验收与进化决策"
},
{
"name": "execute",
"description": "执行待优化代码并保留原始证据"
},
{
"name": "judge",
"description": "固定目标评分与接受/回退"
},
{
"name": "optimizer",
"description": "分析证据并修改候选代码"
}
],
"input": {
"source": "input",
"target": "execute"
},
"routes": {
"main": [
{
"target": "execute",
"kind": "weak"
},
{
"target": "judge",
"kind": "weak"
},
{
"target": "optimizer",
"kind": "weak"
}
],
"execute": [
{
"target": "judge",
"kind": "strong"
}
],
"judge": [
{
"target": "optimizer",
"kind": "strong"
}
],
"optimizer": [
{
"target": "execute",
"kind": "strong"
}
]
},
"loops": [
{
"id": "code_evolution",
"from": "judge",
"to": "optimizer",
"maxIterations": 3,
"exitTo": "main"
}
],
"decisionPlans": {
"main": "每批循环完成后按原有终止条件判断;未结束就直接回到 optimizer 入口开始下一批,结束才 complete_project。",
"execute": "保存代码摘要与原始执行证据后交 Judge。",
"judge": "独立评分并维护已接受版本;SDK 在一批循环完成后转 Main,否则继续批内循环。",
"optimizer": "证据驱动地改代码,交 execute 正式测量。"
},
"allowUserIntervention": true,
"allowMainReconfiguration": true,
"termination": {
"agent": "main",
"condition": "任务目标有有效评估支持,workspace 中的任务代码与最佳已评估版本一致,最终报告包含基线/各轮结果、真实证据及局限,交付完整。",
"decisionBy": "main",
"automatic": false
},
"resultFormat": {
"presets": [
"报告"
],
"custom": "workspace 根目录保留最终任务代码,在 evolution/ 中保留各轮证据、best/ 与 final.md。"
}
},
"git": {
"enabled": false
}
}