Markdown学习与实践

Markdown 学习与实践作业

目录

  • [第一部分 掌握情况梳理与实践](#第一部分 掌握情况梳理与实践)
  • [第二部分 提示词框架学习与通用模板设计](#第二部分 提示词框架学习与通用模板设计)

第一部分 掌握情况梳理与实践

1.1 已掌握 vs 未掌握

类别 知识点 掌握情况
基础语法 标题、列表、链接、表格、代码、引用、加粗/斜体 ✅ 已掌握
基础语法 待办列表、脚注、图片、分隔线 ✅ 已掌握
工具 线上/线下编辑器(StackEdit、Dillinger、Typora、VS Code、Obsidian) ✅ 已掌握
高级用法 数学公式(LaTeX) ⚠️ 部分掌握(语法懂,未在工程里系统实践)
高级用法 绘图(Mermaid/PlantUML) ❌ 未掌握
高级用法 制作 PPT(Marp/Slidev/reveal.js) ❌ 未掌握
高级用法 格式转换(Pandoc / markdown 库 / Edge headless) ⚠️ 部分掌握(懂原理,缺命令行实操)
提示词工程 角色/上下文/任务三要素 ✅ 已掌握
提示词工程 结构化提示词框架(ICDO/BROKE/CRISP) ❌ 未掌握(本次新学)

1.2 实践未掌握的内容

本环节不满足于「纸上谈兵」,而是在本地环境中真实执行以下实践:

实践一:数学公式(LaTeX)

行内公式示例:$f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}$

块级公式(高斯分布概率密度函数):

f ( x ) = 1 2 π σ 2 exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right) f(x)=2πσ2 1exp(−2σ2(x−μ)2)

以及密码学中常用的模运算与离散对数:

g a   m o d   p = A , a = log ⁡ g A ( m o d p ) g^{a} \bmod p = A,\quad a = \log_g A \pmod{p} gamodp=A,a=loggA(modp)

实践二:绘图(Mermaid)

Mermaid 是 Markdown 生态里最通用的绘图语法,在 GitHub、Typora、VS Code 中均原生支持。下面实践流程图时序图:

流程图(密码学通信流程):
#mermaid-svg-1QgwvGgc8ppJRjj7{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-1QgwvGgc8ppJRjj7 .error-icon{fill:#552222;}#mermaid-svg-1QgwvGgc8ppJRjj7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1QgwvGgc8ppJRjj7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .marker.cross{stroke:#333333;}#mermaid-svg-1QgwvGgc8ppJRjj7 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1QgwvGgc8ppJRjj7 p{margin:0;}#mermaid-svg-1QgwvGgc8ppJRjj7 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster-label text{fill:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster-label span{color:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster-label span p{background-color:transparent;}#mermaid-svg-1QgwvGgc8ppJRjj7 .label text,#mermaid-svg-1QgwvGgc8ppJRjj7 span{fill:#333;color:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .node rect,#mermaid-svg-1QgwvGgc8ppJRjj7 .node circle,#mermaid-svg-1QgwvGgc8ppJRjj7 .node ellipse,#mermaid-svg-1QgwvGgc8ppJRjj7 .node polygon,#mermaid-svg-1QgwvGgc8ppJRjj7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .rough-node .label text,#mermaid-svg-1QgwvGgc8ppJRjj7 .node .label text,#mermaid-svg-1QgwvGgc8ppJRjj7 .image-shape .label,#mermaid-svg-1QgwvGgc8ppJRjj7 .icon-shape .label{text-anchor:middle;}#mermaid-svg-1QgwvGgc8ppJRjj7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .rough-node .label,#mermaid-svg-1QgwvGgc8ppJRjj7 .node .label,#mermaid-svg-1QgwvGgc8ppJRjj7 .image-shape .label,#mermaid-svg-1QgwvGgc8ppJRjj7 .icon-shape .label{text-align:center;}#mermaid-svg-1QgwvGgc8ppJRjj7 .node.clickable{cursor:pointer;}#mermaid-svg-1QgwvGgc8ppJRjj7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .arrowheadPath{fill:#333333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1QgwvGgc8ppJRjj7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-1QgwvGgc8ppJRjj7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1QgwvGgc8ppJRjj7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster text{fill:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 .cluster span{color:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-1QgwvGgc8ppJRjj7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-1QgwvGgc8ppJRjj7 rect.text{fill:none;stroke-width:0;}#mermaid-svg-1QgwvGgc8ppJRjj7 .icon-shape,#mermaid-svg-1QgwvGgc8ppJRjj7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1QgwvGgc8ppJRjj7 .icon-shape p,#mermaid-svg-1QgwvGgc8ppJRjj7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-1QgwvGgc8ppJRjj7 .icon-shape .label rect,#mermaid-svg-1QgwvGgc8ppJRjj7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1QgwvGgc8ppJRjj7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-1QgwvGgc8ppJRjj7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-1QgwvGgc8ppJRjj7 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 发送方 Alice
生成密钥对
用公钥加密明文
传输密文
接收方 Bob
用私钥解密密文
得到明文

时序图(AIGC 提示词交互流程):
AI 模型 用户 AI 模型 用户 #mermaid-svg-yqcym1BFNNYeDkSO{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-yqcym1BFNNYeDkSO .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-yqcym1BFNNYeDkSO .error-icon{fill:#552222;}#mermaid-svg-yqcym1BFNNYeDkSO .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-yqcym1BFNNYeDkSO .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-yqcym1BFNNYeDkSO .marker{fill:#333333;stroke:#333333;}#mermaid-svg-yqcym1BFNNYeDkSO .marker.cross{stroke:#333333;}#mermaid-svg-yqcym1BFNNYeDkSO svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-yqcym1BFNNYeDkSO p{margin:0;}#mermaid-svg-yqcym1BFNNYeDkSO .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-yqcym1BFNNYeDkSO text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-yqcym1BFNNYeDkSO .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-yqcym1BFNNYeDkSO .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-yqcym1BFNNYeDkSO .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-yqcym1BFNNYeDkSO .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-yqcym1BFNNYeDkSO #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-yqcym1BFNNYeDkSO .sequenceNumber{fill:white;}#mermaid-svg-yqcym1BFNNYeDkSO #sequencenumber{fill:#333;}#mermaid-svg-yqcym1BFNNYeDkSO #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-yqcym1BFNNYeDkSO .messageText{fill:#333;stroke:none;}#mermaid-svg-yqcym1BFNNYeDkSO .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-yqcym1BFNNYeDkSO .labelText,#mermaid-svg-yqcym1BFNNYeDkSO .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-yqcym1BFNNYeDkSO .loopText,#mermaid-svg-yqcym1BFNNYeDkSO .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-yqcym1BFNNYeDkSO .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-yqcym1BFNNYeDkSO .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-yqcym1BFNNYeDkSO .noteText,#mermaid-svg-yqcym1BFNNYeDkSO .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-yqcym1BFNNYeDkSO .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-yqcym1BFNNYeDkSO .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-yqcym1BFNNYeDkSO .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-yqcym1BFNNYeDkSO .actorPopupMenu{position:absolute;}#mermaid-svg-yqcym1BFNNYeDkSO .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-yqcym1BFNNYeDkSO .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-yqcym1BFNNYeDkSO .actor-man circle,#mermaid-svg-yqcym1BFNNYeDkSO line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-yqcym1BFNNYeDkSO :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 发送结构化 Markdown 提示词 解析角色/上下文/任务 返回结构化 Markdown 结果 迭代追问 优化后的答案

实践三:制作 PPT

将 Markdown 转为幻灯片,主流方案是 Marp (基于 VS Code 插件)与 Slidev。原理如下:

markdown 复制代码
---
marp: true
---

# 第一页标题

- 要点一
- 要点二

---

# 第二页标题

正文内容......

--- 分隔每一页,顶部 YAML 声明 marp: true 即可被 Marp 渲染为 PPT,并导出为 PDF/PPTX。

实践四:格式转换
python 复制代码
import markdown

with open("Markdown学习与实践.md", encoding="utf-8") as f:
    md_text = f.read()

# 启用表格、目录、代码高亮等扩展
html_body = markdown.markdown(md_text, extensions=["extra", "toc", "codehilite"])
# 套用带中文样式的 HTML 模板后,由 Edge headless 打印为 PDF:
# msedge --headless --print-to-pdf=out.pdf in.html

通过上述实践,「格式转换」这一原本只停留在理论层面的知识点,已转化为可复现的工程操作。


第二部分 提示词框架学习与通用模板设计

2.1 结构化提示词框架

写好提示词的核心在于「结构化」,业界提出了多个框架,常见的有:

框架 含义 适用场景
ICDO Instruction(指令)+ Context(上下文)+ Detail(细节)+ Output(输出) 通用任务,强调指令清晰
BROKE Background + Role + Objectives + Key Result + Evolve 复杂目标拆解与迭代
CRISP Context + Role + Instruction + Steps + Persona(或 Prompt) 多轮交互、角色扮演
CO-STAR Context + Objective + Style + Tone + Audience + Response 内容创作,风格把控
APE Action + Purpose + Expectation 简单直接的任务

本作业重点学习并采用了 ICDO 框架,因其最贴合「角色 + 上下文 + 任务」这一核心要求,且结构清晰、易于复用。

2.2 通用提示词框架模板(基于 ICDO,Markdown 格式)

下面是本次作业设计的通用提示词模板,可直接复制使用:

markdown 复制代码
# 提示词模板(ICDO 框架)

## I --- Instruction(指令)
请以「[角色]」的身份,完成以下任务:
[一句话明确描述你要模型做什么,动词开头,如"请撰写/请分析/请总结"]

## C --- Context(上下文)
- 背景信息:[补充任务的背景、目标读者、使用场景]
- 已知条件:[给出模型需要的输入数据、事实、约束]
- 参考资料:[可选,粘贴相关文本或链接]

## D --- Detail(细节要求)
- 输出长度:[如"不超过 500 字"]
- 语言风格:[正式 / 口语 / 学术 / 幽默]
- 语气与视角:[第一人称 / 第三人称 / 客观中立]
- 格式要求:[如"用 Markdown 表格输出""分三级标题"]
- 禁忌事项:[如"不要编造数据""避免敏感内容"]

## O --- Output(输出规范)
请严格按以下格式输出:
1. [期望的输出结构一]
2. [期望的输出结构二]
3. [期望的输出结构三]

2.3 模板使用示例(填充后)

markdown 复制代码
# 提示词(填充示例)

## I --- Instruction
请以「密码学专家」的身份,向我解释 RSA 非对称加密的原理。

## C --- Context
- 背景:我是计算机专业研一新生,正在写课程报告。
- 已知条件:我了解模运算,但不清楚公私钥如何生成。
- 参考资料:无。

## D --- Detail
- 输出长度:800 字以内
- 语言风格:通俗易懂,少用公式,多用类比
- 格式要求:用 Markdown,分三级标题
- 禁忌:不要出现错误公式

## O --- Output
请按以下结构输出:
1. RSA 的核心思想(一段话)
2. 密钥生成的三个步骤(列表)
3. 一个加解密的完整小例子

相关推荐
程序员cxuan1 小时前
真没想到,AI 圈又杀出来一匹黑马!
人工智能·后端·程序员
掘金者阿豪2 小时前
极空间 NAS 部署 Typecho:从 Docker 安装、主题配置到固定公网访问
后端
科技苑2 小时前
前后端分离与微服务架构如何协同?
前端·后端·前端框架
Lambert2812 小时前
AgentScope Java 从零(07):官方有权限引擎,我却在工具里写了个 if
java·后端·ai编程
Ticnix2 小时前
多租户 RAG:让每个用户只检索到自己的知识库
后端·python·agent
Kyrie_kk2 小时前
Java--ThreadLocal线程副本(一)
java·后端
用户9479135811622 小时前
ReAct 不是框架,是一个 while 循环:把 Agent 的推理模式拆到能自己写出来
后端
属于自己的天空2 小时前
不用再手动查表结构了:配好 MCP,Claude Code 自己读数据库生成代码
数据库·后端
用户8181870627463 小时前
第28章 消息积压应急处理实录:一次真实大促故障复盘
java·后端