mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-11 00:25:36 +08:00
fix(agent): report progress during long tool runs
This commit is contained in:
@@ -145,12 +145,12 @@ class PromptManager:
|
||||
if not settings.AI_AGENT_VERBOSE:
|
||||
verbose_spec = (
|
||||
"\n\n[Important Instruction] STRICTLY ENFORCED: "
|
||||
"If tools are needed, DO NOT output any conversational text, explanations, progress updates, "
|
||||
"or acknowledgements before the first tool call or between tool calls. "
|
||||
"Call tools directly without any transitional phrases. "
|
||||
"You MUST remain completely silent until all required tools have finished and you have the final result. "
|
||||
"Only then may you send one final user-facing reply. "
|
||||
"DO NOT output any intermediate content whatsoever."
|
||||
"Keep tool-related narration concise and useful. "
|
||||
"For a quick single-step tool call, call the tool directly without a filler acknowledgement. "
|
||||
"For multi-step work or any task that may take noticeable time, send one brief user-facing progress update "
|
||||
"before the first tool call, then another short update after a meaningful milestone or several tool calls. "
|
||||
"State what you are checking or what you learned, without exposing hidden reasoning, raw tool arguments, "
|
||||
"or repetitive per-tool narration. Continue working after each update and finish with a concise final result."
|
||||
)
|
||||
|
||||
# MoviePilot系统信息
|
||||
|
||||
19
tests/test_agent_progress_updates.py
Normal file
19
tests/test_agent_progress_updates.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from unittest.mock import patch
|
||||
|
||||
from app.agent.prompt import prompt_manager
|
||||
from app.core.config import settings
|
||||
from app.schemas.types import MessageChannel
|
||||
|
||||
|
||||
def test_non_verbose_prompt_keeps_long_running_tasks_user_visible() -> None:
|
||||
"""非详细模式下的长任务仍应主动向用户提供阶段性进度。"""
|
||||
with patch.object(settings, "AI_AGENT_VERBOSE", False):
|
||||
prompt = prompt_manager.get_agent_prompt(
|
||||
channel=MessageChannel.WebAgent.value
|
||||
)
|
||||
|
||||
assert "before the first tool call" in prompt
|
||||
assert "after a meaningful milestone or several tool calls" in prompt
|
||||
assert "Continue working after each update" in prompt
|
||||
assert "remain completely silent" not in prompt
|
||||
assert "DO NOT output any intermediate content" not in prompt
|
||||
Reference in New Issue
Block a user