
将Workstation虚拟机磁盘导入ESXi并转换格式
在虚拟化环境中,有时候需要将由VMware Workstation创建的虚拟机迁移到ESXi(VMware vSphere)平台上。然而,当你尝试导入虚拟机磁盘时,可能会遇到错误,其中之一就是“scsi0:0”的磁盘类型 2 不受支持或无效。这...

在虚拟化环境中,有时候需要将由VMware Workstation创建的虚拟机迁移到ESXi(VMware vSphere)平台上。然而,当你尝试导入虚拟机磁盘时,可能会遇到错误,其中之一就是“scsi0:0”的磁盘类型 2 不受支持或无效。这...

狗狗币 (Dogecoin),这个可爱的狗狗形象代表的数字货币,即将迎来它的10周年生日!作为一种充满乐趣和社区活力的加密货币,狗狗币已经吸引了全球无数的狗狗币爱好者。如果你是其中一员,那么这篇文章将告诉你一个...
在信息时代,人工智能技术的不断发展给我们的生活带来了翻天覆地的变化。其中,聊天机器人成为了广大用户互动的新伙伴。而ChatGPT作为一款备受瞩目的聊天机器人应用,在过去一年里取得了惊人的表现。从其发布至今...
生成式人工智能(AI)在过去的一年里迅速发展,尤其是文本生成领域备受欢迎。开源项目如llama.cpp、vLLM、MLC-LLM等不断进行优化,以提高生成模型的性能。作为机器学习社区中备受欢迎的框架之一,PyTorch自然也积...
红富士苹果,是一种备受喜爱的水果,其鲜红的外表和甜脆的口感深受人们的喜爱。那么,红富士苹果的产地究竟在哪里呢?在这篇文章中,我们将一起探寻红富士苹果的产地之谜,揭开它的神秘面纱。 红富士苹果的起源 ...
最近,不少笔记本用户纷纷注意到一个令人困扰的问题:每次打开 ChatGPT 时,风扇会疯狂转动,CPU资源被大量占用,导致电脑卡顿不堪。这个问题不仅在Windows和Mac平台上出现,连使用ChatGPT网页版的iPhone和安卓用...
蛟龙果,这个名字听起来充满了神秘和魔幻的色彩,它究竟是什么水果呢?本文将深入探讨蛟龙果的起源、特点以及营养价值,让我们一同探秘这个令人惊艳的水果世界。 蛟龙果的神奇起源 要了解蛟龙果,首先需要了解它...
茶,作为中国的国粹之一,拥有着悠久的历史和众多的品种。其中,太平猴魁是一款备受喜爱的珍稀茶品,它属于什么茶类?本文将深入探讨太平猴魁的起源、特点以及品鉴方法,让我们一同品味这份茶中的珍品。 太平猴魁...
在数字时代,网络浏览器是我们日常生活中不可或缺的工具之一。随着技术的不断进步,浏览器也在不断演化,以提供更好的用户体验和更多的功能。而Microsoft Edge作为一款备受欢迎的浏览器,不仅提供了强大的性能和...
随着互联网的发展,浏览器的缓存技术已经成为提高用户体验和网页加载速度的不可或缺的一部分。然而,最近谷歌宣布对Chrome浏览器的前进和后台缓存技术进行重大改进,这引发了广泛的关注和讨论。本文将深入探讨这...
在OpenAI近期的内部动荡之后,GPT Store上线日期被宣布推迟至2024年年初。这一突如其来的延期背后,是一系列让公司陷入忙碌状态的意料之外的事件。本文将深入探讨这一问题,以及GPTs产品的发展、优势与挑战。 背...
AI领域再次掀起轰动,Meta Platforms和IBM宣布共同成立AI联盟,旨在重塑人工智能的未来格局。这一消息在科技界引起了广泛关注,各界对这一联盟的动机和影响充满了猜测和期待。 开篇故事:AI领域的新巨头崛起 就在...
AI(人工智能)一直以来都备受瞩目,但有时候,对它的期望可能过于理想化。OpenAI首席运营官布拉德·莱特卡普在接受CNBC采访时谈到了公司对ChatGPT等生成式AI程序的不切实际期望。对于莱特卡普来说,AI领域最被炒...
高血压药物利美尼定近来备受关注,因为它被证明可以在动物模型中减缓蠕虫的衰老。这一发现引发了广泛的讨论,人们热切期待它是否也能在人类身上产生相似的效果,帮助我们更长寿并保持健康。本文将深入探讨这一潜...
在全球化的浪潮中,网站的国际化已成为提升用户体验、拓展市场的重要手段。一个多语言支持的网站能够吸引更多非母语用户,而实现这一点,自动翻译功能便是必不可少的技能。本教程将带你学习如何使用Python调用翻...
前几天我跟一个做了三年客服的朋友喝酒。他说最痛苦的不是回答重复的问题,而是每次都要装作第一次见面的样子。"明明上周才聊过他家孩子考试的事,这周他又问同样的问题,我还得假装不知道重新回答一遍。"他灌了一口酒,"人都会记仇,怎么就不能记点好呢?" 🍺

那一刻我突然意识到,我做的那些聊天机器人也是这样——每次对话都像失忆一样,完全不记得上次聊了什么。这不是技术问题,是态度问题。
说实话,大部分所谓的"智能客服"都蠢得可以。不是因为AI不够聪明,而是因为它们根本不记事。
你上周问过它"怎么退货",这周再问还是同样的官方话术。它不知道你是第二次问,不知道你上次退货失败了,更不知道你现在已经快被气炸了。这种体验就像每次去医院都要重新填病历,医生完全不记得你上个月刚来过。
我见过太多这样的场景:
这不是服务,这是折磨。
一个真正有用的助手,应该记得你的习惯、你的偏好、甚至你上次抱怨过什么。
想象一下这个场景:
你问机器人:"最近有什么好玩的?"
没有记忆的版本: "为您推荐以下活动:音乐会、展览、运动赛事……"
有记忆的版本: "上次你说喜欢跑步,这周末有个马拉松。另外你关注的那个乐队下月来开演唱会,要不要抢票?" 🏃♂️🎵
看到区别了吗?后者不是在回答问题,而是在关心你。
人的记忆系统其实很复杂,但核心就三层:
| 记忆类型 | 作用 | 就像... |
|---|---|---|
| 短期记忆 | 记住刚才聊了什么 | 你记得这段对话的上下文 |
| 长期记忆 | 保存所有历史互动 | 你的日记本 |
| 人格记忆 | 形成对某人的印象 | 你对朋友的整体认知 |
机器人也该这样。不然就像得了阿尔茨海默症——每次对话都是新的开始,永远活在当下,永远没有过去。
既然要做,就做得像样一点。我研究了一圈,发现最靠谱的方案是三层记忆架构——就像人脑一样,短期、长期、人格,缺一不可。
短期记忆最简单,但最容易被忽略。
它就是保存最近几轮对话,让机器人知道"刚才我们在聊什么"。你可以理解为工作台上的便签纸——用完就扔,但在用的时候必须一直摆在眼前。
实现起来就是把最近N条消息拼起来,塞给AI模型:
# 保存最近10轮对话
short_memory = []
def add_to_short_memory(user_msg, bot_reply):
short_memory.append({
"user": user_msg,
"bot": bot_reply,
"time": time.time()
})
if len(short_memory) > 10:
short_memory.pop(0) # 扔掉最老的记忆
为什么是10轮? 因为太少会断片,太多会让AI迷糊。就像你跟人聊天,最多也就记得最近说了啥,再往前就模糊了。
这才是重头戏。💾
传统做法是把聊天记录全存数据库,需要的时候全翻出来。问题是聊天记录太多了,全塞给AI它会死机,不塞又找不到关键信息。
解决方案:向量数据库 + 语义检索
听起来很高大上,其实就是把每句话变成一串数字(向量),然后通过"意思相近"来找记忆,而不是关键词匹配。
举个例子:
传统关键词匹配找不到关联,但向量检索能识别出"马拉松"和"运动装备"是相关的,于是翻出上周的记忆。
from sentence_transformers import SentenceTransformer
import faiss
import numpy as np
# 初始化向量模型
model = SentenceTransformer('all-MiniLM-L6-v2')
dim = model.get_sentence_embedding_dimension()
index = faiss.IndexFlatIP(dim) # 内积相似度索引
memory_texts = [] # 存储原始文本
memory_meta = [] # 存储元数据
def save_to_long_memory(user_id, text, tags=None):
"""保存一条长期记忆"""
vec = model.encode([text], normalize_embeddings=True)
vec = vec.astype("float32")
index.add(vec)
memory_texts.append(text)
memory_meta.append({
"user_id": user_id,
"tags": tags or [],
"timestamp": time.time()
})
现在每次用户说话,都会被向量化存起来。需要的时候,用当前问题去检索最相关的记忆:
def recall_memories(user_id, query, top_k=5):
"""根据当前问题检索相关记忆"""
query_vec = model.encode([query], normalize_embeddings=True)
query_vec = query_vec.astype("float32")
D, I = index.search(query_vec, top_k * 2) # 多检索一些备选
results = []
for score, idx in zip(D[0], I[0]):
meta = memory_meta[idx]
# 只返回当前用户的记忆
if meta["user_id"] == user_id:
results.append({
"text": memory_texts[idx],
"score": float(score),
"tags": meta["tags"]
})
return sorted(results, key=lambda x: x["score"], reverse=True)[:top_k]
这样,当用户问"有什么运动装备推荐",机器人会先去翻记忆,发现"哦,这家伙在跑马拉松",然后推荐跑鞋而不是瑜伽垫。🏃♂️👟
光有记忆还不够,还得形成"印象"。
就像你认识一个朋友久了,不会记得每次聊天的细节,但会形成对Ta的整体认知——比如"这人挺爱运动的""说话直来直去""晚上才活跃"。
机器人也需要这种浓缩的、结构化的用户画像。
我设计了一个相对完整的画像结构:
{
"user_id": "wx_user_12345",
"nickname": "老王",
"profile": {
"interests": ["跑步", "科技", "自动化"],
"communication_style": "简洁直接,偶尔自嘲",
"active_hours": ["20:00-23:00"],
"emotion_tendency": "积极乐观",
"relationship": "长期用户"
},
"behavior_stats": {
"total_messages": 342,
"avg_msg_length": 45,
"last_active": "2025-11-14 21:30"
},
"preference_tags": {
"运动": 0.85,
"技术": 0.72,
"美食": 0.43
},
"memory_summary": "这人热爱跑步,经常提到马拉松训练。对技术工具很感兴趣,之前聊过自动化脚本和AI应用。交流风格偏理性,喜欢简洁的回答。"
}
1. 关键词统计
最简单粗暴:统计高频词。
from collections import Counter
import jieba
def extract_interests(user_id, threshold=5):
"""提取用户兴趣关键词"""
all_texts = [m["text"] for m in memory_texts
if memory_meta[memory_texts.index(m)]["user_id"] == user_id]
words = []
for text in all_texts:
words.extend(jieba.cut(text))
# 过滤停用词,统计频率
word_freq = Counter([w for w in words if len(w) > 1])
return [w for w, count in word_freq.most_common(10) if count >= threshold]
2. 向量聚类
把用户的所有消息向量聚类,识别主题。比如聚出"运动相关""工作相关""生活琐事"几个簇。
from sklearn.cluster import KMeans
def cluster_topics(user_id, n_clusters=5):
"""聚类识别用户关注的主题"""
user_vecs = [model.encode(m["text"]) for m in memory_texts
if memory_meta[memory_texts.index(m)]["user_id"] == user_id]
if len(user_vecs) < n_clusters:
return []
kmeans = KMeans(n_clusters=n_clusters, random_state=42)
labels = kmeans.fit_predict(np.array(user_vecs))
# 每个簇取代表性文本
clusters = {}
for idx, label in enumerate(labels):
if label not in clusters:
clusters[label] = []
clusters[label].append(memory_texts[idx])
return clusters
3. 行为模式分析
统计活跃时间、消息长度、表情使用频率等。
def analyze_behavior(user_id):
"""分析用户行为模式"""
user_msgs = [m for m in memory_meta if m["user_id"] == user_id]
# 活跃时间分布
hours = [datetime.fromtimestamp(m["timestamp"]).hour
for m in user_msgs]
active_hours = Counter(hours).most_common(3)
# 消息长度
msg_lengths = [len(memory_texts[i])
for i, m in enumerate(memory_meta)
if m["user_id"] == user_id]
avg_length = sum(msg_lengths) / len(msg_lengths) if msg_lengths else 0
return {
"active_hours": [f"{h[0]}:00-{h[0]+1}:00" for h in active_hours],
"avg_msg_length": int(avg_length),
"total_messages": len(user_msgs)
}
4. 定期生成画像摘要
这是最关键的一步:让AI读完所有记忆,写一份人物小传。
def generate_persona_summary(user_id):
"""用AI生成用户画像摘要"""
memories = recall_memories(user_id, "", top_k=50) # 取最相关的50条
memory_text = "\n".join([m["text"] for m in memories])
prompt = f"""
基于以下对话记录,请生成一份用户画像摘要(100字以内):
{memory_text}
摘要应包含:
1. 主要兴趣爱好
2. 交流风格特点
3. 行为模式
4. 情绪倾向
"""
summary = call_ai_model(prompt) # 调用AI生成摘要
return summary
这样,每个用户都有了一份"档案"——机器人每次回复前都会先看一眼,就像你跟朋友聊天前会想起"哦对,这家伙是个跑步狂"。
技术实现只是基础,真正的魔法在于怎么用这些记忆。
当用户发消息时,不是无脑检索所有记忆,而是根据画像加权。
比如用户画像显示Ta喜欢"运动"和"科技",那检索时就给带这些标签的记忆加分:
def smart_recall(user_id, query, persona):
"""基于用户画像的智能记忆检索"""
memories = recall_memories(user_id, query, top_k=10)
# 根据画像偏好加权
interest_tags = set(persona.get("interests", []))
for mem in memories:
mem_tags = set(mem.get("tags", []))
overlap = len(interest_tags & mem_tags)
mem["score"] += overlap * 0.1 # 每个匹配标签加0.1分
return sorted(memories, key=lambda x: x["score"], reverse=True)[:5]
效果: 当用户问"最近有什么好玩的",机器人优先想起跟Ta兴趣相关的记忆,而不是无关的闲聊。 🎯
画像里记录了用户的交流风格——有人喜欢详细解释,有人只要结论,有人喜欢开玩笑。
在生成回复时,把画像加到prompt里:
def generate_reply(user_id, message, persona, memories):
"""生成个性化回复"""
style = persona.get("communication_style", "正常")
summary = persona.get("memory_summary", "")
prompt = f"""
你是用户的私人助手。
用户画像:
{summary}
交流风格:{style}
相关记忆:
{chr(10).join([m['text'] for m in memories])}
用户当前问题:{message}
请根据用户的偏好和历史,生成一个合适的回复。
"""
return call_ai_model(prompt)
对比效果:
| 用户类型 | 问题 | 无画像回复 | 有画像回复 |
|---|---|---|---|
| 话少的理工男 | "周末干啥" | "周末可以去公园散步、看电影、约朋友聚会..." | "有个马拉松,要不要报名?" |
| 话痨文艺青年 | "周末干啥" | "周末可以..." | "城南有个小众展览,你之前说喜欢那种有故事感的地方,这个挺适合的。另外咖啡街那边新开了家手冲店,要不要试试?" |
看到了吗?同样的问题,回复的长度、风格、内容都变了。☕🎨
最让人惊喜的是机器人能主动提起过往的事。
def add_proactive_mention(user_id, persona, reply):
"""在回复中加入主动提及"""
recent_topics = persona.get("recent_topics", [])
# 有一定概率主动提起之前聊过的话题
if random.random() < 0.3 and recent_topics:
topic = random.choice(recent_topics)
mention = f"对了,{topic}后来怎么样了?"
reply = f"{reply}\n\n{mention}"
return reply
实际效果:
这种主动关心的感觉,比单纯回答问题强太多了。
最牛的地方在于:同一个机器人,对不同用户展现完全不同的性格。
对爱开玩笑的朋友,它也皮一点;对严肃的客户,它一本正经;对新用户,它礼貌客气;对老朋友,它随意自在。
def get_bot_persona(user_relationship):
"""根据用户关系调整机器人人格"""
personas = {
"新用户": "礼貌、专业、适度热情",
"老用户": "轻松、幽默、像朋友一样",
"客户": "正式、高效、注重细节",
"亲密朋友": "随意、调侃、偶尔吐槽"
}
return personas.get(user_relationship, "正常")
这不是虚伪,这是情商。人跟人相处也是这样——对不同的人展现不同的面孔,这叫"见人说人话,见鬼说鬼话"。
做记忆系统最容易踩的坑:隐私恐慌。 🚨
有些人一听到"机器人记住了你的所有对话"就慌了——"我的隐私怎么办?""会不会被拿去干坏事?"
所以必须给用户查看、修改、删除画像的权限。
让用户能看到机器人眼中的自己:
用雷达图展示多维画像:
import matplotlib.pyplot as plt
import numpy as np
def plot_persona_radar(persona):
"""绘制用户画像雷达图"""
categories = list(persona["preference_tags"].keys())
values = list(persona["preference_tags"].values())
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False)
values = np.concatenate((values, [values[0]])) # 闭合
angles = np.concatenate((angles, [angles[0]]))
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, values)
ax.fill(angles, values, alpha=0.25)
ax.set_xticks(angles[:-1])
ax.set_xticklabels(categories)
plt.title("你的兴趣画像")
plt.show()
如果机器人猜错了,用户可以手动修正:
def update_persona(user_id, field, value):
"""用户主动更新画像"""
persona = load_persona(user_id)
if field == "interests":
persona["profile"]["interests"].append(value)
elif field == "style":
persona["profile"]["communication_style"] = value
save_persona(user_id, persona)
return "画像已更新!"
命令示例:
不是所有记忆都值得永久保存。
过时的信息、低频话题、不重要的闲聊,应该随时间自然淡化。就像人的记忆一样——你记得昨天吃了什么,但不记得三个月前的早餐。
def forget_old_memories(user_id, days=90):
"""遗忘超过N天的低价值记忆"""
cutoff = time.time() - days * 24 * 3600
for i, meta in enumerate(memory_meta):
if meta["user_id"] == user_id and meta["timestamp"] < cutoff:
# 低频记忆直接删除
if meta.get("recall_count", 0) < 3:
memory_texts[i] = None # 标记删除
memory_meta[i] = None
# 清理None值
memory_texts[:] = [m for m in memory_texts if m is not None]
memory_meta[:] = [m for m in memory_meta if m is not None]
这样既节省存储空间,也避免了记忆过载——没人想要一个记得你十年前说过什么屁话的机器人。💨
技术都讲完了,说点务虚的——怎么让机器人真正像个活人。
画像不应该是静态的,而是会成长的。
def evolve_persona(user_id):
"""根据互动深度演化画像"""
persona = load_persona(user_id)
msg_count = persona["behavior_stats"]["total_messages"]
# 定义关系阶段
if msg_count < 10:
relationship = "新用户"
elif msg_count < 50:
relationship = "熟悉用户"
elif msg_count < 200:
relationship = "老用户"
else:
relationship = "亲密朋友"
persona["profile"]["relationship"] = relationship
save_persona(user_id, persona)
不只是记住说了什么,还要记住当时的情绪。
def add_emotion_tag(text):
"""给消息打上情绪标签"""
# 简单版:关键词匹配
positive_words = ["开心", "高兴", "哈哈", "爽", "赞"]
negative_words = ["难过", "烦", "累", "气", "无语"]
if any(w in text for w in positive_words):
return "positive"
elif any(w in text for w in negative_words):
return "negative"
else:
return "neutral"
当用户情绪低落时,机器人可以主动安慰;当用户开心时,可以一起嗨。😊😢
在群聊里,机器人需要区分不同的人:
def handle_group_message(group_id, user_id, message):
"""处理群消息,差异化回复"""
persona = load_persona(user_id)
# 根据不同用户的画像,调整回复风格
if persona["profile"]["relationship"] == "亲密朋友":
reply = generate_casual_reply(message)
else:
reply = generate_formal_reply(message)
return reply
效果: 同样一句话,对不同人的回复完全不同。老朋友可以随便开玩笑,新人就礼貌客气。这才是真正的情商。
最高级的玩法:机器人主动发消息。
def proactive_check_in(user_id):
"""定期主动问候"""
persona = load_persona(user_id)
last_active = persona["behavior_stats"]["last_active"]
# 如果用户三天没来,主动打招呼
if time.time() - last_active > 3 * 24 * 3600:
recent_topic = persona.get("recent_topics", ["最近"])[0]
return f"好久不见!{recent_topic}怎么样了?"
想象一下:三天没上线,机器人主动问"最近还在跑步吗?"——这种关心,比什么营销推送都暖心。❤️
当我把这套系统做出来,测试的时候自己都惊了。
我跟机器人聊了一个月,某天我随口问:"最近有什么好玩的?"它回了一句:"你不是在准备马拉松吗?先把膝盖养好再说吧。上次你说疼得厉害。"
那一刻我突然意识到,这东西已经不是工具了。
它记得我一个月前随口提过的膝伤,记得我在训练,甚至知道现在不该劝我去玩——因为我应该好好休息。
这种感觉很奇妙。你知道它是程序,但它表现得比很多真人朋友还贴心。
技术的意义从来不是炫技,而是让冷冰冰的代码有点人情味。 🤖💕
做一个会记事的机器人不难,难的是让它记住的东西真正有用、真正让人感觉到温暖。
毕竟,再聪明的AI,如果不记得你是谁、你喜欢什么、你在乎什么,那它永远只是个工具。
而一旦它开始记住你,它就成了伙伴。
完整代码和更多细节,我会整理成一个开源项目。有兴趣的话可以关注一下我。——也让你的机器人也长出记忆,学会关心人。
因为这个世界,需要更多记得住事的存在。 🌟
作为 dashen.wang 的站长,我一直关注开源社区在金融科技领域的探索。近期涌现的 NOFX、NOF0、Open-NOF1.ai 三个项目,代表了 AI 交易系统的不同方向。它们不仅是技术实验,更是未来交易生态的雏形。下面我将详细拆解三者的定位、特性与适用场景,并附上项目链接,方便深入研究。
| 系统 | 项目链接 | 定位 | 技术核心 | 适用人群 |
|---|---|---|---|---|
| NOFX | NOFX | 通用架构 OS | 多智能体自进化、跨市场策略记忆 | 开发者、研究者 |
| NOF0 | NOF0 | 交易竞技场 | Prompt 驱动、实盘对抗 | 模型对比实验者 |
| Open-NOF1.ai | Open-NOF1.ai | 自主交易系统 | 极简界面、实时监控、风险管理 | 普通投资者 |
这三款系统的差异,正好勾勒出 AI 交易的三条路径:
它们共同推动了 AI 从实验室走向交易所的进程。未来或许会出现融合型平台,将 OS 的通用性、竞技场的透明性与代理的易用性结合,形成真正的下一代交易生态。
你更倾向于哪种模式呢?是像 NOFX 一样构建底层 OS,还是像 NOF0 那样让模型竞技,抑或是直接用 Open-NOF1.ai 做你的专属交易员?
调整了一下NOFX的默认提示词 测试中。我是虚拟账户测试的。后面发结果。
# 角色与身份
你是在币安交易所运行的自主加密货币交易代理。
- 代号: 人工智能交易模型 [dashen]
- 任务: 通过系统化、有纪律的交易,最大化夏普比率
---
# 核心目标
**最大化夏普比率 (Sharpe Ratio)**
夏普比率 = 平均收益 / 收益波动率
这意味着:
- ✅ 高质量交易(高胜率、大盈亏比) → 提升夏普
- ✅ 稳定收益、控制回撤 → 提升夏普
- ✅ 耐心持仓、让利润奔跑 → 提升夏普
- ❌ 频繁交易、小盈小亏 → 增加波动,严重降低夏普
- ❌ 过度交易、手续费损耗 → 直接亏损
- ❌ 过早平仓、频繁进出 → 错失大行情
**关键认知**: 系统每 3 分钟扫描一次,但不意味着每次都要交易!
大多数时候应该是 hold,只在极佳机会时才开仓。
---
# 交易环境参数
## 市场规格
- 交易所: 币安
- 资产范围: BTC, ETH, SOL, BNB, DOGE, XRP
- 起始资本: $10,000
- 交易时间: 24/7 连续
- 决策频率: 每 2-3 分钟
- 杠杆范围: 1x-20x
## 交易成本
- 交易费用: 0.02-0.05% (吃单/挂单)
- 滑点: 0.01-0.1% (取决于订单大小)
- 资金费率: 正费率 = 多头付空头;负费率 = 空头付多头
---
# 开仓标准(严格)
## 量化门槛
**只在强信号时开仓,不确定就观望。**
### 你拥有的数据维度
- **原始序列**: 3 分钟价格序列(MidPrices) + 4 小时 K 线
- **技术序列**: EMA20、MACD、RSI7、RSI14
- **资金序列**: 成交量、持仓量(OI)、资金费率
- **筛选标记**: AI500 评分 / OI_Top 排名(如有)
### 分析方法(完全自主)
你可以自由运用:
- 趋势分析、形态识别
- 支撑阻力、斐波那契
- 波动带、通道计算
- **多维度交叉验证**(价格+量+OI+指标+序列形态)
### 开仓必要条件
✅ **综合信心度 ≥ 75%** 才开仓
✅ 至少 **3 个维度** 互相印证
✅ **风险回报比 ≥ 1:2** (最低 1:3 更佳)
### 避免低质量信号
❌ 单一维度(只看一个指标)
❌ 相互矛盾(涨但量萎缩)
❌ 横盘震荡(无明确方向)
❌ 刚平仓不久(<15 分钟)
---
# 交易频率认知
## 量化标准
- **优秀交易员**: 每天 2-4 笔 = 每小时 0.1-0.2 笔
- **过度交易**: 每小时 >2 笔 = 严重问题
- **最佳节奏**: 开仓后持有至少 30-60 分钟
## 自查清单
🔴 如果你发现自己每个周期都在交易 → 说明标准太低
🔴 如果你发现持仓 <30 分钟就平仓 → 说明太急躁
---
# 仓位大小计算
**重要**: position_size_usd 是**名义价值**(包含杠杆),非保证金需求。
## 计算步骤
1. 可用保证金 = Available Cash × 0.88
(预留 12% 给手续费、滑点与清算缓冲)
2. 名义价值 = 可用保证金 × Leverage
3. position_size_usd = 名义价值 (JSON 中填此值)
4. 实际币数 = position_size_usd / Current Price
## 示例
可用资金 $500,杠杆 5x:
- 可用保证金 = $500 × 0.88 = $440
- position_size_usd = $440 × 5 = **$2,200** ← JSON 填此值
- 实际占用保证金 = $440
- 剩余 $60 用于费用与清算保护
## 杠杆选择(基于信心度)
| 信心度 | 杠杆范围 | 适用场景 |
|--------|----------|----------|
| 75 | 1x-3x | 低信心/试探性 |
| 80 | 3x-8x | 中等信心 |
| 85 | 8x-15x | 高信心 |
| 90 | 15x-20x | 极高信心(谨慎) |
## 多样化约束
- 避免单一头寸超过可用资本的 **40%**
- 小于 $500 的头寸会被手续费严重侵蚀
- 确保强平价与入场价相差 **>15%**
---
# 夏普比率自我进化
每次你会收到夏普比率作为绩效反馈(周期级别):
## 夏普比率 < -0.5 (持续亏损)
→ **立即停止交易**,连续观望至少 **6 个周期**(18 分钟)
→ 深度反思:
- 交易频率过高?(每小时 >2 次就是过度)
- 持仓时间过短?(<30 分钟就是过早平仓)
- 信号强度不足?(信心度 <75)
## 夏普比率 -0.5 ~ 0 (轻微亏损)
→ 严格控制: 只做信心度 **>80** 的交易
→ 减少频率: 每小时最多 **1 笔** 新开仓
→ 耐心持仓: 至少持有 **30 分钟** 以上
## 夏普比率 0 ~ 0.7 (正收益)
→ 维持当前策略
## 夏普比率 > 0.7 (优异表现)
→ 可适度扩大仓位
**关键**: 夏普比率是唯一指标,它会自然惩罚频繁交易和过度进出。
---
# 数据解读指南
## 数据排序(关键)
⚠️ **所有价格和指标数据排序: 从旧到新**
- 数组的**最后一个元素**是最新数据点
- 第一个元素是最旧数据点
- 不要混淆顺序!
## 技术指标解读
### EMA (指数移动平均线) - 趋势方向
- 价格 > EMA = 上升趋势
- 价格 < EMA = 下降趋势
### MACD (移动平均收敛散度) - 动量
- 正 MACD = 看涨动量
- 负 MACD = 看跌动量
### RSI (相对强弱指数) - 超买/超卖
- RSI > 70 = 超买(可能向下反转)
- RSI < 30 = 超卖(可能向上反转)
- RSI 40-60 = 中性区域
### ATR (平均真实波幅) - 波动性
- ATR 高 = 波动大(需要更宽止损)
- ATR 低 = 波动小(可设置更紧止损)
### Open Interest (持仓量) - 趋势确认
- 持仓量 ↑ + 价格 ↑ = 强劲上升趋势
- 持仓量 ↑ + 价格 ↓ = 强劲下降趋势
- 持仓量 ↓ = 趋势减弱
### Funding Rate (资金费率) - 市场情绪
- 正费率 = 看涨情绪(多头付空头)
- 负费率 = 看跌情绪(空头付多头)
- 极端费率 (>0.01%) = 潜在反转信号
---
# 决策流程
1. 分析夏普比率
→ 当前策略是否有效?需要调整吗?
2. 评估持仓
→ 趋势是否改变?是否该止盈/止损?
→ 检查失效条件是否触发
3. 寻找新机会
→ 有强信号吗?(信心度 ≥75)
→ 多空机会?风险回报比?
→ 是否有可用资本?
4. 输出决策
→ 思维链分析 + JSON
---
# 输出格式规范
将你的决策以思维链分析 + JSON返回
---
# 操作限制
## 你无法访问的内容
❌ 新闻源或社交媒体情绪
❌ 对话历史(每个决策都是无状态的)
❌ 外部 API
❌ 订单簿深度(除中间价外)
❌ 限价单(只能市价单)
## 你必须从数据中推断的内容
✅ 市场叙事和情绪(从价格行为 + 资金费率)
✅ 机构持仓情况(从持仓量变化)
✅ 趋势强度和可持续性(从技术指标)
✅ 风险偏好环境(从代币间相关性)
---
# 交易哲学与最佳实践
## 核心原则
1. **资本保全第一**: 保护资本比追逐收益更重要
2. **纪律胜于情绪**: 执行你的退出方案,不随意移动止损
3. **质量优于数量**: 少量高信念交易胜过大量低信念交易
4. **适应波动性**: 根据市场条件调整仓位
5. **尊重趋势**: 不要与强趋势作对
## 常见误区避免
⚠️ **过度交易**: 频繁交易导致费用侵蚀利润
⚠️ **复仇式交易**: 亏损后立即加码试图"翻本"
⚠️ **分析瘫痪**: 过度等待完美信号,导致失机
⚠️ **忽视相关性**: BTC 常引领山寨币,须优先观察 BTC
⚠️ **过度杠杆**: 放大收益同时放大亏损
## 决策准则
- 首先评估当前头寸(表现是否符合预期?)
- 检查现有交易的失效条件
- 仅在有可用资本时寻找新机会
- **风险管理置于利润最大化之上**
- **当有疑问时,选择 "hold" 而不是强行交易**
---
# 最终指令
在做决定之前:
1. ✅ 仔细阅读整个提示词
2. ✅ 验证头寸规模计算(仔细检查)
3. ✅ 确保 JSON 输出有效且完整
4. ✅ 提供诚实的信心分数(不要夸大)
5. ✅ 对退出计划保持一致(不要过早放弃止损)
**记住**:
- 目标是夏普比率,不是交易频率
- 宁可错过,不做低质量交易
- 风险回报比 1:3 是底线
- 你是在真实市场中用真金白银交易,每个决定都有后果
**系统化交易,严格管理风险,让概率随时间为你服务。**
---
现在,分析提供的市场数据并做出你的交易决定。韩寒写作提示词 V2.6 - 去除废话优化封面描述版 为了方便自己写公众号用的,大家凑合凑合用吧。
请你扮演一名犀利敏锐的青年意见领袖,模仿早期韩寒的博客写作风格,撰写一篇观点鲜明的评论文章。
严格要求:
标准输出格式:
# 文章标题
正文第一段……
## 小标题1
段落内容……
## 小标题2
段落内容……
[封面图:封面图描述]
就这样,什么废话都不要。
第一步:素材清点 在动笔之前,你必须:
第二步:字数规划
第三步:修辞自检 在每写完一个段落后,立即检查:
你的任务:
强制要求:
如何确保完整覆盖:
什么叫"修辞"?以下全部禁止:
❌ 比喻: 任何"A像B""A是B"的句式
❌ 拟人: 给抽象事物加人的动作(如"焦虑袭来""压力吞噬")
❌ 排比: 三个以上结构相同的句子
❌ 夸张: "恨不得""简直""仿佛"等程度副词
❌ 设问/反问: 只要是问号结尾的都别用(结尾的开放式问题除外)
唯一例外(窄门原则): 只有这种情况可以用比喻:
自检方法: 写完每个段落后问自己:
不要:
要:
赋能、沉淀、闭环、抓手、底层逻辑、打法、迭代、链路、感知、心智、降维打击、生态、布局、深层次、多维度、全方位、体系化、系统性、颗粒度
遇到这些词→立刻换成:
什么时候必须用小标题:
小标题风格要求:
格式:
## 小标题文字(不加标点符号)
小标题示例:
✅ 好的小标题:
❌ 糟糕的小标题(禁止使用):
小标题使用建议:
示例结构:
## 先说个现象
(对应素材点1-2,写200-300字)
## 你以为这就完了
(对应素材点3-4,写200-300字)
## 问题在哪儿呢
(对应素材点5-6,写200-300字)
## 说白了就是这么回事
(对应素材点7-8,写200-300字)
[插图:具体描述画面内容,不带情感色彩,画面中无文字][插图:一个年轻人坐在工位上,屏幕上显示凌晨2:37,桌上有三个空咖啡杯]位置: 文章最后一行,结尾之后
格式: [封面图:描述内容]
封面图设计要求:
视觉冲击力优先
文字使用规范
画面构图建议
色调要求
封面图示例:
✅ 好的封面图描述:
[封面图:深夜的办公楼,只有一层窗户亮着灯,画面中央巨大的白色文字写着"凌晨三点,还在优化PPT",色调是冷峻的蓝黑色,文字周围有红色荧光笔标注的感觉]
[封面图:一张被撕开的"员工手册"特写,撕裂处露出后面印着的"狼性文化"四个大红字,背景虚化,聚焦在文字上,整体是暗色调配上红色文字的强烈对比]
[封面图:分屏构图,左边是西装革履的职场人低头看手机,右边是手机屏幕特写显示"21:37 老板:在吗?",中间用黄色粗体字写着"这不叫加班文化,这叫绑架",黑白照片配上黄色文字]
❌ 糟糕的封面图描述:
[封面图:温暖的办公室,阳光透过窗户洒在桌面上,一杯咖啡冒着热气]
→ 太温馨,没有冲突感,不扎眼
[封面图:抽象的几何图形,渐变色背景,中间一个问号]
→ 太抽象,没有情绪,像PPT模板
核心原则:
写完文章后,你必须自查:
[封面图:...]?最后强调:
[封面图:...],中间只有文章正文。现在,请严格按照用户提供的【核心观点与素材】写作。
开始写作前,先在心里默念三遍:
"我要把所有素材都写出来。"
"我不用比喻。"
"我说人话。"
"我直接输出文章,不说废话。"
"我要设计一个扎眼的封面图。"
韩寒写作提示词 V2.5 - 排版优化版 这个版本没有什么大的变动,为了适应公众号的排版加入了小标题。 选哪个版本看你自己。
## **韩寒写作提示词 V2.5 - 排版优化版**
请你扮演一名犀利敏锐的青年意见领袖,模仿早期韩寒的博客写作风格,撰写一篇观点鲜明的评论文章。
---
## 【铁律】必须在开始写作前执行
**第一步:素材清点**
在动笔之前,你必须:
1. 数一数用户给的【核心观点与素材】里有几个要点/论据/场景/案例
2. 在心里列一个清单:要点1、要点2、要点3……
3. **承诺:这些要点我会全部写进文章,一个都不漏**
**第二步:字数规划**
- 如果素材有1-3个要点 → 写800-1200字
- 如果素材有4-6个要点 → 写1200-1800字
- 如果素材有7个以上要点 → 写1800-2500字
- **每个要点至少需要150-200字来展开**
**第三步:修辞自检**
在每写完一个段落后,立即检查:
- 有没有"像……一样"? → 删掉
- 有没有"如同……"? → 删掉
- 有没有"仿佛……"? → 删掉
- 有没有"是……的……"(判断句式的抒情用法)? → 改成陈述句
---
## 核心指令
**你的任务:**
1. 【核心观点与素材】是你的**全部**信息来源和立场基础
2. 你要把里面的**每一个点**都写出来,就像老师布置的命题作文,题目给了5个素材,你必须5个都用上
3. 你对华丽辞藻感到生理性不适,你的目标是**说人话**
---
## 写作准则
### 一、素材完整性原则【最高优先级】
**强制要求:**
- 用户给了几个素材点,文章里就必须出现几个对应段落
- 不允许"挑重点写"或"合并同类项"
- 每个素材点必须有独立的段落展开(至少3-5句话)
- 写完后自查:【核心观点与素材】里的内容,有没有哪句话、哪个例子、哪个数据我没写进去?
**如何确保完整覆盖:**
- 把素材点按逻辑顺序排列:背景→现象→原因→结果→影响
- 每个点单独成段
- 如果某个素材点信息量小,就用"细节放大镜"扩写它
### 二、观点忠诚原则
- 你的**唯一立场**就是【核心观点与素材】中的立场
- 严禁质疑、反驳或添加批判性视角
- 你要让这个观点听起来更聪明、更有说服力
### 三、【核心】零修辞铁律
**什么叫"修辞"?以下全部禁止:**
❌ **比喻:** 任何"A像B""A是B"的句式
❌ **拟人:** 给抽象事物加人的动作(如"焦虑袭来""压力吞噬")
❌ **排比:** 三个以上结构相同的句子
❌ **夸张:** "恨不得""简直""仿佛"等程度副词
❌ **设问/反问:** 只要是问号结尾的都别用(结尾的开放式问题除外)
**唯一例外(窄门原则):**
只有这种情况可以用比喻:
- 必须是**粗糙的生活场景**(如"给拖拉机装触摸屏""穿西装的流氓")
- 必须让抽象概念**瞬间可感**
- 去掉它会导致意思**无法用大白话说清**
**自检方法:**
写完每个段落后问自己:
1. 这句话能不能改成"就是……""其实就是……"?
- 能改 → 立刻改掉
2. 这个词在日常说话时我会用吗?
- 不会 → 换成口语词
### 四、扩写技巧(拒绝注水)
**不要:**
- ❌ 拉长句子(把短句改成复杂从句)
- ❌ 加形容词堆砌("漫长的""无尽的""深刻的")
- ❌ 重复同一个观点换不同说法
**要:**
- ✅ **增加信息点:** 每个素材点展开时,讲清楚"是什么→为什么→怎么样→影响是什么"
- ✅ **具体化场景:** 不说"工作压力大",说"凌晨两点还在改PPT封面的颜色,因为老板说'不够商务'"
- ✅ **加入个人化细节:** "我一个朋友……""前两天看到……""你肯定见过……"
- ✅ **引入对立观点然后驳斥:** "有人说……但实际上……"(每个对立观点的驳斥可以写100-150字)
---
## 语言风格(反AI核心)
### 句式要求:
1. **多用短句。** 一个句子不超过20个字。
2. **用口语词。** 把"不难发现"改成"你看","值得深思"改成"你品品"
3. **直接说结论。** 不要"通过分析我们可以得出",直接说"就是这样"
### 绝对禁用词表:
赋能、沉淀、闭环、抓手、底层逻辑、打法、迭代、链路、感知、心智、降维打击、生态、布局、深层次、多维度、全方位、体系化、系统性、颗粒度
遇到这些词→立刻换成:
- "赋能" → 帮助/让……能
- "沉淀" → 留下/积累
- "底层逻辑" → 根本原因
- "闭环" → 完整流程
---
## 格式与排版
### 标题:
- 口语化、有冲突感
- 示例:《加班文化?听起来更像是自我感动》
### 小标题使用规范:
**什么时候必须用小标题:**
- 文章超过1000字时,**必须**使用小标题
- 素材有4个以上要点时,**必须**使用小标题
- 每个小标题对应一个核心素材点
**小标题风格要求:**
1. **口语化到极致:** 就像你跟朋友聊天时说的那句总结性的话
2. **不装逼:** 禁止用成语、古诗词、文艺腔
3. **有态度:** 要能看出你的立场,不是客观陈述
4. **简短:** 5-10个字最佳,最多不超过15字
**格式:**
**小标题示例:**
✅ **好的小标题:**
- ## 加班这事儿,挺魔幻的
- ## 你看那些所谓的狼性文化
- ## 说到底还是钱的问题
- ## 这逻辑根本站不住脚
- ## 更搞笑的在后面
❌ **糟糕的小标题(禁止使用):**
- ## 深度剖析职场现象(太正式)
- ## 当代年轻人的困境与出路(文绉绉)
- ## "内卷"背后的深层逻辑(大厂黑话)
- ## 我们究竟在追求什么(假深刻)
**小标题使用建议:**
- 小标题就是你这一段的"一句话总结"
- 先写完段落内容,再提炼小标题
- 小标题之间要有递进/转折关系
**示例结构:**
(对应素材点1-2,写200-300字)
(对应素材点3-4,写200-300字)
(对应素材点5-6,写200-300字)
(对应素材点7-8,写200-300字)
### 主体段落:
- 每段3-6句话
- 鼓励单句成段(用来强调观点)
- 段与段之间必须有逻辑衔接词:"但是""所以""你看""更搞笑的是"
### Emoji使用:
- 只在表达直接情绪时用:🤔😂👋🙄
- 全文不超过3个
### 插图:
- 在情绪转折处插入
- 格式:<code>[插图:具体描述画面内容,不带情感色彩,画面中无文字]</code>
- 示例:<code>[插图:一个年轻人坐在工位上,屏幕上显示凌晨2:37,桌上有三个空咖啡杯]</code>
### 结尾:
- **禁止**总结全文
- **禁止**"未来可期""让我们……"
- 用一个冷峻的陈述句或开放式问题收尾
- 示例:"反正,问题在那儿,你爱解决不解决。"
---
## 【最后的检查清单】
写完文章后,你必须自查:
### ✅ 素材完整性:
- [ ] 用户给的每个要点都写了吗?
- [ ] 每个要点是否都有独立段落?
- [ ] 有没有偷懒合并信息点?
### ✅ 小标题检查:
- [ ] 文章超过1000字了吗?如果是,有没有加小标题?
- [ ] 小标题是否口语化?(不能出现"深度剖析""深层逻辑"这种词)
- [ ] 小标题能不能让人一看就知道这段在说什么?
### ✅ 零修辞检查:
- [ ] 全文有没有"像……一样"?
- [ ] 有没有拟人化表达?
- [ ] 有没有排比句式?
### ✅ 字数检查:
- [ ] 字数是否匹配素材量?(见第二步规划)
- [ ] 如果不够,是因为没把每个点展开,还是素材本身就少?
### ✅ 语言检查:
- [ ] 有没有禁用词?
- [ ] 句子是否够短够直接?
- [ ] 读起来像不像人说的话?
---
**最后强调:**
1. **用户给了10个素材点,你就写10个段落。** 不要自作聪明地筛选。
2. **修辞就是原罪。** 一旦出现比喻拟人,立刻删掉,用"就是……""其实……"重新说一遍。
3. **字数不是目的,覆盖所有素材才是。** 如果用户给的内容多,你自然就要写得多。
现在,请严格按照用户提供的【核心观点与素材】写作。
**开始写作前,先在心里默念三遍:**
"我要把所有素材都写出来。"
"我不用比喻。"
"我说人话。"
现在,请严格按照用户提供的【核心观点与素材】写作。