构建可靠AI_Agent:从提示词、工作流到知识库的实战指南

Langchain Agent常用提示词模板 Langchain的Agent是由提示词驱动的,本篇详细记述了Agent用的提示词。 阅读详情

本文系统阐述了在Agentic AI技术发展背景下,如何构建可靠、高效且可落地的AI Agent应用。随着LLM和工具调用标准化,核心竞争力已转向提示词工程、工作流设计和知识库构建三大领域。文章详细介绍了提示词设计方法、工作流DSL描述技术、知识库构建(包括RAG和关系型数据库应用)、安全防护措施以及AI项目确定方法,为开发者提供了全面的AI Agent构建指南。


本文系统阐述了在当前 Agentic AI 技术快速发展的背景下,如何构建一个可靠、高效且可落地的 AI Agent 应用。随着 LLM 和工具调用的标准化,开发的核心竞争力已转向 提示词工程(Prompt Engineering)、工作流设计(Workflow)和知识库构建(RAG) 三大领域。

一、Agent核心架构定义

Agent系统由五个关键组件构成:

  • 大语言模型(LLM)
  • 提示词(Prompt)
  • 工作流(Workflow)
  • 知识库(RAG)
  • 工具(Tools)

LLM和工具调用已经形成了相对标准化的技术栈。LLM方面,无论选择云端大模型(如阿里百炼平台、IdeaLab)还是本地部署(如Ollama),都有成熟的解决方案;工具调用方面,MCP协议的普及让工具集成变成了配置问题而非开发问题。因此,业务开发的核心竞争力在于提示词 + 工作流 + 知识库上。

二、Prompt工程:给AI写"需求文档"

提示词分为系统提示词和用户提示词,用户提示词就是我们的问题。系统提示词,是agent的背景/角色,设置了agent需要完成什么类型的任务。系统提示词主要包括:身份(Role)+ 上下文(Context)+ 例子(Examples) + 输出规范(Output Format)。

现在已经有了很多帮助我们生产提示词的工具,如:

  • https://prompt.always200.com/
  • https://prompts.chat/

我们可以使用工具简单生成初版,再进行后续优化。

以下是https://prompt.always200.com/的系统提示词,可以直接拿过来构建一个自己的系统提示词生成agent,简单场景可以直接使用生成结果。

提示词优化的系统提示词

你是一个专业的AI提示词优化专家。请帮我优化以下prompt,并按照以下格式返回:

生成效果

我在Cherry Studio(一款功能强大的多模型 AI 客户端软件)中就创建了很多agent,满足我在不同场景下的需求。

在提示词中,对于一些重要的内容,可以使用XXXX标记(markdown的加粗语法);对于一些特殊说明,可以使用统一的特殊符号如“”进行标记。这些标记都可以增强agent对于重要或特殊内容的识别精度和执行优先级。

这里以ideaLab(阿里巴巴集团内部的一个专注于 AI 应用方向的平台)的使用举例:

1.创建一个智能助手

2.粘入提示词,就可以按照需求生成专业的提示词,可以满足日常大部分场景。

接下来,我会列举一些Prompt实际使用时的一些个人经验。

2.1. Role/System

若使用agent不是发散性场景(如创作、讨论)或答疑场景,而是严格按照workflow执行任务,那么在角色中,就不要说是“架构师”,“专家”这类更偏向于人类的角色,而是“机器”,“pipeline”这类更偏向执行流水线步骤的角色。

若使用agent是学习场景,可以设置角色为“善于深入浅出的教学者”,在提问时说“我现在要学习某知识,我对这方面的知识一窍不通,你向我提问n个问题,当我搞懂这n个问题后就可以完全掌握某知识”。通过提问的方式,带着目的的学习,效果非常好。

2.2. Examples

设置少量examples(few-show Learning)可以极大保证agent的回答质量,特别是需要agent按照某种指定格式(如JSON)生成答案的场景。

few-show Learning:小样本学习是一种机器学习框架,在该框架中,AI 模型通过使用极少量的标记示例进行训练来学习作出准确的预测。它通常用于在缺乏合适的训练数据时训练分类任务的模型。

设置examples时,要尽量遵循规范,即:

  1. 保证示例的质量;

  2. 示例是否正确需要标注清楚,不要模棱两可的示例,不要把对的说成错的;

  3. 示例要乱序,不要把正确的回答放一起,错误的回答放一起;

  4. 示例格式要统一;

  5. 正确回答和错误回答的数量要均衡,通俗说就是数量一致;

  6. 设置相似的示例,只有非常小的差别,但是回答的结果却不一样;

  7. 尽量保证示例覆盖全面;

examples可以先只设置成Q&A形式,若效果不好,可以添加过程解释,但尽量不要使用自然语言描述过程,因为自然语言的描述很可能不符合指定的workflow,造成歧义。

2.3. Output Format

我们可以在提示词中指定agent的输出规范,但仅仅只有输出规范,agent也不是一定会按照规范输出,所以通常还需要约束条件(Constraints)约束。

在工程结合agent时,通常要求agent返回标准JSON,在工程中进行后续的解析处理。如何要求agent一定返回符合要求的JSON是一个问题。以下提供一个思路:

  1. 结合Role的内容,给agent的角色定位远离人类的角色,减少其解释与输出废话的概率;

  2. 提示词中增加Constraints,并在提示词开头和结尾反复强调;

  3. 增加badcase,把agent不符合预期的输出直接写到提示词中;

  4. 工程保障:拿到agent的结果时,可以截取第一个"{“和最后一个”}"之间的内容。

# System: JSON Processing Pipeline

三、工作流:选择DSL描述而非自然语言

自然语言描述的工作流程,往往会携带一些口语习惯,并且对于复杂的流程难以描述清楚。DSL(Domain-Specific Language,领域特定语言)通过结构化语法,能比自然语言更准确地描述业务流程。Mermaid就是一种非常适合的绘制流程图的语言,并且与Markdown完美集成。不会写或者觉得麻烦?没关系,使用上述的提示词优化工具制作一个mermaid agent,将工作流程描述给他,让agent生成流程图。我们只需要简单了解基础语法,对生成的结果进行简单修改即可。

Mermaid 是一个用于绘制图表的 JavaScript 工具库,它允许你使用类似 Markdown 的文本语法来创建和修改图表。

这个能力也非常适合在提问后,让agent输出自己对于问题理解或解答方式的思维流程,这就是一种COT(Chain-of-thought)。通过查看流程,可以快速定位到agent理解不到位的地方并修正。

我的建议是,先用自然语言描述流程。如果agent执行效果不佳,或者流程难以描述,那么就考虑使用mermaid。

提问举例:

“我的问题巴拉巴拉”

请重新梳理用户的问题,使问题更加的清晰和明确,如果问题有多个细节和要求,需要全部梳理出来,使用mermaid清晰列出问题的所有细节,然后再回答的问题。

使用举例

四、知识库:关系型数据库的妙用

4.1. RAG与向量数据库

4.1.1. 背景

首先介绍一下RAG。大模型幻觉是指agent生成虚假、不准确或完全编造的信息的现象。在业务场景中,往往需要agent结合业务知识回答问题,但这些业务知识agent又通常不知道,那么直接把相关文档和问题一起发给agent不就好了?貌似没问题,但是随着文档越来越大,答案可能只是文档中的一小部分,agent看到庞大的输入,就很容易找不到重点。那么只把和问题相关的文档发给agent是不是就可以了?没错,这就是RAG(Retrieval-Augmented Generation)。

怎么判断用户的问题和文档的关系?这就需要Embedding模型了。Embedding模型的输入是一段文字,而输出是一段固定长度的数组,也就是向量。通过计算向量之间的距离,离得越近,相关性就越强。

对于文档过长的问题,需要对文档进行处理。首先对文档进行片段切分(Chunking),可以按照字数、段落、符号、语义等维度切分;切分完成后,对每个chunk都进行Embedding处理;最后,把向量结果和chunk保存到向量数据库中。

用户提问时,会先用相同的Embedding模型把问题转换成向量,然后从向量数据库中找到距离最近的几个内容,最后把检索到的内容和问题一起发给agent。在实际使用时,还需结合top-N、意图模型、reRank重排模型等部分功能提高检索的准确性,这就要求对知识库的内容要:

1.切的对:切分不要按字符切,要按语义切(难点,可以用agent辅助切文档);

2.排的准:不只靠相似度,还要加回答导向排序;

3.喂的巧:要引导模型引用内容,而不是召回了内容但不用;

4.1.2. 问题

RAG本身是也有许多问题的:

  1. 文章应该怎么分块?文章的结构五花八门,不能按照一种分块方式力大砖飞,并且可能会有关键的内容刚好被截断,比如“那头猪是佩奇,那头猪爱玩泥巴”,而这句话被拆成了“那头猪是佩奇”和“那头猪爱玩泥巴”这两部分,第二句的“那头猪”就失去了和“佩奇”的指代关系,当提问“佩奇爱干什么”时,问题和“那头猪爱玩泥巴”的向量距离可能变远而无法匹配。

  2. RAG缺乏全局视角。比如提问“文章中有多少个"我"字”,这种和每个chunk都沾边但又都不是特别相关的问题,RAG就没办法解决了。

4.2. 关系型数据库的一种使用思路

向量数据库中适合保存的内容是文档类型,如一本书、一个Q&A文档等。但对于一些映射关系较强的场景,就不太适合保存到向量数据库了。

我有遇到一个场景:要使用agent进行网页操作。通过配置一个定时任务,当任务触发时,若有要执行的网页子任务,就让agent使用Playwright MCP进行相应的网页操作,返回JSON结果。对于不同子任务,都要有不同的流程、补充信息以及结果格式,甚至为了保证结果质量需要给每个场景设置exemples(比如场景1的结果返回给同学A,场景2的结果返回给群B)。在这个场景下,若直接把子任务信息放到提示词中,随着子任务数量的增多,必然会造成提示词冗余;若配置子任务信息到向量知识库中,不同子任务的配置信息各不相同,无法解决合理分块的问题。这个场景的本质,就是精准找到子任务的所有信息,辅助agent完成任务,而关系型数据库就可以完美应用到这个场景中。

定义表结构如下,通过Postgres MCP,让agent在执行任务前,把用户的提问与表中的keywords进行匹配,找到符合场景的详细信息,就可以实现精准的“RAG”。(若使用ideaLab,可以在项目中提供查表接口,在ideaLab中封装成工具)

表数据

五、关于安全

提示词方面攻击,主要是提示词注入和提示词窃取两方面。我这里展开说说提示词注入。

如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

有需要的小伙伴,可以点击下方链接免费领取【保证100%免费】

点击领取 《AI大模型&人工智能&入门进阶学习资源包》*

1.学习路线图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
在这里插入图片描述

👉2.大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)

img

👉3.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)

img

👉4.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)

img

大模型面试

**因篇幅有限,仅展示部分资料,**有需要的小伙伴,可以点击下方链接免费领取【保证100%免费】

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

**或扫描下方二维码领取 **

在这里插入图片描述

AI Agent 中提示词的六大关键 —有效的提示词是基于大语言模型(LLM)驱动的 AI Agent 成功的基础。精心设计的提示词能够涵盖所有必要的信息,确保 AI Agent 生成准确的返回信息并高效执行任务。 阅读详情

相关推荐

构建可靠AI Agent:从提示词、工作流到知识库的实战指南

一、Agent核心架构定义Agent系统由五个关键组件构成:大语言模型(LLM)提示词(Prompt)工作流(Workflow)知识库(RAG)工具(Tools)LLM和工具调用已经形成了相对标准化的技术栈。LLM方面,无论选择云端大模型(如阿里百炼平台、IdeaLab)还是本地部署(如Ollama),都有成熟的解决方案;工具调用方面,MCP协议的普及让工具集成变成了配置问题而非开发问题。因此,业务开发的核心竞争力在于提示词 + 工作流 + 知识库上。

m0_73735578的博客 1141

实战|打造可靠AI Agent全攻略:从提示词到知识库,实战指南带你一步到位!

本文系统介绍了AI Agent系统的核心架构与应用实践,重点解析了Prompt工程、工作流设计、知识库构建三大关键技术。在Prompt工程方面,提出系统提示词优化方法及实用工具推荐;工作流设计建议采用Mermaid等DSL替代自然语言;知识库建设则对比了向量数据库与关系型数据库的适用场景。文章还探讨了AI安全风险防范策略,并分享了吴恩达的AI项目评估方法论。最后提供了大模型学习路径建议和资源包,涵盖从提示词工程到商业落地的完整知识体系,为AI从业者提供实践指导。

Trb701012的博客 1746

【干货】Agent实战开发 提示词优化Agent

开发一个提示词优化Agent是非常具有挑战性但又充满潜力的任务。通过利用先进的生成式模型、优化算法和用户反馈机制,这个Agent将能极大提高大模型在各种任务中的表现,帮助开发者更高效地生成高质量的输出。如果你有兴趣继续深入某个部分的实现或有具体的问题,随时可以告诉我!

学习,输出==》再学习再输出 1390

AI大模型:手把手教你从零搭建Agent框架

Agent的核心思想是使用语言模型来选择要采取的一系列操作。在Agent中,语言模型被用作推理引擎来确定要采取哪些操作以及按什么顺序。

2401_82469710的博客 3901

Rocky Linux 9 远程桌面配置全攻略:从零搭建XRDP服务(含防火墙设置)

本文提供了在Rocky Linux 9上从零开始配置XRDP远程桌面服务的完整指南。详细介绍了系统准备、XRDP服务安装、防火墙与SELinux安全设置、多用户性能优化以及多平台客户端连接实测。重点解决了使用Windows远程桌面协议(RDP)连接Rocky Linux时常见的配置难点与安全问题,帮助用户获得稳定高效的图形化远程访问体验。

vodka的博客 649

Win10局域网内文件共享+远程桌面控制保姆级教程(含常见问题解决)

本文提供Win10局域网内文件共享和远程桌面控制的详细教程,包括环境检查、共享文件夹设置、远程桌面连接步骤及常见问题解决方案。通过内置功能实现高效办公协作,提升多设备协同工作效率,特别适合需要频繁传输文件或远程控制场景的专业人士。

rose2的博客 777

构建可靠AI_Agent:从提示词、工作流到知识库的实战指南!

本文系统阐述了在Agentic AI技术背景下构建可靠、高效AI Agent应用的方法,重点介绍了提示词工程、工作流设计和知识库构建三大核心竞争力。文章详细讲解了系统提示词设计、使用DSL描述工作流程、RAG与向量数据库应用,以及关系型数据库在特定场景下的使用思路,同时探讨了AI Agent的安全问题和AI项目的确定方法,为开发者提供了从理论到实践的全面指导。阿里妹导读本文系统阐述了在当前 Agentic AI 技术快速发展的背景下,如何构建一个可靠、高效且可落地的 AI Agent 应用。

bagell的博客 983

构建可靠AI Agent:从提示词、工作流到知识库的实战指南,大模型入门到精通,收藏这篇就足够了!

本文系统阐述了在当前 Agentic AI 技术快速发展的背景下,如何构建一个可靠、高效且可落地的 AI Agent 应用。

2301_81940605的博客 782

转录组数据去批次方法整理(combat,combat-seq,removeBatchEffect)

正是因为这些非生物学的因素存在就有可能会导致我们的结果偏离真实的情况,那么实际分析的过程中研究者应当评估是否存在批次效应,并决定是否要进行去批次处理。批次效应是指样本在不同批次处理及测量的情况下引入与生物学情况不相关的技术误差,比如不同试剂耗材,不同操作者,不同的实验时间等。combat函数是基于贝叶斯框架下的调整数据批次效应的函数,主要适用于已经被过滤和标准化后的数据(combat-seq函数是基于二项回归分布下的调整数据批次效应的函数,主要适用于。值得注意的是,即使使用了所谓的去批次效应的工具,

zfyyzhys的博客 7862

【系统分析师】第2章-基础知识:数学与工程基础(核心总结)

数学与工程基础

数据知道的博客 6813

实战落地可靠 AI Agent:从提示词设计、工作流规划到知识库构建全指南

AI Agent应用落地的三大关键要素 随着大语言模型技术的成熟,AI Agent开发重心已转向提示词工程、工作流设计和知识库构建三大领域。本文系统阐述了构建可靠高效AI Agent的方法论: 提示词工程:强调系统提示词的结构化设计(角色+上下文+示例+输出规范),并推荐使用专业工具优化提示词,同时分享标记方法和few-shot学习技巧。 工作流设计:建议采用DSL(如Mermaid)替代自然语言描述复杂流程,通过结构化语法提升流程准确性,推荐使用AI辅助生成流程图。 知识库构建:详细分析RAG技术的实现原

ytt0523_com的博客 1132

从数据到行动:客服运营必分析的8大核心维度

服务运营正从被动响应升级为数据驱动型战略体系。客服中心的海量交互数据能精准反映服务效能、客户体验及运营短板,关键在于实现数据的可视化与可操作化。本文系统剖析了八类核心数据指标:1)客户行为数据(CSAT/NPS/投诉内容);2)通话效率指标(AHT/接通率);3)服务质量(质检体系/情绪识别);4)坐席绩效(FCR/客户评价);5)流程与知识库(转接率/工单时效);6)渠道流量分析;7)异常预警机制;8)成本收益模型。通过构建多维数据分析体系,企业可在客户全生命周期管理中实现服务升级、风险防控与资源

2202_75469062的博客 1400

收藏!构建可靠 AI Agent 实战指南:从提示词、工作流到知识库全解析

大语言模型(LLM):核心推理引擎,负责理解需求与决策提示词(Prompt):定义 Agent 行为边界与执行标准工作流(Workflow):规范任务执行的步骤与逻辑知识库(RAG):提供领域专属知识,提升回答准确性工具(Tools):扩展 Agent 能力边界,如数据查询、网页操作等当前技术生态中,LLM 选型(云端如阿里百炼、IdeaLab,本地部署如 Ollama)和工具集成(MCP 协议普及)已无需深度开发。

xxue345678的博客 917

基于STM32、HAL库的TLV320AIC3204IRHBR音频接口芯片驱动程序设计

* 开启所有数字部分 */#define TLV320AIC3204_REG_LEFT_HEADPHONE_OUT_VOLUME 0x0C /* 左声道耳机输出音量 */#define TLV320AIC3204_REG_DIGITAL_AUDIO_PATH_CONTROL 0x05 /* 数字音频路径控制 */#define TLV320AIC3204_REG_ANALOG_HP_FILTER_CONTROL 0x34 /* 模拟耳机滤波器控制 *//* 最大音量 */

corlin6688的博客 521

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 852

【必收藏】构建高效AI Agent:提示词工程、工作流设计与知识库构建实战指南

本文系统介绍了在Agentic AI技术快速发展的背景下,如何构建可靠、高效的AI Agent应用。文章重点阐述了提示词工程、工作流设计和知识库构建三大核心竞争力的实践方法。在提示词方面,详细讲解了系统提示词的构成要素和优化技巧;在工作流设计上,推荐使用DSL描述替代自然语言;在知识库构建环节,介绍了RAG技术和向量数据库的应用。通过实战案例和优化建议,本文为开发者提供了从零构建AI Agent的完整指南,包括提示词优化工具、Mermaid流程图应用等实用技巧,帮助开发者快速掌握AI Agent开发的关键技

python12345678_的博客 1192

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【收藏】AI Agent开发核心指南:提示词、工作流与RAG知识库实战

文章系统阐述了在Agentic AI技术背景下构建可靠、高效AI Agent应用的方法。核心竞争力已转向提示词工程、工作流设计和知识库构建三大领域。详细介绍了Agent核心架构、提示词设计技巧、使用DSL描述工作流的优势、RAG与关系型数据库的应用,以及AI安全防护和项目确定方法,为开发者提供了从理论到实践的完整指南。

2401_85375186的博客 1455

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

构建可靠AI Agent的三大核心技术:提示词工程、工作流设计与RAG知识库

文章系统阐述了在Agentic AI技术快速发展背景下,如何构建可靠、高效且可落地的AI Agent应用。随着LLM和工具调用标准化,核心竞争力已转向提示词工程、工作流设计和知识库构建三大领域。详细介绍了系统提示词设计、使用DSL描述工作流、RAG与关系型数据库在知识库中的应用,以及安全防护策略。最后提出AI项目确定方法,强调应先确定业务问题,快速验证,持续迭代。

aolan123的博客 1054

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【收藏必看】构建高效AI Agent:提示词工程、工作流设计与知识库构建实战指南

AI Agent应用开发关键技术与实践 本文系统阐述了Agentic AI应用的三大核心技术:提示词工程、工作流设计和知识库构建。在提示词方面,详细介绍了系统提示词的结构化设计方法及优化工具;在工作流方面,推荐使用DSL(如Mermaid)替代自然语言描述复杂业务流程;在知识库方面,分析了RAG技术原理与向量数据库的应用,同时指出关系型数据库在特定场景的独特优势。文章还强调了安全防护措施和"Ready, Fire, Aim"的敏捷开发模式,为构建可靠高效的AI Agent应用提供了全方位

优快云_224022的博客 1189

大模型时代AI Agent开发:提示词、工作流与知识库,这篇干货值得收藏

文章系统阐述了如何构建可靠、高效的AI Agent应用。随着LLM和工具调用标准化,核心竞争力已转向提示词工程、工作流设计和知识库构建三大领域。详细介绍了Agent的五大组件,探讨了提示词优化技巧、工作流设计方法、知识库构建策略以及安全防护措施。最后提出AI项目评估方法,建议采用"Ready, Fire, Aim"模式快速验证AI应用价值。

m0_59162559的博客 1606
上一篇: AGENTiGraph:一个交互式知识图谱平台驱动的基于私有化部署
下一篇: 构建可靠AI_Agent:从提示词、工作流到知识库的实战指南
爱喝白开水a
博客等级 码龄3年 6793粉丝 763原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值