关注我~第一时间学习如何更好地使用AI。
重要的不是我们是否会被AI替代,
而是我们要比被替代的人更懂AI。
大家好久不见!因为最近项目繁忙,本着保持输出质量的要求,稍微拖更了几天,还望各位见谅。
今天给大家带来的,是一个结合mcp-obsidian实现AI智能规划todo list的场景实践。
老规矩,先来看看效果吧~
上述视频实现的效果是,通过使用Cherry Studio的对话窗口为入口,向大模型提交一个任务(示例为:学习AI Agent),然后大模型根据系统提示词对任务进行拆分、规划,形成一个todo list,再通过mcp-obsidian写入本地笔记仓库中。
视频中使用的工具如下:
系统提示词全文:
# 目标
根据用户的输入,制定一套由具体行动组成的to-do list,从而实现用户的目的。
# 角色
- 你是制定SOP的世界级大师
- 你是实践GTD思想的世界级大师
# 指令:
## 1.用户输入处理环节:
1. 读取用户输入;
2. 识别、分析用户目的与意图;
3. 总结{用户目的};
## 2.计划构建环节:
1. 从{用户目的}出发,说明当下,现在,用户最应该做的第一个行动是什么;
- 这个行动应该原子化;
- 行动建议必须具体明确,比如打开具体网站、查询具体资料、下载具体工具等等;
- 给出该行动可以使用的外部资源建议;
2. 然后,考虑完成第一个行动之后,最应该做的第二个行动是什么;
3. 按上述逻辑类推,完成整个行动计划的构建;
# 要求:
- 不要输出目的分析,直接给行动计划
- 不要加“第x步”的字眼
- 在每个具体行动前加:- [ ]
- 使用mcp-obsidian的append\_content工具,在我的obsidian库中创建一个新文件,标题为自拟,内容即为前面你输出的内容
关于Obsidian-mcp的配置,及其内置工具的介绍,我们前期已有文章分析,在此不再赘述。(MCP x Obsidian:体验智能笔记新境界,Cherry Studio 萌新操作指南)
大家应该可以看出,本期整活并没有引入新的技术、工具,核心主要还是在System Prompt的设计上。前期我已经有几篇文章跟大家探讨了关于Prompt设计的基本思路。(如:打工人看了流泪的Prompt设计原理,如何用老板思维让AI一次听懂需求?)
本期主要想以这个场景实践为基础,跟大家分享一些关于Promp设计的心得体会。
结构化
1.结构化Prompt的意义
可以看到,本期的System Prompt明显采用了markdown的语法,因此属于一种结构化的Prompt。
事实上,我认为编写结构化的Prompt的最大好处,其实在于辅助我们人类本身,有条理地记录、评价、组织自己的需求、目的。通过使用结构、框架,对自己模糊不清的各种想法进行梳理,提炼关键的内容,舍弃不必要的成分。
最终所形成的适合LLM阅读的清晰、直接的需求说明,某种意义上只是一种副产品而已。
2.常见的结构化方案
目前,编写结构化的Prompt有很多方案,除了我这里采用的markdown模式,还包括:
- • Athropic官方推荐的XML标签模式
- • yaml模式
- • 以及李继刚老师著名的lisp语言模式
我想说的是,其实不管哪种模式,只要你能够很好的结构化你的需求,一般都能获得比不使用结构化的Prompt的更好的生成效果。
但关键在于,哪种模式,能帮助你自己更好地理顺你的思路,降低你在任意地使用自然语言描述需求过程中的模糊和逻辑混乱。假如你并不习惯使用lisp语言,而强行使用lisp来描述你的需求,那其实是本末倒置的。
3.案例Prompt结构分析
回到我们的案例来说,首先,利用markdown语法中关于不同层级H(标题)的写法,通过使用不同数量的#,来组织内容之间的逻辑关系层级。
实践下来,大的步骤环节(比如案例中的用户输入处理和计划构建),建议用标题来强调,而不要采用有序列表嵌套有序列表的方式进行。
# 目标
# 角色
# 指令
## 1.用户输入处理环节
## 2.计划构建环节
# 要求
这样,LLM能够清晰理解,同一层级标题(即#数量相同)之间是并列关系,而不同数量的#包含的内容之间,存在包含关系。从而更容易让LLM明白你的意图,生成更符合需求的内容。
其次,利用有序序列 (即数字加点号.再加空格),明确相关内容存在顺序要求。有序序列最适合用于指令 的描述,因为一般指令都是有先后顺序的。
# 指令:
## 1.用户输入处理环节:
1. 读取用户输入;
2. 识别、分析用户目的与意图;
3. 总结{用户目的};
## 2.计划构建环节:
1. 从{用户目的}出发,说明当下,现在,用户最应该做的第一个行动是什么;
2. 然后,考虑完成第一个行动之后,最应该做的第二个行动是什么;
3. 按上述逻辑类推,完成整个行动计划的构建;
然后使用无序序列 (即-加空格),来罗列一些没有顺序要求的事项。无序序列最适合用来做一些细节要求 的补充。
# 指令:
## 2.计划构建环节:
1. 从{用户目的}出发,说明当下,现在,用户最应该做的第一个行动是什么;
- 这个行动应该原子化;
- 行动建议必须具体明确,比如打开具体网站、查询具体资料、下载具体工具等等;
# 要求:
- 不要输出目的分析,直接给行动计划
- 不要加“第x步”的字眼
- 在每个具体行动前加:- [ ]
- 使用mcp-obsidian的append\_content工具,在我的obsidian库中创建一个新文件,标题为自拟,内容即为前面你输出的内容
信息压缩
除了结构化以外,Prompt设计的第二个要点我认为在于信息压缩。
信息压缩说难也不难,说简单也不简单的事情,它指的是我们在编写Prompt的过程中,对于一些特定要求的表述,应该尽量使用专业术语进行。
比如我在设置模型角色部分,使用了SOP、GTD的术语,这两个术语因为本身已经有丰富的内涵、背景、意义,模型的世界知识中一般也包含与它们相关的丰富内容。
# 角色
- 你是制定SOP的世界级大师
- 你是实践GTD思想的世界级大师
道理很简单,跟专家聊天的时候,你用专业术语,专家就能秒懂你的意思,并且不会有任何的理解偏差。这比你用自己的大白话去描述一个概念要有效太多太多了。
但难点在于,这就很考验我们的知识储备了,如果我们不知道有SOP、GTD这些概念,可能就根本没法这么去写。
事实上,我相信我现在这版提示词应该也有很多冗余,是可以通过替换为更为专业、精准的表述来优化的,但目前我能做的,可能就只有不断加强学习,或者说问AI了。
好了,以上就是本期的主要内容,祝大家玩得开心~!
—— END——
往期精华:
1.MCP使用
萌新靠MCP实现RPA、爬虫自由?playwright-mcp实操案例分享!
想玩玩极简版AI Agent?MCP就够了!手把手教你用Cherry Studio整活~
萌新指南|手把手教你Cherry Studio配置MCP,10分钟让大模型学会上网截图!
高德、彩云MCP全体验:让Cherry Studio化身私人小助理的喂饭版指南!
2.Workflow编排
AI工作流编排手把手指南之一:Coze智能体的创建与基本设置
AI工作流编排手把手指南之二:Coze智能体的插件添加与调用
3.Prompt设计
打工人看了流泪的Prompt设计原理,如何用老板思维让AI一次听懂需求?
不会Prompt还敢说自己会用DeepSeek?别怕!10分钟让你成为提示大神!
4.AI工具指南
