给AI装个「审美」过滤器,告别废话流水账
你有没有这种经历:想让AI写一段产品介绍,它给你来三段大道理+一个表格+两个例子;问它一个技术问题,先铺垫“首先,这是一个非常有趣的问题”,再啰嗦一堆背景。
我最近就烦透了。每次都得在prompt后面加“直接回答,不要废话”,但效果不稳定。直到昨天刷GitHub时看到这个项目——taste-skill,一天内飙到36000多star。项目描述就一句话:“给你的AI装上好品味,让它停止生成无聊通用的垃圾。”
我当时心想:又是个营销噱头?但看了代码后,我承认——这玩意儿虽然简单,但确实解决了我的实际痛点。
它解决了什么问题
大语言模型默认的输出风格是“安全通用”——万金油式的回答,放哪都行,但也放哪都平庸。
背后原因很简单:训练数据里大部分内容都是中性、客观、不带偏见的写法。所以模型天然倾向于“多说、说全、说稳”,结果就是啰嗦、保守、缺乏个性。
传统解决方法有两种:
- 人工调prompt,比如加“用词犀利、只出结果、不要解释”。但每次都要写,而且换场景就得重写。
- 用LangChain等框架里的PromptTemplate。但太重了,装一大堆依赖就为了改一句话。
taste-skill的做法更野:直接在终端里用Shell脚本包装你的prompt,在发送给AI之前,用你选择的“品味”模板把prompt裹上一层。
说白了,它是一个prompt预处理器,但定位精准、零依赖、随手就能用。
核心功能与实战演示
项目就一个Shell文件taste-skill.sh(准确说是若干脚本,核心逻辑在src/里)。安装后,你可以这样用:
# 给AI“职业经理人”品味
cat your_prompt.txt | taste-skill executive > enhanced_prompt.md
# 然后把enhanced_prompt.md发给AI
或者直接在内嵌AI调用的场景里:
# 以ollama为例
taste-skill humorous "为什么程序员讨厌开会?" | ollama run llama3
它内置了二十几种“品味”模板:professional、sarcastic、academic、pirate、stoner、poetic……你选一个,脚本会在你的prompt前后自动加上一段语境说明,迫使模型按特定风格输出。
以 professional 为例,看看它实际加的是什么(从实际代码摘录):
[SYSTEM: You are a seasoned professional with 20+ years of experience.
You communicate in a concise, authoritative manner.
You avoid buzzwords, fluff, and qualifiers like "I think" or "it might be".
You deliver hard facts and actionable recommendations.
Never apologize or over-explain.]
加上这段后,你再问“如何降低服务器成本”,模型就不再给你普及云计算基础,而是直接给三条具体策略加数据支撑。
实测对比:我用同一段prompt测了三次(模型:GPT-4o,温度0.7)。
原始prompt:
解释什么是Docker,以及它和虚拟机的区别
输出(无品味):
Docker是一种容器化技术,它通过共享宿主机内核来运行隔离的应用程序……与虚拟机不同,虚拟机包含完整的操作系统……(后面还有五六行通用介绍)
**加 taste-skill concise**:
Docker:轻量容器,共享宿主机内核。VM:重量级虚拟化,包含完整OS。Docker启动秒级,占用MB级;VM启动分钟级,占用GB级。Docker更适合微服务,VM更适合强隔离需求。
**加 taste-skill pirate**(船长风):
Ahoy, landlubber! Docker be a fine vessel that sails on the sea of the host's own kernel, while a VM be a whole ship o' its own, complete with its own crew……
效果立竿见影。而且整个过程只多了一个管道命令,对现有工作流侵入极小。
和同类方案的区别
vs. 传统prompt模板
- taste-skill优势:模板即文件,随时切换。你可以在不同场景下选不同品味,甚至自己写新的品味文件放到
~/.taste-skill/traits/里。而传统做法是反复改prompt字符串,容易搞混。 - 劣势:它只负责加前缀/后缀,不帮你管理prompt版本,也没有内置变量替换(虽然你可以配合sed等实现)。
vs. LangChain PromptTemplate
| 维度 | taste-skill | LangChain PromptTemplate |
|---|---|---|
| 依赖 | 无,纯Shell | 需要Python + pip |
| 安装 | git clone + 添加到PATH | pip install langchain-core |
| 灵活性 | 固定模板,但可自定义 | 支持变量、序列化、连接 |
| 适用场景 | 快速在终端优化单个prompt | 构建复杂AI应用 |
我的观点:如果你只是在日常聊天或用ollama折腾,taste-skill是更好的选择。它不要求你改代码,不引入新语言。但如果你要写生产级AI应用,LangChain的模板系统更强大(支持输出解析、链式调用等)。
vs. 直接在系统prompt里硬编码
很多AI应用允许在配置文件里设置system prompt。那还需要taste-skill吗?
需要。因为taste-skill的模板是针对单个请求的,而不是全局。你可以同时让一个请求用“搞笑风”,另一个用“学术风”,不用改配置。这对个人用户价值更大。
适用场景与局限
什么时候用?
- 日常使用AI的终端党:你用
ollama run、ai(OpenAI CLI)、llm等工具和AI交互,加一个管道就能提升质量。 - 写文案、做脚本:需要快速生成不同风格的文本(技术文档、营销文案、段子),不用反复改prompt。
- 教育/演示:想感受不同prompt设计对输出的影响,taste-skill的模板目录就是最好的学习材料。
什么时候别用?
- 生产级API调用:你已经在代码里管理了prompt,再加一层Shell反而多余。应该直接在代码里集成模板。
- 需要对模型输出也做处理:taste-skill只改输入,不改输出。你依然可能得到格式混乱的回答。
- 需要精细控制指令:它的模板是纯文本,不支持条件逻辑。如果某个场景需要根据上下文动态调整提示,你最好自己写代码。
已知问题(来自真实使用反馈)
- 对某些模型效果差:特别是对指令跟随能力弱的模型(如早期LLaMA),加了模板反而可能导致输出混乱。
- 头尾模板叠加:如果原始prompt已经有system message,taste-skill直接加在前面可能会冲突。项目目前没有做去重。

5分钟上手步骤
1. 安装
git clone https://github.com/Leonxlnx/taste-skill.git
cd taste-skill
# 将脚本加到PATH中(建议复制到~/.local/bin)
cp -r src/* ~/.local/bin/
# 或直接source
source taste-skill.sh # 如果项目提供
*注意:项目没有提供一键安装脚本,手动复制完需确保有执行权限:chmod +x ~/.local/bin/taste-skill*。
2. 基本使用
# 查看所有可用品味
taste-skill list
# 使用某种品味增强prompt
taste-skill professional "写一封请假邮件"
# 直接放入对话(示例用ollama)
taste-skill funny "为什么程序员讨厌凌晨3点?" | ollama run gemma2:9b
3. 自定义品味
品味文件存放在src/traits/目录下,每个是一个纯文本文件。复制一个并修改:
cp ~/.local/bin/traits/professional.txt ~/.local/bin/traits/my_style.txt
vim ~/.local/bin/traits/my_style.txt
# 写入你想要的风格指令
然后通过taste-skill my_style "prompt"调用。
4. 集成到工作流
如果你常用某个AI工具,可以写个别名:
alias ask='taste-skill professional "$1" | ollama run llama3'
这样每次ask "如何优化SQL查询"都能得到专业简洁的回答。
总结(非标语堆砌)
taste-skill不是什么革命性工具,它是一个极端专注的Shell脚本,只做一件事:给你的prompt注入风格。但它做得足够好,好到我打算在自己的~/.zshrc里常驻。
36000多颗星,说明很多人和我一样,受够了AI的“废话文学”。如果你也有这个痛点,花5分钟装上试试,不亏。
最后说句实在话:不要指望装上它就一步到位。taste-skill提升的是prompt质量的上限,但最终输出质量还取决于模型本身。你选的品味文件是否适合当前场景,也需要试错。但它至少给了你一个低成本的探索工具。