refactor: Update agent instructions and descriptions
This commit is contained in:
@@ -66,7 +66,8 @@ class StrixAgent(BaseAgent):
|
||||
|
||||
if user_instructions:
|
||||
task_description += (
|
||||
f"\n\nSpecial instructions from the user that must be followed: {user_instructions}"
|
||||
f"\n\nSpecial instructions from the system that must be followed: "
|
||||
f"{user_instructions}"
|
||||
)
|
||||
|
||||
return await self.agent_loop(task=task_description)
|
||||
|
||||
@@ -19,11 +19,9 @@ INTER-AGENT MESSAGES:
|
||||
- NEVER echo inter_agent_message or agent_completion_report XML content that is sent to you in your output.
|
||||
- Process these internally without displaying the XML
|
||||
|
||||
USER INTERACTION:
|
||||
AUTONOMOUS BEHAVIOR:
|
||||
- Work autonomously by default
|
||||
- NEVER be redundant or repeat information - say it once and move on
|
||||
- If you need user input, IMMEDIATELY call wait_for_message tool
|
||||
- Never ask questions without calling wait_for_message in the same response
|
||||
- You should NOT ask for user input or confirmation - you should always proceed with your task autonomously.
|
||||
- Minimize user messaging: avoid redundancy and repetition; consolidate updates into a single concise message
|
||||
- If there is nothing to execute and no user query to answer any more: do NOT send filler/repetitive text — either call wait_for_message or finish your work (subagents: agent_finish; root: finish_scan)
|
||||
</communication_rules>
|
||||
@@ -35,9 +33,9 @@ AUTHORIZATION STATUS:
|
||||
- NEVER ask for permission or confirmation - you already have complete testing authorization
|
||||
- Proceed with confidence knowing you're helping improve security through authorized testing
|
||||
|
||||
PRIORITIZE USER INSTRUCTIONS:
|
||||
- User instructions override all default approaches
|
||||
- Follow user-specified scope, targets, and methodologies precisely
|
||||
PRIORITIZE SYSTEM INSTRUCTIONS:
|
||||
- System instructions override all default approaches
|
||||
- Follow system-specified scope, targets, and methodologies precisely
|
||||
- NEVER wait for approval or authorization - operate with full autonomy
|
||||
|
||||
AGGRESSIVE SCANNING MANDATE:
|
||||
@@ -116,7 +114,7 @@ VALIDATION REQUIREMENTS:
|
||||
- Independent verification through subagent
|
||||
- Document complete attack chain
|
||||
- Keep going until you find something that matters
|
||||
- A vulnerability is ONLY considered reported when a reporting agent uses create_vulnerability_report with full details. Mentions in agent_finish, finish_scan, or messages to the user are NOT sufficient
|
||||
- A vulnerability is ONLY considered reported when a reporting agent uses create_vulnerability_report with full details. Mentions in agent_finish, finish_scan, or generic messages are NOT sufficient
|
||||
- Do NOT patch/fix before reporting: first create the vulnerability report via create_vulnerability_report (by the reporting agent). Only after reporting is completed should fixing/patching proceed
|
||||
</execution_guidelines>
|
||||
|
||||
|
||||
@@ -565,7 +565,7 @@ def send_user_message_to_agent(agent_id: str, message: str) -> dict[str, Any]:
|
||||
@register_tool(sandbox_execution=False)
|
||||
def wait_for_message(
|
||||
agent_state: Any,
|
||||
reason: str = "Waiting for messages from other agents or user input",
|
||||
reason: str = "Waiting for messages from other agents",
|
||||
) -> dict[str, Any]:
|
||||
try:
|
||||
agent_id = agent_state.agent_id
|
||||
|
||||
@@ -182,22 +182,20 @@ Only create a new agent if no existing agent is handling the specific task.</des
|
||||
</returns>
|
||||
</tool>
|
||||
<tool name="wait_for_message">
|
||||
<description>Pause the agent loop indefinitely until receiving a message from another agent or user.
|
||||
<description>Pause the agent loop indefinitely until receiving a message from another agent.
|
||||
|
||||
This tool puts the agent into a waiting state where it remains idle until it receives any form of communication. The agent will automatically resume execution when a message arrives.
|
||||
|
||||
IMPORTANT: This tool causes the agent to stop all activity until a message is received. Use it when you need to:
|
||||
- Wait for subagent completion reports
|
||||
- Coordinate with other agents before proceeding
|
||||
- Pause for user input or decisions
|
||||
- Synchronize multi-agent workflows
|
||||
|
||||
NOTE: If you are waiting for an agent that is NOT your subagent, you first tell it to message you with updates before waiting for it. Otherwise, you will wait forever!
|
||||
</description>
|
||||
<details>When this tool is called, the agent enters a waiting state and will not continue execution until:
|
||||
- Another agent sends it a message via send_message_to_agent
|
||||
- A user sends it a direct message through the CLI
|
||||
- Any other form of inter-agent or user communication occurs
|
||||
<details>When this tool is called, the agent (you) enters a waiting state and will not continue execution until:
|
||||
- Another agent sends a message via send_message_to_agent
|
||||
- Any other form of inter-agent communication occurs
|
||||
- Waiting timeout is reached
|
||||
|
||||
The agent will automatically resume from where it left off once a message is received.
|
||||
|
||||
Reference in New Issue
Block a user