refactor: Update agent instructions and descriptions

This commit is contained in:
Ahmed Allam
2025-10-20 21:45:10 -07:00
committed by Ahmed Allam
parent 49df6ef8e0
commit 96f5c44799
4 changed files with 13 additions and 16 deletions

View File

@@ -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)

View File

@@ -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>

View File

@@ -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

View File

@@ -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.