Obsidian智能体学习(二)
前言:昨天 vs 今天的感受
昨天第一天,我搭好了环境——Obsidian + Text Generator + Tars 插件,跑通了本地 AI 对话的"Hello World"。说实话,昨天更多是配置工程师的感觉,装插件、填 API Key、测试连通性,成就感来自"它跑起来了"。
今天完全不一样。今天学完之后,我有一种认知被重构的感觉。
昨天我还在想"AI 真好用",今天我开始想"我之前用 AI 的方式太低效了"。
这种落差感,值得好好聊聊。
今天学了什么:S.C.O.R.E. 模型
核心概念:从"聊天"到"编程"
课程今天抛出了一个让我很触动的对比:
| 维度 | 聊天模式 | 工程模式 |
|---|---|---|
| 交互性质 | 随机、临时的自然语言对话 | 结构化、可复用的通信协议 |
| 逻辑基础 | 概率性的直觉反馈 | 确定性的指令集与约束框架 |
| 输出预期 | "看运气"的生成结果 | 符合 Schema 定义的可解析数据流 |
| 迭代路径 | 盲目重写、反复提示 | 基于评估指标的科学优化 |
我之前用 AI 就是典型的"聊天模式"——"帮我写个周报"、"总结一下这篇文章"。课程把这种方式叫做高熵输入,熵越高,不确定性越大,输出越不可控。
工程思维的核心是"熵减"——把 Prompt 当作一种通信协议,像 HTTP 协议规定浏览器和服务器如何对话一样,用严谨的结构约束 AI 的行为。
S.C.O.R.E. 模型是什么
S.C.O.R.E. 是本课程定义的核心提示工程框架,五个字母分别代表:
| 字母 | 全称 | 核心问题 | 底层原理 |
|---|---|---|---|
| S | Setting(角色设定) | 你希望 AI 扮演什么角色? | 锚定潜空间:激活模型特定领域的权重,屏蔽干扰 |
| C | Context(背景信息) | 任务发生的土壤是什么? | 上下文学习:注入实时私有数据,对抗幻觉最有效的手段 |
| O | Objective(任务目标) | 你到底想让它做什么? | 思维链:原子化动词触发模型深度推理 |
| R | Requirements(输出要求) | 交付物必须满足什么标准? | 验收清单:规定格式、字数、风格、禁止项 |
| E | Evaluation(评估标准) | 如何判断它做得好不好? | 自我反思:让 AI 在输出前/后进行自我检查纠错 |
这五个维度构成一个漏斗:顶部接收宽泛的用户需求,经过层层过滤,最终转化为高纯度的执行动作。
今天做了什么:
课程设计了一个很贴近实际的场景:把一段混乱的会议录音转录文本,整理成 Obsidian 看板可用的 Markdown 任务表格。
原始素材(高熵状态):
那个,关于下周的发布会,小王你记得去定一下会议室,要大的那个。然后海报设计得抓紧了,那个谁,UI组的小李,周三前得初稿吧。还有就是技术那边,服务器扩容的事情,张工说已经搞定了,但是得测试一下,周五前给个报告。哦对,发布会的PPT,我还没写完,可能要延后到周四给。大家辛苦一下。
第一步:用普通 Prompt 试试
输入:"帮我整理一下这个会议记录。"
结果:AI 写了一段流水账摘要,丢失了"谁负责什么"的关键信息,格式五花八门,完全没法直接用。这就是高熵指令的随机性。
第二步:用 S.C.O.R.E. 重写 Prompt
S(角色设定):你是一位拥有10年经验的敏捷项目管理专家(Scrum Master),擅长从混乱的对话中提取可执行的任务项。
C(背景信息):以下是一段产品发布会筹备会议的原始录音转录文本。
【原始文本开始】
...(粘贴原文)...
【原始文本结束】
O(任务目标):
1. 识别任务内容
2. 识别负责人
3. 识别截止时间
4. 识别当前状态(已完成/待办/进行中)
R(输出要求):
1. 输出格式必须为 Markdown 表格
2. 表头:任务内容 | 负责人 | 截止时间 | 状态 | 优先级
3. 优先级基于紧急程度自动判断(High/Medium/Low)
4. 不要输出任何寒暄语,直接输出表格
E(评估标准):在生成表格前,请自我检查:是否遗漏了任何任务?是否将张工已完成的任务正确标记为"已完成"?
结果:
| 任务内容 | 负责人 | 截止时间 | 状态 | 优先级 |
|---|---|---|---|---|
| 预订大型会议室用于发布会 | 小王 | 发布会前 | 待办 | High |
| 完成发布会海报设计初稿 | UI组小李 | 周三前 | 待办 | High |
| 完成服务器扩容测试并提交报告 | 张工 | 周五前 | 进行中 | Medium |
| 完成发布会PPT | 我(会议发言者) | 周四前 | 待办 | Medium |
为什么这个 Prompt 有效?
课程做了一个很好的"白盒化"分析,我觉得这是今天最有价值的部分:
- S—Scrum Master:激活了"敏捷管理"、"Action Item"的专业知识权重,AI 立刻知道任务比闲聊更重要
- C—定界符:
【开始】...【结束】防止 AI 把指令本身当成会议记录处理(防提示词注入) - O—原子化动词:"提取"、"识别"这类精准动词强制触发思维链,而不是模糊的"处理一下"
- R—格式契约:规定 Markdown 表格,保证输出可以被 Obsidian、Notion 直接读取
- E—自检机制:强迫模型进行二次推理,修正逻辑漏洞(比如张工已完成的任务容易被漏掉)
还学了什么:
今天还有一个很实用的内容——提示词里的标点符号在工程模式下有特殊含义:
| 符号类型 | 常见符号 | 工程作用 |
|---|---|---|
| 定界符 | """ --- <tag> 【】 |
防注入:定义数据边界,隔离指令与素材 |
| 占位符 | {{ }} { } |
复用性:标记动态变量,实现模板化 |
| 格式符 | \| - [] |
可解析:定义输出 Schema,确保机器可读 |
| 注释符 | // <!-- --> |
可维护:解释逻辑,辅助思维链锚定 |
特别要注意占位符的使用陷阱:在自动化脚本里要保留 {{ }},但在对话框手动测试时必须删掉,直接粘贴纯文本——否则 AI 会把大括号当成特殊控制符,输出会乱掉。
S.C.O.R.E. 有什么用
说实话,学完之后我觉得这个模型的价值不只是"让 AI 输出更好看的表格"。
更深层的意义是:
- 可复用:一个写好的 S.C.O.R.E. Prompt 就是一个函数,换个数据进去,输出格式永远一致
- 可调试:哪个维度出问题,就改哪个维度,不用整个重写
- 可自动化:格式稳定的输出才能被下游程序解析,这是后续构建智能体工作流的基础
- 减少幻觉:Context 注入真实数据 + Evaluation 自检,两道防线大幅降低 AI 编造内容的概率
用课程的话说:不要把 AI 当作聊天的对象,要把它当作可以被自然语言编程的计算引擎。
这句话今天真的打到我了。
明天要学什么:结构化输出与语义契约
明天是第三天,主题是结构化输出——编写提示词语义契约。
如果说今天解决的是"输入端"的问题(怎么给 AI 下指令),明天要解决的是"输出端"的问题(怎么让 AI 输出机器可读的数据)。
结合昨天,今天感觉如何
昨天搭完环境,我的感受是"哇,AI 可以在本地跑了,好酷"。那种感觉更像是拿到了一把锤子。
今天学完 S.C.O.R.E.,感觉是学会了怎么用这把锤子。
更准确地说,昨天我搭的那套环境——Obsidian 本地存储 + Text Generator 调用 LLM——今天才真正有了"灵魂"。因为没有结构化的 Prompt,那套环境只是一个更方便的聊天窗口;有了 S.C.O.R.E.,它才开始变成一个可编程的工作流节点。
两天连起来看,感觉课程的设计很有逻辑:
- 第一天:搭好硬件(环境)
- 第二天:装好操作系统(思维方式)
- 第三天(明天):开始跑第一个真正的应用(结构化数据生产)
期待明天。
课程来源:《零基础构建智能体工程》—— Gitconomy Research
项目教程地址:https://www.gitlink.org.cn/Gitconomy/Git4GenThinking/tree/main/Agentic-KW-Engineering-2026
如果你也在学,欢迎评论区交流。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)