AQL
Playground
Agent Query Language — In-Browser Demo (WASM) —
GitHub
·
Spec v0.5
Loading WASM module...
Query
Working:
0
Episodic:
0
Tools:
0
Execute
Ctrl+Enter
Clear Memory
Stats
Result
Click an example below or write your own query...
Examples — Click to Execute
STORE → Working
STORE INTO WORKING (name = "alice", score = 95)
STORE → Working
STORE INTO WORKING (name = "bob", score = 82)
STORE → With TTL
STORE INTO WORKING ... TTL 60s
STORE → Scoped
STORE ... SCOPE private NAMESPACE "auth"
STORE → Episodic
STORE INTO EPISODIC (event = "purchase")
STORE → Procedural
STORE INTO PROCEDURAL (pattern = "retry")
STORE → Tools
STORE INTO TOOLS (name = "web_search")
STORE → Tools
STORE INTO TOOLS (name = "calculator")
RECALL → Filter
RECALL FROM WORKING WHERE score > 80
RECALL → Complex
WHERE (A AND B) OR C
RECALL → ORDER + LIMIT
ORDER BY score DESC LIMIT 3
RECALL → RETURN
RETURN name, score
RECALL → Scoped
RECALL ... SCOPE private NAMESPACE
RECALL → Procedural
RECALL FROM PROCEDURAL
AGGREGATE → All Funcs
COUNT, AVG, MAX, MIN
AGGREGATE + HAVING
AGGREGATE ... HAVING avg > 80
AGGREGATE → SUM
SUM(amount) AS total_spend
LOAD → Ranked Tools
LOAD FROM TOOLS ORDER BY ranking
LOOKUP → Pattern
LOOKUP FROM PROCEDURAL
SCAN → Last N
SCAN WINDOW LAST 5
SCAN → TOP BY
SCAN WINDOW TOP 3 BY score
SCAN → Duration
SCAN WINDOW LAST 30s
SEMANTIC → ML
RECALL SEMANTIC LIKE "machine learning"
SEMANTIC → DB
RECALL FROM SEMANTIC LIKE "database"
LINK → Create
LINK FROM ... TO ... AS "performed"
LINK → Proc→Tool
LINK PROCEDURAL TO TOOLS AS "uses"
WITH LINKS ALL
RECALL ... WITH LINKS ALL
FOLLOW LINKS
FOLLOW LINKS "performed" DEPTH 1
REFLECT → Multi
REFLECT FROM WORKING, EPISODIC, PROC
REFLECT → All+Links
REFLECT FROM ALL WITH LINKS
REFLECT → THEN
REFLECT ... THEN STORE
PIPELINE → Multi-Stage
PIPELINE setup TIMEOUT 100ms {...}
PIPELINE → RTB
PIPELINE rtb_flow TIMEOUT 50ms
PIPELINE → Analyze
PIPELINE with AGGREGATE
UPDATE → Additive
UPDATE ... (score = 100, level = "expert")
UPDATE → Procedural
UPDATE PROCEDURAL confidence
FORGET → Inactive
FORGET WHERE active = false