mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-07-10 14:28:43 +02:00
80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# Agent and Role Guide
|
|
|
|
[中文](../zh-CN/agent-and-role-guide.md)
|
|
|
|
Agent behavior is shaped by roles, Markdown sub-agents, Skills, tool visibility, and HITL policy.
|
|
|
|
## Responsibility Boundaries
|
|
|
|
| Resource | Purpose | Not for |
|
|
| --- | --- | --- |
|
|
| Role | identity, tone, tool boundary, authorization rules | large reference material |
|
|
| Agent Markdown | multi-agent specialization, handoff format, local strategy | one-off facts |
|
|
| Skill | reusable procedures, checklists, templates, references | permission control |
|
|
|
|
Authorization boundaries belong in roles and HITL first, not only in Skills.
|
|
|
|
## Modes
|
|
|
|
| Mode | Good for | Poor fit |
|
|
| --- | --- | --- |
|
|
| `eino_single` | short tasks, interactive analysis | large multi-stage work |
|
|
| `deep` | dynamic task decomposition | strict sequential workflows |
|
|
| `plan_execute` | plan, execute, replan loops | frequent user interruption |
|
|
| `supervisor` | expert routing | vague or too many sub-agents |
|
|
|
|
Start with `eino_single`; use `plan_execute` for structured projects; use `deep` or `supervisor` when specialist agents matter.
|
|
|
|
## Markdown Sub-Agent
|
|
|
|
Example:
|
|
|
|
```yaml
|
|
---
|
|
name: Vulnerability Triage
|
|
id: vulnerability-triage
|
|
description: Validate, classify, and summarize vulnerability evidence
|
|
tools:
|
|
- nmap
|
|
- nuclei
|
|
bind_role: 综合漏洞扫描
|
|
max_iterations: 200
|
|
---
|
|
```
|
|
|
|
The body should define scope, tool order, output format, and prohibited actions.
|
|
|
|
## Tool Visibility
|
|
|
|
With `tool_search`, the model initially sees only a subset of tools:
|
|
|
|
- visible in UI does not mean visible in current model context;
|
|
- `tool_search_always_visible_tools` are easier to call;
|
|
- clear tool descriptions improve search hits;
|
|
- sub-agent tool constraints still matter.
|
|
|
|
When a tool is not used, check role tools, sub-agent tools, tool_search config, and description.
|
|
|
|
## Output Format
|
|
|
|
Sub-agents should return structured results:
|
|
|
|
```markdown
|
|
## Conclusion
|
|
## Evidence
|
|
- Tool:
|
|
- Key output:
|
|
- Confidence:
|
|
## Risks
|
|
## Suggested next step
|
|
```
|
|
|
|
This helps the orchestrator continue and supports reporting.
|
|
|
|
## Source Anchors
|
|
|
|
- Markdown Agent parser: `internal/agents/markdown.go`
|
|
- Multi-agent preparation: `internal/handler/multi_agent_prepare.go`
|
|
- Orchestration: `internal/multiagent/eino_orchestration.go`
|
|
- Tool search middleware: `internal/multiagent/eino_middleware.go`
|