fix: PM审核循环加auto-inject兜底,最后两轮强制review_*决策,防审核超时死循环
This commit is contained in:
parent
14a42aac7b
commit
099c283562
@ -840,6 +840,13 @@ async def pm_review_run(project_id, agent_id=None, model_name=None):
|
|||||||
"UPDATE pipeline_tasks SET updated_at=NOW() WHERE id=${tid}$ AND state='review'",
|
"UPDATE pipeline_tasks SET updated_at=NOW() WHERE id=${tid}$ AND state='review'",
|
||||||
{"tid": task_id})
|
{"tid": task_id})
|
||||||
await sor.sqlExe("COMMIT", {})
|
await sor.sqlExe("COMMIT", {})
|
||||||
|
# auto-inject 兜底:最后两轮强制要求给出 review_* 决策,禁止再 tool_call,
|
||||||
|
# 否则 deepseek 会一直读文件/git_status 耗尽 5 轮 → 审核超时 → 打回重跑 → 死循环
|
||||||
|
if turn >= 3:
|
||||||
|
msgs.append({"role": "user", "content":
|
||||||
|
"已检查足够信息。现在必须立即输出最终决策 JSON,"
|
||||||
|
"只能是 review_approve / review_reject / review_complete 三者之一,"
|
||||||
|
"禁止再调用任何工具。"})
|
||||||
try:
|
try:
|
||||||
raw = await llm_call_msgs(msgs, model=model_name, temperature=0.3)
|
raw = await llm_call_msgs(msgs, model=model_name, temperature=0.3)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user