欢迎光临
我们一直在努力

AI Agent 智能体开发:框架选型与工程实践指南

这里写自定义目录标题

  • 欢迎使用Markdown编辑器
    • 一、从聊天机器人到智能体:范式跃迁
    • 二、主流开发框架对比
    • 三、工程实践的核心环节
      • 3.1 工具定义与 Function Calling
      • 3.2 结构化输出
      • 3.3 安全护栏(Guardrails)
      • 3.4 记忆系统设计
    • 四、案例:企业级智能客服智能体
    • 五、从 Demo 到生产的鸿沟
    • 六、趋势与思考
    • 新的改变
    • 功能快捷键
    • 合理的创建标题,有助于目录的生成
    • 如何改变文本的样式
    • 插入链接与图片
    • 如何插入一段漂亮的代码片
    • 生成一个适合你的列表
    • 创建一个表格
      • 设定内容居中、居左、居右
      • SmartyPants
    • 创建一个自定义列表
    • 如何创建一个注脚
    • 注释也是必不可少的
    • KaTeX数学公式
    • 新的甘特图功能,丰富你的文章
    • UML图表
    • 流程图
    • FLowchart流程图
    • 导出与导入
      • 导出
      • 导入

欢迎使用Markdown编辑器

你好! 这是你第一次使用# AI Agent 智能体开发:框架选型与工程实践指南

一、从聊天机器人到智能体:范式跃迁

过去我们把大模型当"对话引擎",问一句答一句。智能体(Agent)的出现改变了这个定位:模型不再是回答问题的人,而是自主完成任务的人。它接收一个目标,自行规划步骤、调用工具、获取信息、验证结果,直到任务完成。

一个完整的智能体包含四个核心能力模块:

规划(Planning):把复杂目标分解为可执行的子任务。优秀的多步推理能力让智能体能够"想清楚再做",而不是机械执行单步操作。

记忆(Memory):短期记忆保存当前任务上下文,长期记忆保存跨会话的知识与偏好。记忆是智能体"越用越懂你"的基础。

工具(Tools):通过函数调用与外部系统交互——查询数据库、调用 API、操作浏览器。工具是智能体从"会说"到"会做"的桥梁。

反思(Reflection):对执行结果进行评估与纠错,发现错误后调整策略重试。反思机制让智能体具备自我改进的能力。

这四者的组合,让智能体从"概率性的语言生成器"变成了"能承担实际工作的数字员工"。

二、主流开发框架对比

当前智能体开发框架呈现出百家争鸣的态势,各有侧重:

LangGraph:以图结构编排智能体逻辑,支持条件分支、循环、并行、人类介入等复杂控制流,工程化能力强,适合生产级复杂任务编排。它的低层设计给了开发者最大的控制权,也意味着更高的学习成本。目前企业级多智能体应用的主流选择。

CrewAI:以"角色扮演"为核心抽象,把智能体定义为具有角色、目标、背景故事的"团队成员",天然支持多智能体协作。上手快,适合任务分解清晰、角色边界明确的场景,如内容创作流水线、市场调研团队。

AutoGen:微软出品,主打"对话驱动"的多智能体协作。智能体之间通过对话交流、接力完成任务,灵活度高,适合需要动态交互的研究型场景。

Semantic Kernel:微软的另一套框架,深度整合 .NET 生态,强调与企业现有系统的融合,适合微软技术栈的企业。

Spring AI:Java 生态的适配方案,借鉴 LangChain 设计思路,让 Java 工程师能以熟悉的方式接入大模型能力。

选型建议:没有最好的框架,只有最匹配场景的框架。单智能体、逻辑简单优先选轻量方案;多智能体、控制流复杂优先 LangGraph;团队快速原型优先 CrewAI。更重要的是理解各框架背后的设计思想,因为换框架的成本远高于学框架的成本。

三、工程实践的核心环节

3.1 工具定义与 Function Calling

工具是智能体的"手脚",工具定义的规范性直接决定智能体的可靠程度。实践要点:

  • 参数 schema 要精确:用强类型定义参数,包括类型、必填、枚举、描述。模糊的参数定义会让模型"自由发挥",产生大量无效调用。
    • 工具描述要具体:模型靠描述理解工具的用途与适用场景。描述越清晰,工具被正确调用的概率越高。
    • 错误处理要完备:工具可能失败——网络超时、参数非法、权限不足。每个工具都应返回结构化错误信息,让智能体理解失败原因并调整策略。 Function Calling 的完整流程是:模型判断需要工具 → 输出结构化调用请求 → 应用执行工具 → 结果回传 → 模型整合生成最终回答。工程上要特别注意超时控制与调用次数上限,防止智能体陷入无限循环。

3.2 结构化输出

让模型输出符合 schema 的 JSON,是智能体与业务系统对接的前提。当前主流的实现方式是 Structured Outputs:在提示词中声明输出格式,并配合模型的原生 JSON 模式约束。强类型框架(如 Pydantic)负责校验输出,不符合 schema 时自动重试。

结构化输出的价值不只是"格式正确",更在于把模型的概率输出转化为可编程的确定性数据结构,让下游系统可以安全消费。在金融、医疗等强合规场景,这一环是硬性要求。

3.3 安全护栏(Guardrails)

智能体的自主性越高,风险越大。生产级智能体必须建立多层防护:

格式层:校验输出是否符合 schema,非法输出拦截重试。

规则层:业务规则的硬约束,比如"工单金额必须为数字且大于零"“禁止输出包含敏感词的文本”。

语义层:用模型或规则引擎审查输出的业务合理性,比如"诊断结论与证据是否矛盾"。

三层校验层层递进,确保智能体的输出符合业务 SOP,而不是只靠模型自觉。这是从"Demo 能跑"到"生产可信"的关键一跃。

3.4 记忆系统设计

记忆系统是智能体长期价值的载体。设计时需要考虑:

  • 短期记忆:当前会话的对话历史,通常用滑动窗口管理,超长时摘要压缩。
    • 长期记忆:跨会话的用户偏好、历史结论、关键事实,存储在向量库中,按需检索注入。
    • 记忆写入策略:不是所有对话都值得记住。需要设定写入规则——何时记录、记录什么、如何避免噪声污染记忆库。

四、案例:企业级智能客服智能体

以一个电商平台的智能客服为例,完整的工程架构如下:

意图层:用户消息先经过意图识别,区分售前咨询、订单查询、售后投诉、闲聊等类型,路由到不同的处理流程。

工具层:封装订单查询、物流跟踪、退换货申请、优惠券查询等 API 为工具。所有工具接入业务系统,实时获取数据。

决策层:模型基于对话历史与检索到的业务知识,决定调用哪个工具、如何组织回答。

护栏层:敏感词过滤、金额与政策校验、情绪升级机制(用户情绪激烈时转人工)。

学习层:收集失败案例,定期评估与优化提示词、工具描述与知识库。

这个架构的关键设计是"职责分离":业务逻辑沉淀在工具层,知识沉淀在知识库,模型只负责决策与表达。这样每一层都可以独立优化与验证。

五、从 Demo 到生产的鸿沟

很多团队在智能体开发中遭遇"Demo 陷阱":演示时惊艳全场,接入真实业务后频繁出错。差距往往来自这几个方面:

真实数据的复杂度:演示数据是精心挑选的,真实用户输入充满噪声、歧义与口语化表达。需要大量真实样本训练意图识别与提示词鲁棒性。

长尾场景覆盖:智能体的失败往往集中在低频但重要的长尾场景。建立完善的失败案例库,持续补充处理规则。

延迟与成本:Agent 的多步推理意味着多次模型调用,延迟和成本都数倍于单次问答。需要优化工具调用次数、引入缓存、选择性价比模型。

可观测性:生产环境必须能追踪智能体的每一步决策——它规划了什么、调用了什么工具、为什么失败。没有可观测性,排障就是大海捞针。

评估体系:为智能体建立端到端评测:任务完成率、工具调用正确率、错误恢复能力、平均耗时。每次迭代都以数据说话。

六、趋势与思考

智能体的演进路径大致清晰:从单智能体完成任务,到多智能体分工协作,再到智能体网络自治运行。产业界对智能体能力的划分已经形成共识——对话、路由、工具调用、多智能体协同、自主智能体,五个阶段逐级递进,当前产业能力集中在第三、第四阶段。

一个值得注意的转变是:开发范式从"确定性逻辑的堆砌"转向"概率性能力的引导"。业务专家从需求方变成"带教师傅",为智能体提供业务教材(SOP)并划定边界;技术人员从代码实现者变成"教务后勤",负责供给运行环境、记忆底座与技能装备;智能体则是一个需要持续纠偏的"数字员工"。这种新的研发生产关系,正在催生"Agent 产品工程师"这样的复合型岗位。

给开发者的建议:先把单智能体做到极致,再考虑多智能体;先把工具与护栏做扎实,再追求自主性;先建立评估体系,再谈持续优化。智能体的能力边界,本质上取决于你对业务的理解深度与工程纪律。

Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  • 全新的界面设计 ,将会带来全新的写作体验;
  • 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  • 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  • 全新的 KaTeX数学公式 语法;
  • 增加了支持甘特图的mermaid语法1 功能;
  • 增加了 多屏幕编辑 Markdown文章功能;
  • 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  • 增加了 检查列表 功能。
  • 功能快捷键

    撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:Ctrl/Command + Shift + C 插入代码:Ctrl/Command + Shift + K 插入链接:Ctrl/Command + Shift + L 插入图片:Ctrl/Command + Shift + G 查找:Ctrl/Command + F 替换:Ctrl/Command + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。 输入2次#,并按下space后,将生成2级标题。 以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
  • 项目1
  • 项目2
  • 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:———:居中 使用:———-居左 使用———-:居右

    第一列第二列第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants 是一个文本转换工具,主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如:

    原始符号转换后说明
    "引号" “引号” 直引号变弯引号
    '单引号' ‘单引号’ 直单引号变弯单引号
    两个连字符变短破折号
    三个连字符变长破折号
    三个点变省略号

    创建一个自定义列表

    Markdown

    Text-to-
    HTML conversion tool

    Authors

    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML。

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示

    Γ

    (

    n

    )

    =

    (

    n

    1

    )

    !

    n

    N

    \\Gamma(n) = (n-1)!\\quad\\forall n\\in\\mathbb N

    Γ(n)=(n1)!nN 是通过欧拉积分

    Γ

    (

    z

    )

    =

    0

    t

    z

    1

    e

    t

    d

    t

    .

    \\Gamma(z) = \\int_0^\\infty t^{z-1}e^{-t}dt\\,.

    Γ(z)=0tz1etdt.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    #mermaid-svg-bX26Jq43shHUf7Fa{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-bX26Jq43shHUf7Fa .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-bX26Jq43shHUf7Fa .error-icon{fill:#552222;}#mermaid-svg-bX26Jq43shHUf7Fa .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bX26Jq43shHUf7Fa .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bX26Jq43shHUf7Fa .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bX26Jq43shHUf7Fa .marker.cross{stroke:#333333;}#mermaid-svg-bX26Jq43shHUf7Fa svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bX26Jq43shHUf7Fa p{margin:0;}#mermaid-svg-bX26Jq43shHUf7Fa .mermaid-main-font{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-bX26Jq43shHUf7Fa .exclude-range{fill:#eeeeee;}#mermaid-svg-bX26Jq43shHUf7Fa .section{stroke:none;opacity:0.2;}#mermaid-svg-bX26Jq43shHUf7Fa .section0{fill:rgba(102, 102, 255, 0.49);}#mermaid-svg-bX26Jq43shHUf7Fa .section2{fill:#fff400;}#mermaid-svg-bX26Jq43shHUf7Fa .section1,#mermaid-svg-bX26Jq43shHUf7Fa .section3{fill:white;opacity:0.2;}#mermaid-svg-bX26Jq43shHUf7Fa .sectionTitle0{fill:#333;}#mermaid-svg-bX26Jq43shHUf7Fa .sectionTitle1{fill:#333;}#mermaid-svg-bX26Jq43shHUf7Fa .sectionTitle2{fill:#333;}#mermaid-svg-bX26Jq43shHUf7Fa .sectionTitle3{fill:#333;}#mermaid-svg-bX26Jq43shHUf7Fa .sectionTitle{text-anchor:start;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-bX26Jq43shHUf7Fa .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid-svg-bX26Jq43shHUf7Fa .grid .tick text{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;fill:#333;}#mermaid-svg-bX26Jq43shHUf7Fa .grid path{stroke-width:0;}#mermaid-svg-bX26Jq43shHUf7Fa .today{fill:none;stroke:red;stroke-width:2px;}#mermaid-svg-bX26Jq43shHUf7Fa .task{stroke-width:2;}#mermaid-svg-bX26Jq43shHUf7Fa .taskText{text-anchor:middle;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutsideRight{fill:black;text-anchor:start;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutsideLeft{fill:black;text-anchor:end;}#mermaid-svg-bX26Jq43shHUf7Fa .task.clickable{cursor:pointer;}#mermaid-svg-bX26Jq43shHUf7Fa .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-bX26Jq43shHUf7Fa .taskText0,#mermaid-svg-bX26Jq43shHUf7Fa .taskText1,#mermaid-svg-bX26Jq43shHUf7Fa .taskText2,#mermaid-svg-bX26Jq43shHUf7Fa .taskText3{fill:white;}#mermaid-svg-bX26Jq43shHUf7Fa .task0,#mermaid-svg-bX26Jq43shHUf7Fa .task1,#mermaid-svg-bX26Jq43shHUf7Fa .task2,#mermaid-svg-bX26Jq43shHUf7Fa .task3{fill:#8a90dd;stroke:#534fbc;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutside0,#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutside2{fill:black;}#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutside1,#mermaid-svg-bX26Jq43shHUf7Fa .taskTextOutside3{fill:black;}#mermaid-svg-bX26Jq43shHUf7Fa .active0,#mermaid-svg-bX26Jq43shHUf7Fa .active1,#mermaid-svg-bX26Jq43shHUf7Fa .active2,#mermaid-svg-bX26Jq43shHUf7Fa .active3{fill:#bfc7ff;stroke:#534fbc;}#mermaid-svg-bX26Jq43shHUf7Fa .activeText0,#mermaid-svg-bX26Jq43shHUf7Fa .activeText1,#mermaid-svg-bX26Jq43shHUf7Fa .activeText2,#mermaid-svg-bX26Jq43shHUf7Fa .activeText3{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .done0,#mermaid-svg-bX26Jq43shHUf7Fa .done1,#mermaid-svg-bX26Jq43shHUf7Fa .done2,#mermaid-svg-bX26Jq43shHUf7Fa .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid-svg-bX26Jq43shHUf7Fa .doneText0,#mermaid-svg-bX26Jq43shHUf7Fa .doneText1,#mermaid-svg-bX26Jq43shHUf7Fa .doneText2,#mermaid-svg-bX26Jq43shHUf7Fa .doneText3{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .doneText0.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneText0.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneText1.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneText1.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneText2.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneText2.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneText3.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneText3.taskTextOutsideRight{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .crit0,#mermaid-svg-bX26Jq43shHUf7Fa .crit1,#mermaid-svg-bX26Jq43shHUf7Fa .crit2,#mermaid-svg-bX26Jq43shHUf7Fa .crit3{stroke:#ff8888;fill:red;stroke-width:2;}#mermaid-svg-bX26Jq43shHUf7Fa .activeCrit0,#mermaid-svg-bX26Jq43shHUf7Fa .activeCrit1,#mermaid-svg-bX26Jq43shHUf7Fa .activeCrit2,#mermaid-svg-bX26Jq43shHUf7Fa .activeCrit3{stroke:#ff8888;fill:#bfc7ff;stroke-width:2;}#mermaid-svg-bX26Jq43shHUf7Fa .doneCrit0,#mermaid-svg-bX26Jq43shHUf7Fa .doneCrit1,#mermaid-svg-bX26Jq43shHUf7Fa .doneCrit2,#mermaid-svg-bX26Jq43shHUf7Fa .doneCrit3{stroke:#ff8888;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid-svg-bX26Jq43shHUf7Fa .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid-svg-bX26Jq43shHUf7Fa .milestoneText{font-style:italic;}#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText0,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText1,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText2,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText3{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText0.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText0.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText1.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText1.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText2.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText2.taskTextOutsideRight,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText3.taskTextOutsideLeft,#mermaid-svg-bX26Jq43shHUf7Fa .doneCritText3.taskTextOutsideRight{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .vert{stroke:navy;}#mermaid-svg-bX26Jq43shHUf7Fa .vertText{font-size:15px;text-anchor:middle;fill:navy!important;}#mermaid-svg-bX26Jq43shHUf7Fa .activeCritText0,#mermaid-svg-bX26Jq43shHUf7Fa .activeCritText1,#mermaid-svg-bX26Jq43shHUf7Fa .activeCritText2,#mermaid-svg-bX26Jq43shHUf7Fa .activeCritText3{fill:black!important;}#mermaid-svg-bX26Jq43shHUf7Fa .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-bX26Jq43shHUf7Fa :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    2014-01-07

    2014-01-09

    2014-01-11

    2014-01-13

    2014-01-15

    2014-01-17

    2014-01-19

    2014-01-21

    已完成

    进行中

    计划一

    计划二

    现有任务

    Adding GANTT diagram functionality to mermaid

    • 关于 甘特图 语法,参考 这儿,

    UML图表

    可以使用UML图表进行渲染,例如下面产生的一个序列图:

    王五

    李四

    张三

    王五

    李四

    张三

    #mermaid-svg-0T1QcFjZdpI92esE{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-0T1QcFjZdpI92esE .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-0T1QcFjZdpI92esE .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-0T1QcFjZdpI92esE .error-icon{fill:#552222;}#mermaid-svg-0T1QcFjZdpI92esE .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0T1QcFjZdpI92esE .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-0T1QcFjZdpI92esE .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0T1QcFjZdpI92esE .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0T1QcFjZdpI92esE .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-0T1QcFjZdpI92esE .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0T1QcFjZdpI92esE .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0T1QcFjZdpI92esE .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0T1QcFjZdpI92esE .marker.cross{stroke:#333333;}#mermaid-svg-0T1QcFjZdpI92esE svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0T1QcFjZdpI92esE p{margin:0;}#mermaid-svg-0T1QcFjZdpI92esE .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0T1QcFjZdpI92esE text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-0T1QcFjZdpI92esE .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-0T1QcFjZdpI92esE .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-0T1QcFjZdpI92esE .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-0T1QcFjZdpI92esE .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-0T1QcFjZdpI92esE #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-0T1QcFjZdpI92esE .sequenceNumber{fill:white;}#mermaid-svg-0T1QcFjZdpI92esE #sequencenumber{fill:#333;}#mermaid-svg-0T1QcFjZdpI92esE #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-0T1QcFjZdpI92esE .messageText{fill:#333;stroke:none;}#mermaid-svg-0T1QcFjZdpI92esE .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0T1QcFjZdpI92esE .labelText,#mermaid-svg-0T1QcFjZdpI92esE .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-0T1QcFjZdpI92esE .loopText,#mermaid-svg-0T1QcFjZdpI92esE .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-0T1QcFjZdpI92esE .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-0T1QcFjZdpI92esE .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-0T1QcFjZdpI92esE .noteText,#mermaid-svg-0T1QcFjZdpI92esE .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-0T1QcFjZdpI92esE .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0T1QcFjZdpI92esE .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0T1QcFjZdpI92esE .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-0T1QcFjZdpI92esE .actorPopupMenu{position:absolute;}#mermaid-svg-0T1QcFjZdpI92esE .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-0T1QcFjZdpI92esE .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-0T1QcFjZdpI92esE .actor-man circle,#mermaid-svg-0T1QcFjZdpI92esE line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-0T1QcFjZdpI92esE :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    李四想了很长时间, 文字太长了

    不适合放在一行.

    你好!李四, 最近怎么样?

    你最近怎么样,王五?

    我很好,谢谢!

    我很好,谢谢!

    打量着王五…

    很好… 王五, 你怎么样?

    • 关于 UML图表 语法,参考 这儿,

    流程图

    #mermaid-svg-DU78PdzU2WiHYfpY{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-DU78PdzU2WiHYfpY .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DU78PdzU2WiHYfpY .error-icon{fill:#552222;}#mermaid-svg-DU78PdzU2WiHYfpY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DU78PdzU2WiHYfpY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DU78PdzU2WiHYfpY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DU78PdzU2WiHYfpY .marker.cross{stroke:#333333;}#mermaid-svg-DU78PdzU2WiHYfpY svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DU78PdzU2WiHYfpY p{margin:0;}#mermaid-svg-DU78PdzU2WiHYfpY .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-DU78PdzU2WiHYfpY .cluster-label text{fill:#333;}#mermaid-svg-DU78PdzU2WiHYfpY .cluster-label span{color:#333;}#mermaid-svg-DU78PdzU2WiHYfpY .cluster-label span p{background-color:transparent;}#mermaid-svg-DU78PdzU2WiHYfpY .label text,#mermaid-svg-DU78PdzU2WiHYfpY span{fill:#333;color:#333;}#mermaid-svg-DU78PdzU2WiHYfpY .node rect,#mermaid-svg-DU78PdzU2WiHYfpY .node circle,#mermaid-svg-DU78PdzU2WiHYfpY .node ellipse,#mermaid-svg-DU78PdzU2WiHYfpY .node polygon,#mermaid-svg-DU78PdzU2WiHYfpY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DU78PdzU2WiHYfpY .rough-node .label text,#mermaid-svg-DU78PdzU2WiHYfpY .node .label text,#mermaid-svg-DU78PdzU2WiHYfpY .image-shape .label,#mermaid-svg-DU78PdzU2WiHYfpY .icon-shape .label{text-anchor:middle;}#mermaid-svg-DU78PdzU2WiHYfpY .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-DU78PdzU2WiHYfpY .rough-node .label,#mermaid-svg-DU78PdzU2WiHYfpY .node .label,#mermaid-svg-DU78PdzU2WiHYfpY .image-shape .label,#mermaid-svg-DU78PdzU2WiHYfpY .icon-shape .label{text-align:center;}#mermaid-svg-DU78PdzU2WiHYfpY .node.clickable{cursor:pointer;}#mermaid-svg-DU78PdzU2WiHYfpY .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-DU78PdzU2WiHYfpY .arrowheadPath{fill:#333333;}#mermaid-svg-DU78PdzU2WiHYfpY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DU78PdzU2WiHYfpY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DU78PdzU2WiHYfpY .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DU78PdzU2WiHYfpY .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DU78PdzU2WiHYfpY .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DU78PdzU2WiHYfpY .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-DU78PdzU2WiHYfpY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DU78PdzU2WiHYfpY .cluster text{fill:#333;}#mermaid-svg-DU78PdzU2WiHYfpY .cluster span{color:#333;}#mermaid-svg-DU78PdzU2WiHYfpY 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-DU78PdzU2WiHYfpY .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DU78PdzU2WiHYfpY rect.text{fill:none;stroke-width:0;}#mermaid-svg-DU78PdzU2WiHYfpY .icon-shape,#mermaid-svg-DU78PdzU2WiHYfpY .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DU78PdzU2WiHYfpY .icon-shape p,#mermaid-svg-DU78PdzU2WiHYfpY .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-DU78PdzU2WiHYfpY .icon-shape .label rect,#mermaid-svg-DU78PdzU2WiHYfpY .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DU78PdzU2WiHYfpY .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-DU78PdzU2WiHYfpY .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-DU78PdzU2WiHYfpY :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    链接

    长方形

    圆角长方形

    菱形

    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart.js的流程图语法:

    Created with Raphaël 2.3.0

    开始

    我的操作

    确认?

    结束

    yes

    no

    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入, 继续你的创作。


  • mermaid语法说明 ↩︎

  • 注脚的解释 ↩︎

  • 赞(0)
    未经允许不得转载:171主机测评 » AI Agent 智能体开发:框架选型与工程实践指南
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址