chore: minor tweaks - fix newline replace scope, relax turn limits, wording
This commit is contained in:
@@ -96,7 +96,7 @@ class TMWebDriver:
|
|||||||
detect_newtab = data.get('detect_newtab', False)
|
detect_newtab = data.get('detect_newtab', False)
|
||||||
try:
|
try:
|
||||||
result = self.execute_js(code, timeout=timeout, session_id=session_id, detect_newtab=detect_newtab)
|
result = self.execute_js(code, timeout=timeout, session_id=session_id, detect_newtab=detect_newtab)
|
||||||
print('[remote result]', str(code)[:50] + ' RESULT:' +str(result)[:50].replace('\n', ' '))
|
print('[remote result]', (str(code)[:50] + ' RESULT:' +str(result)[:50]).replace('\n', ' '))
|
||||||
return json.dumps({'r': result}, ensure_ascii=False)
|
return json.dumps({'r': result}, ensure_ascii=False)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return json.dumps({'error': str(e)}, ensure_ascii=False)
|
return json.dumps({'error': str(e)}, ensure_ascii=False)
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ def agent_runner_loop(client, system_prompt, user_input, handler, tools_schema,
|
|||||||
datastr = json.dumps(outcome.data, ensure_ascii=False, default=json_default) if type(outcome.data) in [dict, list] else str(outcome.data)
|
datastr = json.dumps(outcome.data, ensure_ascii=False, default=json_default) if type(outcome.data) in [dict, list] else str(outcome.data)
|
||||||
next_prompt += f"<tool_result>\n{datastr}\n</tool_result>\n\n"
|
next_prompt += f"<tool_result>\n{datastr}\n</tool_result>\n\n"
|
||||||
next_prompt += outcome.next_prompt
|
next_prompt += outcome.next_prompt
|
||||||
if (turn+1) % 5 == 0:
|
if (turn+1) % 7 == 0:
|
||||||
next_prompt += f"\n\n[DANGER] 已连续执行第 {turn+1} 轮。禁止无效重试。若无有效进展,必须切换策略:1. 探测物理边界 2. 请求用户协助。"
|
next_prompt += f"\n\n[DANGER] 已连续执行第 {turn+1} 轮。禁止无效重试。若无有效进展,必须切换策略:1. 探测物理边界 2. 请求用户协助。"
|
||||||
if (turn+1) % 25 == 0:
|
if (turn+1) % 30 == 0:
|
||||||
next_prompt += f"\n\n### [DANGER] 已连续执行第 {turn+1} 轮。你必须总结情况进行ask_user,不允许继续重试。"
|
next_prompt += f"\n\n### [DANGER] 已连续执行第 {turn+1} 轮。你必须总结情况进行ask_user,不允许继续重试。"
|
||||||
messages = [{"role": "user", "content": next_prompt}]
|
messages = [{"role": "user", "content": next_prompt}]
|
||||||
return {'result': 'MAX_TURNS_EXCEEDED'}
|
return {'result': 'MAX_TURNS_EXCEEDED'}
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
}},
|
}},
|
||||||
{"type": "function", "function": {
|
{"type": "function", "function": {
|
||||||
"name": "update_working_mem",
|
"name": "update_working_mem",
|
||||||
"description": "短期工作便签,内容每轮自动注入,防止长任务中关键信息丢失。要在任务前中期而非结束时调用,新任务切换时应当及时使用清除之前影响。何时调用:(1)即将切换子任务、上下文将被大量新信息冲刷前,存入当前路径/参数/进度;(2)获得后续步骤必需的关键发现后;(3)SOP多步执行时,完成一步后更新为本步结果+下一步要求。原则:只存N轮后可能忘记但后面还要用的信息,刚发生的不用存。宁可多更新不可丢关键上下文。",
|
"description": "短期工作便签,内容每轮自动注入,防止长任务中关键信息丢失。要在任务前中期而非结束时调用,新任务切换时应当及时使用清除之前影响。何时调用:(1)即将切换子任务、上下文将被大量新信息冲刷前,存入当前路径/参数/进度;(2)获得后续步骤必需的关键发现后;(3)分步任务完成一步后更新为本步结果+下一步要求。原则:只存N轮后可能忘记但后面还要用的信息,刚发生的不用存。宁可多更新不可丢关键上下文。",
|
||||||
"parameters": {"type": "object", "properties": {
|
"parameters": {"type": "object", "properties": {
|
||||||
"key_info": {"type": "string", "description": "替换当前便签(<200 tokens)。只写后续必须记住的:文件路径、关键参数/发现、当前进度、下一步计划、要避的坑。刚完成的和上下文中显而易见的不写,省空间给真正容易丢的信息。"},
|
"key_info": {"type": "string", "description": "替换当前便签(<200 tokens)。只写后续必须记住的:文件路径、关键参数/发现、当前进度、下一步计划、要避的坑。刚完成的和上下文中显而易见的不写,省空间给真正容易丢的信息。"},
|
||||||
"related_sop": {"type": "string", "description": "相关sop名称,可以多个,必要时需要再读"}}}
|
"related_sop": {"type": "string", "description": "相关sop名称,可以多个,必要时需要再读"}}}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
- **不连续选择相同方向**(TODO任务除外)。
|
- **不连续选择相同方向**(TODO任务除外)。
|
||||||
- **预期收益声明**:选定任务后,必须先用一句话写明「做这个任务预期带来什么收益」。允许探索失败,但必须事先想清楚为什么值得做。这句话写入报告开头。
|
- **预期收益声明**:选定任务后,必须先用一句话写明「做这个任务预期带来什么收益」。允许探索失败,但必须事先想清楚为什么值得做。这句话写入报告开头。
|
||||||
- **执行方式**:基于目标自由进行,无需预先批准,直接执行只读或实验性操作。
|
- **执行方式**:基于目标自由进行,无需预先批准,直接执行只读或实验性操作。
|
||||||
- **约束**:小步快跑,每次只做一个小任务(剩下的下次再做),控制在15个回合以内。严禁修改核心记忆/系统设置;严禁读取敏感数据(但可以检测存在性)。
|
- **约束**:小步快跑,每次只做一个小任务(剩下的下次再做),控制在20个回合以内。严禁修改核心记忆/系统设置;严禁读取敏感数据(但可以检测存在性)。
|
||||||
|
|
||||||
### 阶段 2:生成报告与方案
|
### 阶段 2:生成报告与方案
|
||||||
- **位置**:目录若不存在请新建
|
- **位置**:目录若不存在请新建
|
||||||
|
|||||||
Reference in New Issue
Block a user