Skip to content

feat(agent): structured task format and workflow improvements#6

Draft
0xhis wants to merge 13 commits intomainfrom
feat/agent-workflow-restructure
Draft

feat(agent): structured task format and workflow improvements#6
0xhis wants to merge 13 commits intomainfrom
feat/agent-workflow-restructure

Conversation

@0xhis
Copy link
Copy Markdown
Owner

@0xhis 0xhis commented Mar 21, 2026

Summary

Replace free-form task descriptions with structured XML format and reduce token overhead in inter-agent communication.

Changes

  • Replace free-form task description with structured XML format (<scan_task><targets><mode>) in StrixAgent for clearer LLM parsing
  • Replace verbose <inter_agent_message> with compact <agent_message> format to reduce token overhead
  • Add corrective message when agents respond with plain text instead of tool calls, enforcing tool-call-only behavior
  • Simplify thinking_blocks type annotation in AgentState
  • Add <agent_message> pattern to clean_content() for hidden XML cleanup

Files Changed

  • strix/agents/StrixAgent/strix_agent.py (+32/-10)
  • strix/agents/base_agent.py (+17/-24)
  • strix/agents/state.py (+1/-3)
  • strix/llm/utils.py (+1)

Split from usestrix#328.

@0xhis 0xhis force-pushed the feat/agent-workflow-restructure branch 2 times, most recently from f19c2a9 to 6f71f5f Compare March 21, 2026 08:32
0xallam and others added 13 commits March 22, 2026 16:01
Removed specific tool files from Dockerfile and added a directory copy instead.
- Change default model from gpt-5 to gpt-5.4 across docs, tests, and examples
- Remove Strix Router references from docs, quickstart, overview, and README
- Delete models.mdx (Strix Router page) and its nav entry
- Simplify install script to suggest openai/ prefix directly
- Keep strix/ model routing support intact in code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rewrite system prompt: refusal avoidance, system-verified scope, thorough
  validation mandate, root agent orchestration role, recon-first guidance
- Add authorized targets injection via system_prompt_context in strix_agent
- Add set_system_prompt_context to LLM for dynamic prompt updates
- Prefer python tool over terminal for Python code in tool schemas
- Increase LLM retry backoff cap to 90s
- Replace models.strix.ai footer with strix.ai

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…odes

Models occasionally output text-only narration ("Planning the
assessment...") without a tool call, which halts the interactive agent
loop since the system interprets no-tool-call as "waiting for user
input." Rewrite both interactive and autonomous prompt sections to make
the tool-call requirement absolute with explicit warnings about the
system halt consequence.
- Replace free-form task description with structured XML format
  (<scan_task><targets><mode>) in StrixAgent for clearer LLM parsing
- Replace verbose <inter_agent_message> with compact <agent_message>
  format to reduce token overhead in inter-agent communication
- Add corrective message when agents respond with plain text instead
  of tool calls, enforcing tool-call-only behavior
- Simplify thinking_blocks type annotation in AgentState
- Add <agent_message> pattern to clean_content() for hidden XML cleanup
- Add html.escape() to target values in <scan_task> (URLs, paths, IPs)
- Escape sender_name/sender_id in <agent_message> attributes
- CDATA-wrap message content in <agent_message> to handle any text
- Make corrective message generic (no StrixAgent-specific tool names)
@ST-2 ST-2 force-pushed the feat/agent-workflow-restructure branch from 6f71f5f to 4e47c0c Compare April 14, 2026 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants