Critical runtime bugs:
- terminal.html WebSSH完全不可用(URL前缀/JSON解析/Content-Type三处错误)
- servers.py路由遮蔽:/logs被/{id}拦截,3个前端页面同步日志查询失败
- scripts.html startExecPoll()→startExecPolling(),长任务快速执行崩溃
- agent.py {value!r!s:.50}格式串非法,agent发非数值时ValueError
- alerts.html d.daily.reduce()无null检查,API返回空数据时TypeError
Resource leak / stability:
- websocket.py僵尸连接未关闭TCP,文件描述符泄漏
- websocket.py _last_alert_time字典无限增长(加1小时过期清理)
- asyncssh_pool.py全忙时超过MAX_CONNECTIONS无限增长
- self_monitor.py Telegram告警无冷却,宕机时每30秒刷屏
- schedule_runner.py一次性调度执行超60秒会重复触发
- 限速脚本EXPIRE每次重置窗口可绕过(改用Lua原子脚本)
Security:
- JWT access token加token_version声明,改密码后旧token立失效(零宽限)
- INSTALL_MODE导入时常量→动态函数,安装后JWT认证不再残留禁用
- install.py /lock端点加管理员存在性验证,防止阻断安装
- ServerUpdate schema移除connectivity只读字段,防止伪造连接状态
Frontend fixes:
- doExec()缺r.ok检查、commands.html null检查
- _server_to_dict()补last_checked_at+ssh_key_public
- _field_match()逗号cron表达式修复
- alerts类型显示、SSH会话名称、搜索高亮定位
- 一次性/循环定时任务(run_mode+fire_at+自动禁用)
Dead code removed (400+ lines):
- SyncService batch_push/_push_single等5个方法(零调用者)
- 5个未使用schema(SyncCommands/SyncConfig/SyncSftp/FileDeploy/PaginatedResponse)
- 6个零调用service方法、3个无前端API端点
- 4个未使用import
Schema migrations:
- push_schedules: run_mode + fire_at列,cron_expr改NULL
- servers: 7个新列 + ssh_key_private/public VARCHAR(500)→TEXT
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
5.3 KiB
技能设计中的说服原则
概述
LLM 对与人类相同的说服原则有反应。理解这种心理学有助于你设计更有效的技能——不是为了操纵,而是为了确保关键实践即使在压力下也能被遵循。
研究基础: Meincke 等人(2025)用 N=28,000 次 AI 对话测试了 7 种说服原则。说服技巧使合规率提高了一倍多(33% → 72%,p < .001)。
七大原则
1. 权威
定义: 对专业知识、资质或官方来源的服从。
在技能中的运作方式:
- 命令式语言:"你必须"、"绝不"、"始终"
- 不可协商的框架:"无例外"
- 消除决策疲劳和合理化
适用场景:
- 纪律执行类技能(TDD、验证要求)
- 安全关键实践
- 已确立的最佳实践
示例:
✅ 先写代码再写测试?删掉它。重新开始。无例外。
❌ 在可行时考虑先写测试。
2. 承诺
定义: 与先前行为、声明或公开宣告保持一致。
在技能中的运作方式:
- 要求宣布:"宣布技能使用"
- 强制明确选择:"选择 A、B 或 C"
- 使用跟踪:TodoWrite 清单
适用场景:
- 确保技能被实际遵循
- 多步骤流程
- 问责机制
示例:
✅ 当你找到一个技能时,你必须宣布:"我正在使用 [技能名称]"
❌ 考虑让你的搭档知道你在使用哪个技能。
3. 稀缺
定义: 来自时间限制或有限可用性的紧迫感。
在技能中的运作方式:
- 有时间限制的要求:"在继续之前"
- 顺序依赖:"在 X 之后立即"
- 防止拖延
适用场景:
- 即时验证要求
- 时间敏感的工作流
- 防止"我以后再做"
示例:
✅ 完成任务后,在继续之前立即请求代码审查。
❌ 你可以在方便时审查代码。
4. 社会认同
定义: 遵从他人的做法或被视为正常的行为。
在技能中的运作方式:
- 普遍模式:"每次"、"总是"
- 失败模式:"X 没有 Y = 失败"
- 建立规范
适用场景:
- 记录普遍实践
- 警告常见失败
- 强化标准
示例:
✅ 没有 TodoWrite 跟踪的清单 = 步骤会被跳过。每次都是。
❌ 有些人觉得 TodoWrite 对清单有帮助。
5. 归属
定义: 共享身份、"我们"感、群体归属。
在技能中的运作方式:
- 协作语言:"我们的代码库"、"我们是同事"
- 共同目标:"我们都想要高质量"
适用场景:
- 协作工作流
- 建立团队文化
- 非层级关系的实践
示例:
✅ 我们是一起工作的同事。我需要你诚实的技术判断。
❌ 如果我错了你可能应该告诉我。
6. 互惠
定义: 回报所获好处的义务。
运作方式:
- 谨慎使用——可能让人感觉被操纵
- 在技能中很少需要
何时避免:
- 几乎所有时候(其他原则更有效)
7. 好感
定义: 更愿意与喜欢的人合作。
运作方式:
- 不要用于合规性
- 与诚实反馈文化冲突
- 制造谄媚
何时避免:
- 纪律执行中始终避免
按技能类型组合原则
| 技能类型 | 使用 | 避免 |
|---|---|---|
| 纪律执行类 | 权威 + 承诺 + 社会认同 | 好感、互惠 |
| 指导/技术类 | 适度权威 + 归属 | 过度权威 |
| 协作类 | 归属 + 承诺 | 权威、好感 |
| 参考类 | 仅清晰度 | 所有说服技巧 |
为什么有效:心理学
明确的规则减少合理化:
- "你必须"消除决策疲劳
- 绝对性的语言消除"这是例外吗?"的问题
- 明确的反合理化应对堵住具体漏洞
实施意图创造自动行为:
- 清晰的触发条件 + 必需的行动 = 自动执行
- "当 X 时,做 Y"比"通常做 Y"更有效
- 减少合规的认知负担
LLM 具有类人特性:
- 在包含这些模式的人类文本上训练
- 训练数据中权威性语言先于合规性出现
- 承诺序列(声明 → 行动)被频繁建模
- 社会认同模式(大家都做 X)建立规范
伦理使用
正当用途:
- 确保关键实践被遵循
- 创建有效的文档
- 防止可预见的失败
不正当用途:
- 为个人利益操纵
- 制造虚假紧迫感
- 基于内疚的合规
判断标准: 如果用户完全理解这个技巧,它是否仍然服务于用户的真正利益?
研究引用
Cialdini, R. B. (2021). Influence: The Psychology of Persuasion (New and Expanded). Harper Business.
- 七大说服原则
- 影响力研究的实证基础
Meincke, L., Shapiro, D., Duckworth, A. L., Mollick, E., Mollick, L., & Cialdini, R. (2025). Call Me A Jerk: Persuading AI to Comply with Objectionable Requests. University of Pennsylvania.
- 用 N=28,000 次 LLM 对话测试了 7 种原则
- 使用说服技巧后合规率从 33% 提高到 72%
- 权威、承诺、稀缺最为有效
- 验证了 LLM 行为的类人模型
快速参考
设计技能时问自己:
- 这是什么类型?(纪律类 vs 指导类 vs 参考类)
- 我试图改变什么行为?
- 哪些原则适用?(纪律类通常用权威 + 承诺)
- 是否组合了太多?(不要全用七种)
- 这合乎伦理吗?(服务于用户的真正利益?)