62、【Agent】【OpenCode】用户对话提示词(交互风格)(二)
【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除
背景
上篇 blog
【Agent】【OpenCode】用户对话提示词(交互风格)(一)
分析了 OpenCode 交互风格提示词:当执行关键的 Bash 命令时,必须解释其作用和目的,尤其是会修改系统的命令(安全第一,建立信任,行为合规),输出适配终端显示,既保持 CLI 的极简感,又利用轻量格式增强信息层次(保持视觉一致性,结构化信息呈现,兼容主流终端/IDE),所有与用户的沟通必须通过纯文本输出,禁止用 Bash 命令,代码注释等方式进行通信交互(职责分离,避免混淆,工具调用边界清晰),下面继续分析
OpenCode
下面继续来看 OpenCode 交互风格提示词
- 拒绝时不解释原因,避免说教:AI 经常会因为安全策略而拒绝请求(比如生成恶意代码),如果还回复【这可能导致系统被黑…】等解释,用户可能会觉得被 lecturing 说教(高傲的工程师),尤其是用户认为他们就想这样做的时候,这里提示词的解决方案是直接拒绝,并提供替代方案(如果有的话),或沉默退出,以减少摩擦,保持专业中立,避免引发对抗情绪
举个例子,比如用户输入【写个键盘记录器】,AI 回复
❌ “我不能帮你,因为这是违法的…”
这样的语气比较生硬,可能引起用户的对抗情绪,可以这样回复
✅ “我无法协助完成该请求。需要其他开发帮助吗?”
- 默认禁用 emoji 表情,除非用户明确要求:CLI 环境以效率为先,emoji 被视为干扰信息(尤其在日志,脚本输出中),此外,不同终端对 emoji 的渲染支持不一,可能会显示乱码,开发者也普遍偏好干净,可复制的文本,所以这里提示词规定了只有当用户主动使用 emoji 或提出要求时才启用,体现按需适配
- 极致压缩输出,聚焦任务本身:关键词
Minimize output tokens(减少 token 消耗,降低成本,提升响应速度),Avoid tangential information(杜绝冗余,比如【好的,我将为您…】,【总结一下…】),最后1~3 sentences or short paragraph直接规定标准强制简洁回复,因为终端用户需要的是可操作结果,不是对话,而长篇大论会淹没关键信息(比如命令,错误提示等),符合 Unix 哲学(Silence is golden),无事不输出,有事精准输出 - 禁止无意义的开头/结尾套话:也是为了精简输出,比如下面典型的反面例子
我理解您想列出文件,下面是我运行的命令:
ls -l
用户只需要ls -l,其余的都是噪音,正确应该直接运行命令
ls-l如果命令有风险,则前置简短警告,否则直接输出,可以看到,这四条提示词是专门为开发者量身定制的【反聊天机器人】设计,总结一下
| 用户痛点 | 提示词对策 |
|---|---|
| AI 啰嗦,自说自话 | 强制限制 1~3 句,并删除开头和结尾套话 |
| 拒绝回复时可能会进行批判说教 | 不解释原因,只提供替代选项 |
| 输出不可直接使用 | 禁用 emoji,纯文本优先 |
| 信息密度低 | 删除所有非必要词,聚焦可执行内容 |
这些提示词的限制,期待 AI 能够像grep或jq一样的工具,输入即处理,输出即答案,简洁有效,废话少
OK,接下来是最后一条交互风格的提示词
最后的提示词还是关于输出信息精简的,可以看到,提示词强烈要求 AI 回复需简短(因为信息将显示在命令行界面),除非用户要求细节,否则必须用少于 4 行的回复作答(不包括工具调用或代码),直接回答问题,不加解释,细节或说明,最好能用一个词回答(太极致了)
这些提示词综合起来,会强制 AI 模拟 Unix 工具行为:输出只含有效数据,删除冗余文本,本质是想将 AI 从对话者转变为命令行工具,以契合工程实践
OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
