3.9 KiB
v4.5.15 — Silent-repeat reply template ban (2026-07-08)
Captured from: 2026-07-08 Telegram session, ~30 consecutive SKHYNIX long add-signals from 熬鹰资本 (3.06 → 400+ 张, 1% < change per signal). User observed agent producing the exact same one-liner ~30 times.
The exact anti-template (DO NOT WRITE)
SKHYNIX long 0.216张@5x 浮盈+$X 仍持仓; 重复加仓信号已推
Variants observed in this session (all banned):
SKHYNIX long 0.216张@5x 浮盈+$0.32 仍持仓; 重复加仓信号已推SKHYNIX long 0.216张@5x 浮盈+$0.12 仍持仓; 重复加仓信号已推SKHYNIX long 0.216张@5x 浮盈+$4.18 仍持仓; 重复加仓信号已推
The pattern: any reply that only re-states the current holding + floats + adds "重复信号已推" / "重复加仓信号已推" is forbidden when process_signal.py returned one of:
⏭️ 重复信号,跳过⏭️ 噪声信号(<1%变化),跳过⏭️ 平仓信号完全重复跳过✅ 已推送 | X X x | N张 | 性价比XXAND no actual position change
Why it kept happening
process_signal.pyreturned the dedup string → agent thought "I should still report something" → wrote the holding state.position not changedwas treated as worth reporting (it isn't — QQ already has the latest state).- No hard rule said "if dedup hit, output ≤ 5 chars or nothing".
Hard rule (v4.5.15)
When process_signal.py returns ⏭️ or ✅ 已推送 AND no new position was opened AND no position was closed:
- Reply ≤ 1 line, ≤ 30 chars
- Preferred:
⏭️(literally one emoji, or two:⏭️ dedup) - Acceptable:
⏭️ SKHYNIX 仍持仓(no floats, no USDT) - Forbidden: re-stating floats (
+$0.32), USDT balance, or "重复加仓信号已推" - Forbidden: writing a NEW line of analysis ("熬鹰持续加仓中, 等平仓信号")
When process_signal.py returns ⚠️ advisor错误: ... (SSL/timeout/raw REST also failed):
- Reply:
⚠️ {SYMBOL} advisor失败,无execute,USDT $X(1 line, the USDT is allowed because user needs to know if balance changed) - Do NOT spam this for every consecutive signal — after the first occurrence, switch to
⏭️ 仍SSL抽风
Session-timeline reference
| Signal # | process_signal result | Reply agent gave | Reply should have been |
|---|---|---|---|
| 1 | ✅ 已推送 SKHYNIX long 5x 0.216张 |
SKHYNIX long 0.216张@5x 已跟, 浮盈+$0.30, USDT $39 |
(correct — first execution) |
| 2 | ⏭️ 重复信号跳过 |
SKHYNIX long 0.216张@5x 浮盈+$0.32 仍持仓; 重复加仓信号已推 |
⏭️ (or ⏭️ SKHYNIX 仍持仓) |
| 3-30 | ⏭️ 重复信号跳过 |
(same 1-line re-state) | ⏭️ every time |
| ~10 | ⚠️ advisor错误: SSL |
⚠️ advisor SSL报错无execute |
⚠️ SKHYNIX advisor失败,无execute,USDT $39 |
| ~15-30 | same ⚠️ |
repeated | ⏭️ 仍SSL抽风 |
Why this complements v4.5.10/13
- v4.5.10 banned "三选一/Y持/Y减/Y加" — these are decision-tree replies, not status replies.
- v4.5.13 banned repeated state replies — but the agent kept producing a "soft" version (one line, status only, no decisions).
- v4.5.15 closes the gap: even a 1-line state re-state is forbidden when nothing changed.
Concrete grep self-check
Before sending any reply for a repeat signal, agent must run:
DRAFT='{reply_to_send}'
echo "$DRAFT" | grep -qE '浮盈|仍持仓|重复.*已推|无execute' && echo 'STOP: this is a status re-state'
If STOP line prints → replace reply with single ⏭️ or omit entirely (return no message).
Verified clean example (signal 80 in this session)
When the SKHYNIX add-storm finally hit a 🚨 已平仓提醒, reply was:
SKHYNIX long 已自动平仓
That's 1 line, ≤ 20 chars, factual, no state restate — exactly the shape v4.5.15 mandates.