You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: expand agent memory, skills, and tools guides
Add missing guidance for memory_notes, reasoning fields, skills/tools best practices,
troubleshooting, and highlight the comment-to-memory loop in README.
Made-with: Cursor
Copy file name to clipboardExpand all lines: README.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ If you work in security operations, you probably deal with massive volumes of ra
21
21
-**All-in-one pipeline** — Input, normalization, enrichment, correlation, and output in one flow; no more glue scripts between Kafka, ES, ClickHouse, and “rule engines”
22
22
-**First-class CEP** — Detect ordered event sequences, absence patterns, and multi-source correlations over time with `<sequence>`, `<threshold>`, `<iterator>`, and `<checklist>`
23
23
-**LLM agents in the stream** — Drop LLM-powered agents into the same pipeline for alert triage, enrichment, rule authoring, and auto-whitelisting
24
+
-**Comment-to-memory learning loop** — Convert reviewer comments from Agent Tools Logs into durable `memory_notes`, auto-commit updates, and continuously improve agent behavior
24
25
-**Skills system** — Attach knowledge bases and operational tools to agents via Skills, with progressive disclosure so prompts stay small and fast
25
26
-**Rich plugin ecosystem** — Threat intel (VirusTotal, ThreatBook, Shodan), GeoIP, encoding, regex, time/window helpers, LLM calls, and more
26
27
-**Production features out of the box** — Cluster mode, health checks, daily stats, sample data, Push Changes / review workflow, and a modern Web UI for rule and project orchestration
@@ -83,7 +84,7 @@ For the full syntax (all operations, modes, and best practices), see the [Comple
83
84
84
85
### LLM Agents & Skills
85
86
86
-
Agents are LLM-powered components that sit in the pipeline alongside rulesets. They receive event batches, call an LLM with tool-use support, and forward enriched results downstream.
87
+
Agents are LLM-powered components that sit in the pipeline alongside rulesets. They process events independently, call an LLM with tool-use support, and forward enriched results downstream.
- Prefer `tools: []` by default and allowlist only needed plugin tools.
112
+
- Use `tools: all` only for broad assistant agents (rule-authoring / deep triage).
113
+
- In cluster mode, memory write/generate actions must go to the **leader** node.
114
+
105
115
Use agents in your project like any other component:
106
116
107
117
```yaml
@@ -110,6 +120,8 @@ content: |
110
120
AGENT.alert_reviewer -> OUTPUT.enriched_alerts
111
121
```
112
122
123
+
For full agent details (fields like `reasoning_mode`, `reasoning_budget_tokens`, `memory_notes`, and memory workflow in UI/API), see the [Complete Guide](docs/agentsmith-hub-guide.md#14-agent-syntax-description).
124
+
113
125
## Built-in Detection Rulesets
114
126
115
127
AgentSmith-HUB ships with production-ready detection rulesets that you can deploy immediately — no rule-writing required. All rules are mapped to [MITRE ATT&CK](https://attack.mitre.org/) for seamless integration with your security workflows.
| `tools` | No | `"all"` exposes all plugins as tools; `[]` or a list of names to limit. Use `[]` when the agent does not need tools to reduce latency. |
400
409
| `max_rounds` | No | Max ReAct rounds (tool-call loops) per message. Default `5`. |
401
410
| `timeout` | No | Duration string. Aborts the LLM call if processing exceeds this. Default `30s`. |
411
+
| `reasoning_mode` | No | Provider/model-specific reasoning toggle: `disabled`(default), `enabled`, or `auto`. |
412
+
| `reasoning_budget_tokens` | No | Optional reasoning token budget for compatible providers/models. |
413
+
| `memory_notes` | No | Durable guidance merged into the effective system prompt. Recommended format is a YAML string array; legacy multiline string is still accepted. |
402
414
403
415
#### How It Works
404
416
@@ -465,6 +477,28 @@ content: |
465
477
466
478
Agents support the same test flow as rulesets: open the agent component, use the test button or **Cmd+D**, provide input JSON, and run. The test runs a temporary agent and returns the full event (original + `llm` block) so you can verify the merged result.
467
479
480
+
#### Memory Notes (Long-term Guidance)
481
+
482
+
`memory_notes`is for stable, durable guidance distilled from human feedback and run history. It is not a replacement for `system_prompt`; think of it as "what this agent has learned."
483
+
484
+
- Prefer concise bullets that survive across runs (FP/TP heuristics, output style constraints, escalation thresholds).
485
+
- Avoid one-off incident details; put those in comments/tickets instead.
486
+
- Recommended YAML format is a sequence:
487
+
488
+
```yaml
489
+
memory_notes:
490
+
- Mark routine CI scanner traffic as likely false positive unless lateral movement indicators exist.
491
+
- Always include a short evidence sentence for confidence >= 0.7.
492
+
```
493
+
494
+
Legacy multiline string remains supported for backward compatibility, but new configs should use sequences for readability and safer merges.
495
+
496
+
#### Memory Workflow (UI/API/Cluster)
497
+
498
+
- **UI path**: `Agent Tools Logs` supports user comments and memory generation/commit workflows.
499
+
- **API path**: memory update and generate-from-log endpoints apply changes and auto-commit them as component changes.
500
+
- **Cluster rule**: memory write/generate actions must run on the **leader** node; follower nodes reject these write operations.
In this setup, the agent has access to both knowledge (rules engine reference docs) and action (ruleset CRUD). The LLM can look up syntax via `get_reference`, list/read existing rulesets, verify XML, and write changes — all within the ReAct loop.
576
607
608
+
#### Skills & Tools Practical Guidance
609
+
610
+
- Start with `tools: []` and add only the plugin tools you truly need; this reduces latency and accidental tool calls.
611
+
- Use `tools: all` only for broad assistant agents (rule-authoring copilots, deep triage assistants).
612
+
- Pair a **knowledge skill** (`content`) with a **builtin/action skill** (`builtin_ref`) when the agent both reasons and edits.
613
+
- For production safety, set write-capable builtin skills to read-only where possible (for example, `config.read_only: true`).
614
+
615
+
#### Troubleshooting Skills/Tools Calls
616
+
617
+
- Tool not called: improve `system_prompt` with explicit "when to call tool X" conditions.
618
+
- Tool called too often: tighten prompt constraints and lower `max_rounds`.
619
+
- Wrong plugin chosen: restrict `tools` to a short allowlist instead of `all`.
620
+
- Write actions rejected in cluster: verify request hits leader node, not follower.
0 commit comments