关于做了一系列智能体交付商单的心得体会
很多人以为智能体就是个能聊天的工具，但当你真的沉下心来做100天。你才会发现：这不只是AI能力的比拼，更是产品观、认知观和执行力的全面重构。下面是我这2年，打磨智能体过程中的16条深度心得。踩过坑，熬过夜，交过学费，才换来的一点点经验值。愿你读完，能少走几年弯路。1 指令质量决定AI的下限，知识库的质量决定AI的上限。你怎么吩咐它，它就怎么执行。再强的大模型，喂一条烂Prompt也白搭；而再聪明的Agent，没有结构化知识支撑，也只能原地打转。2 通用级Agent的壁垒，不是功能堆砌，而是长记忆加长陪伴。越用越懂你、越聊越贴心，这种熟悉感一旦建立，用户就不会轻易更换。3 真正打动用户的Agent，不是能做事，而是懂我。你以为你在造工具，其实你在重构信任关系。真正有温度的Agent，一定具备理解上下文、延续情绪、记住偏好的能力。4 训练一个优秀的Agent，本质上是在训练一个专业人格。不是堆砌知识，而是构建人格。它必须像一个高情商、强逻辑、有经验的老朋友：稳定、靠谱、可信。5 智能体不是ChatGPT的皮肤，而是一种产品重构方式。一个真正可用的Agent，要有输入逻辑、输出格式、行为路径、知识边界、用户反馈机制。否则，它只能叫高级玩具。6 不要追求万能Agent，要追求人设可复制。能帮你卖课的课程顾问、能帮你复盘销售的教练、能替你生成方案的咨询师，每一个垂直角色，都是一次小型SaaS产品化。7 好Agent不是答得多准，而是能引导用户完成目标。它不是百科，而是一个带路人。会提问、会判断、会推进，才是好Agent的核心能力。8 真正的壁垒，不是技术，而是数据和场景积累。别人有的是大模型加真场景加用户反馈加迭代机制，你如果只是用GPT搭个问答皮肤，几天就会被淘汰。9 给智能体输入内容，不如输入结构。知识点会过时，但结构永不过时。例如写作不是堆素材，而是掌握结构、语调、节奏，Agent学的是写作模型，而不是一堆金句。10 没有持续更新机制的Agent，是一次性玩具。用户需求在变，知识也在变，场景也在变。你不更新，它就会死。你不演进，它就会被抛弃。11 越拟人的Agent，越要严肃地设计边界与责任。它代表你的品牌、专业和人格，它必须有边界感，不能越俎代庖，也不能推卸责任。12 最适合智能体落地的场景，是高频、刚需、信息密度大。比如销售复盘、课程设计、客户答疑、会议纪要、报告写作，不要盯着娱乐型聊天，要做能帮用户完成任务的智能助手。13 Agent不是替代人，而是升级人。它让新人干老手的活，让你一个人干三个人的活，还不容易出错。你不是被AI替代，而是被不会用AI的人替代。14 对话只是交互方式，流程才是价值核心。智能体的真正形态不是聊天，而是围绕完成任务展开的：多轮对话、状态跟踪、接口调用、结果输出。能闭环，才值钱。15 能赚钱的Agent，不是做得多牛，而是用得多顺。落地能力大于技术炫技。一个普通用户3分钟就能上手，15分钟就能出结果的Agent，才有商业价值。16 AI智能体的终极形态，是你本人的数字分身。它拥有你的一套系统认知，一套方法论，一套表达方式。它能自动和用户互动，能主动提供价值，能在你睡觉的时候帮你赚钱。这不是助手，这是另一个你。写在最后：AI不是写稿机器，是能力的放大器、人格的外延体、品牌的分身。真正的Agent，不在OpenAI，不在Anthropic，不在阿里百度，而在每一个正在用AI重构价值的人手里。别再问我Agent怎么赚钱？你要先问自己：你有没有值得复制的知识结构、人格价值和洞察系统？有了这些，一切才刚刚开始。
前置要求Python 3.11Node.js 18+PostgreSQL 14+Redis for WindowsGitOllama (可选，用于本地模型)安装必要软件Python 3.11从 https://www.python.org/downloads/release/python-3110/ 下载安装安装时勾选 “Add Python to PATH”Node.js 18从 https://nodejs.org/ 下载 18.x LTS 版本设置 npm 镜像：npm config set registry https://registry.npmmirror.com1PostgreSQL 14从 https://www.postgresql.org/download/windows/ 下载记住设置的超级用户密码默认端口 5432Redis从 https://github.com/microsoftarchive/redis/releases 下载安装 Redis-x64-3.0.504.msirequirements.txt：# requirements.txt anthropic==0.23.1 authlib==1.3.1 azure-ai-inference==1.0.0b8 azure-ai-ml==1.20.0 azure-identity==1.16.1 beautifulsoup4==4.12.2 boto3==1.36.12 bs4==0.0.1 cachetools==5.3.0 celery==5.4.0 chardet==5.1.0 cohere==5.2.4 dashscope[tokenizer]==1.17.0 fal-client==0.5.6 flask==3.1.0 flask-compress==1.17 flask-cors==4.0.0 flask-login==0.6.3 flask-migrate==4.0.7 flask-restful==0.3.10 flask-sqlalchemy==3.1.1 gevent==24.11.1 gmpy2==2.2.1 google-ai-generativelanguage==0.6.9 google-api-core==2.18.0 google-api-python-client==2.90.0 google-auth==2.29.0 google-auth-httplib2==0.2.0 google-cloud-aiplatform==1.49.0 google-generativeai==0.8.1 googleapis-common-protos==1.63.0 gunicorn==23.0.0 httpx[socks]==0.27.0 huggingface-hub==0.16.4 jieba==0.42.1 langfuse==2.51.3 langsmith==0.1.77 mailchimp-transactional==1.0.50 markdown==3.5.1 nomic==3.1.2 novita-client==0.5.7 numpy==1.26.4 oci==2.135.1 openai==1.61.0 openpyxl==3.1.5 opik==1.3.4 pandas[performance,excel]==2.2.2 pandas-stubs==2.2.3.241009 psycogreen==1.0.2 psycopg2-binary==2.9.6 pycryptodome==3.19.1 pydantic==2.9.2 pydantic-settings==2.6.0 pydantic_extra_types==2.9.0 pyjwt==2.8.0 pypdfium2==4.30.0 python-docx==1.1.0 python-dotenv==1.0.1 pyyaml==6.0.1 readabilipy==0.2.0 redis[hiredis]==5.0.3 replicate==0.22.0 resend==0.7.0 sagemaker==2.231.0 scikit-learn==1.5.1 sentry-sdk[flask]==1.44.1 sqlalchemy==2.0.29 starlette==0.41.0 tencentcloud-sdk-python-hunyuan==3.0.1294 tiktoken==0.8.0 tokenizers==0.15.0 transformers==4.35.0 unstructured[docx,epub,md,msg,ppt,pptx]==0.16.1 validators==0.21.0 volcengine-python-sdk[ark]==1.0.98 websocket-client==1.7.0 xinference-client==0.15.2 yarl==1.18.3 youtube-transcript-api==0.6.2 zhipuai==2.1.5 # Indirect Dependencies kaleido==0.2.1 rank-bm25==0.2.2 safetensors==0.4.3 # Tools Dependencies arxiv==2.1.0 cloudscraper==1.2.71 duckduckgo-search==6.3.0 jsonpath-ng==1.6.1 matplotlib==3.8.2 mplfonts==0.0.8 newspaper3k==0.2.8 nltk==3.9.1 numexpr==2.9.0 pydub==0.25.1 qrcode==7.4.2 twilio==9.0.4 vanna[postgres,mysql,clickhouse,duckdb,oracle]==0.7.5 wikipedia==1.4.0 yfinance==0.2.40 # Storage Dependencies azure-storage-blob==12.13.0 bce-python-sdk==0.9.23 cos-python-sdk-v5==1.9.30 esdk-obs-python==3.24.6.1 google-cloud-storage==2.16.0 opendal==0.45.12 oss2==2.18.5 supabase==2.8.1 tos==2.7.1 # Vector Database Dependencies alibabacloud_gpdb20160503==3.8.0 alibabacloud_tea_openapi==0.3.9 chromadb==0.5.20 clickhouse-connect==0.7.16 couchbase==4.3.0 elasticsearch==8.14.0 opensearch-py==2.4.0 oracledb==2.2.1 pgvecto-rs[sqlalchemy]==0.2.1 pgvector==0.2.5 pymilvus==2.5.0 pymochow==1.3.1 pyobvector==0.1.6 qdrant-client==1.7.3 tcvectordb==1.3.2 tidb-vector==0.0.9 upstash-vector==0.6.0 volcengine-compat==1.0.156 weaviate-client==3.21.0 # Development Dependencies coverage==7.2.4 faker==32.1.0 mypy==1.13.0 pytest==8.3.2 pytest-benchmark==4.0.0 pytest-env==1.1.3 pytest-mock==3.14.0 types-beautifulsoup4==4.12.0.20241020 types-flask-cors==5.0.0.20240902 types-flask-migrate==4.1.0.20250112 types-html5lib==1.1.11.20241018 types-openpyxl==3.1.5.20241225 types-protobuf==5.29.1.20241207 types-psutil==6.1.0.20241221 types-psycopg2==2.9.21.20250121 types-python-dateutil==2.9.0.20241206 types-pytz==2024.2.0.20241221 types-pyyaml==6.0.12.20241230 types-regex==2024.11.6.20241221 types-requests==2.32.0.20241016 types-six==1.17.0.20241205 types-tqdm==4.67.0.20241221 # Linting Dependencies dotenv-linter==0.5.0 ruff==0.9.2 下载并配置 Dify# 克隆项目 git clone https://gitee.com/dify_ai/dify.git cd dify # 创建并激活虚拟环境 cd api python -m venv venv .\venv\Scripts\activate # 更新 pip python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装基础依赖 pip install wheel setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装项目依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装 PyTorch 和 AI 相关依赖 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install transformers accelerate optimum -i https://pypi.tuna.tsinghua.edu.cn/simple 配置环境# 复制环境配置文件 copy .env.example .env 修改 .env 文件中的关键配置：DB_USERNAME=postgres DB_PASSWORD=你的PostgreSQL密码 DB_HOST=localhost DB_PORT=5432 DB_DATABASE=dify OLLAMA_API_BASE_URL=http://localhost:11434 OLLAMA_PROXY_API_KEY=your_key_here 初始化数据库# 创建数据库 psql -U postgres CREATE DATABASE dify; \q # 初始化数据库架构 flask db upgrade flask init 安装前端依赖# 切换到前端目录 cd ..\web # 安装依赖 npm install # 复制前端环境配置 copy .env.example .env.local 启动服务# 终端 1 - 启动后端 (在 api 目录下) # 确保激活了虚拟环境 (venv) flask run --debug --host 0.0.0.0 --port 5001 # 终端 2 - 启动前端 (在 web 目录下) npm run dev 验证安装访问 http://localhost:3000默认管理员账号：admin@foo.bar默认密码：12345678
决策生成式智能适用于生成式建模和数据生成任务，通过学习数据的分布，能够生成具有多样性和不确定性的新数据样本。因此，需要使用概率建模来处理推断、预测和决策问题。为了描述和设计复杂系统行为，决策生成式智能需要在模型中引入层次化的方式来组织和描述系统的行为，以控制系统指令的执行顺序和逻辑关系。而决策生成式智能深度学习框架使得其参数更新基于梯度优化。6.1 概率编程语言概率编程语言（probabilistic programming language,PPL）设计用于描述和执行概率模型[58]。与传统的编程语言不同，概率编程语言允许开发者在程序中直接表示随机性和不确定性，以及随机变量之间的关系。这使得概率编程语言成为概率建模和推理的强大工具。PPL允许开发者直接在代码中表示概率模型，包括定义随机变量、概率分布和条件概率等。通过这种方式，开发者可以用代码清晰地表达出模型中的随机性和不确定性。PPL提供了丰富的随机变量和概率分布类型，例如连续分布（如正态分布、指数分布）和离散分布（如伯努利分布、多项分布）。开发者可以根据模型的需要选择合适的分布类型，并对随机变量进行操作。PPL集成了各种推断算法，用于从数据中推断模型的参数或进行预测。这些推断算法可以是经典的概率推断方法（如Bayes推断、最大似然估计），也可以是现代的机器学习方法（如变分推断、Markov链）。PPL具有高度的灵活性和表达能力，能够处理各种复杂的概率模型和推断任务。开发者可以使用循环、条件语句等结构来构建复杂的模型，并根据需要组合不同的推断算法。PPL提供了一系列工具和技术，用于评估和验证模型的性能，包括模型比对、后验预测检验等方法，帮助开发者检查模型是否与观测数据一致，并识别潜在的模型缺陷。6.2 可微分编程可微分编程是一种编程范型，在其中数值计算程序可通过自动微分来求导数。这允许了对程序中的参数的基于梯度优化，通常通过梯度下降。可微分编程广泛用于各种领域，特别是科学计算和人工智能。自2014年首次出现以来，可微分编程一直是一个引人注目的概念，有时被描述为“可微分函数式编程”。许多人工智能领域的研究者将其视为深度学习的一种泛化形式，甚至认为这种类型的编程代表了软件工程的未来，有时被称为软件2.0。在传统的编程方法中，通常需要显式地给出CPU需要执行的指令集来创建算法。程序在运行时必须具有足够的知识来实现其预期的目标。通过可微分编程，可以使用加权参数网络构建一种全新的程序，并通过基于梯度的优化进行样例训练。这些程序能够以更优化的方式沿着梯度重写自身的某些部分。微分编程的程序可以被视为对输入和输出进行复杂组合的连续可微函数。由于每个表达式都是可微的，因此可以利用链式法则来传播模型的优化。与经典的监督学习一样，可以通过反向传播损失梯度相对于每个加权参数来训练模型。因此，每个表达式应该实现一个前向行为，即解决问题所需的实际计算，以及一个后向行为，其目标是更新用于计算前向传递的权重。早期方法的局限性在于它们只能区分以适合框架的方式编写的代码，从而限制了它们与其他程序的互操作性。较新的方法通过根据语言的语法或中间表示构造图来解决这个问题，从而允许对任意代码进行区分。目前，大多数可微分编程框架的工作原理是通过构建包含程序控制流和数据结构的图来实现的。这些尝试通常可以归为以下两组。静态、编译的基于图的方法，如TensorFlow、Theano和MXNet，通常具备良好的编译器优化能力，并更容易扩展到大型系统。然而，它们的静态性质限制了交互性和易于创建的程序类型，尤其是那些涉及循环或递归的程序。此外，这种静态性质也使得用户更难有效地理解其程序逻辑。一个名为Myia的概念验证编译器工具链使用Python的子集作为前端，并支持高阶函数、递归和高阶导数。运算符重载、基于动态图的方法，如PyTorch和NumPy的autograd包，动态交互使得大多数程序的编写和推理变得更加容易。然而，它们可能会导致解释器开销增加（尤其是在组合许多小操作时），并且通常具有较差的可扩展性和减少编译器优化带来的好处。Julia编程语言的Zygote包直接在Julia的中间表示上运行，因此可以通过Julia的即时编译器进行优化。6.3 行为树语言行为树语言的历史可以追溯到20世纪90年代，最早是在计算机游戏开发中被引入的，作为一种用于描述非玩家角色（NPC）行为的方法。1999年，电影TheMatrix的计算机游戏TheMatrix:PathofNeo首次引入了类似于行为树的概念，用于定义虚拟人物的行为和决策。随后，行为树被广泛应用于许多游戏引擎中，如UnrealEngine和Unity。行为树被广泛用于描述游戏中的NPC行为。通过行为树，游戏开发人员可以轻松地设计和管理NPC的行为逻辑，使其看起来更加智能和自然。行为树被应用于各种类型的游戏，包括角色扮演游戏、策略游戏等。随着行为树在游戏开发中的成功应用，它也开始在其他领域得到应用，如机器人控制、虚拟现实、仿真系统等。行为树被用于描述和控制机器人的行为，使其能够智能地执行各种任务和动作。语言和工具的发展如下。随着行为树的应用范围不断扩大，相关的行为树语言和工具也在不断发展和完善。现今，有许多行为树编辑器和工具可供开发人员使用，如BehaviorDesigner、BtEditor、Schematyc等。行为树的理论基础可以追溯到计算机科学和人工智能领域的相关研究。其中，行为树最早的理论基础之一可以追溯到由RodneyBrooks等人在20世纪80年代提出的“行为模式”（BehaviorPattern）和“行为树”（BehaviorTree）的概念。随着行为树理论的发展和相关技术的进步，行为树语言已成为描述和设计复杂系统行为的重要工具之一。行为树语言是一种用于描述和设计复杂系统行为的形式化建模语言。它主要用于游戏开发、机器人控制、智能体行为建模等领域。行为树提供了一种层次化的方式来组织和描述系统的行为，并且具有直观易懂的图形表示，这使得用户能够直观地了解系统的行为结构和逻辑关系。图形化的表示方式也使得团队成员之间更容易沟通和协作。行为树语言的组成部分包括节点类型，每种节点代表了不同的行为或控制逻辑。常见的节点类型包括：行为节点（Action），执行具体的操作或动作，例如移动、攻击、跳跃等；条件节点（Condition），根据条件判断来决定执行路径的分支；组合节点（Composite），用于组织和控制其他节点的执行顺序和逻辑关系，常见的有序列节点、选择节点、并行节点等；修饰节点（Decorator），用于修改或扩展其他节点的行为，例如重复执行、延迟执行等。行为树具有层次结构，节点可以以树状形式组织起来，形成从根节点到叶子节点的层次关系。这种层次结构使得系统的行为可以被分解和组织，从而更容易理解和管理。行为树的执行流程从根节点开始，根据节点之间的连接关系逐级执行，直到到达叶子节点。每个节点的执行结果会影响到其父节点或者整个树的执行流程，从而实现了复杂的行为逻辑控制。行为树语言提供了丰富的节点类型和组合方式，使得用户可以根据实际需求灵活地设计和定制行为逻辑。同时，行为树的结构也支持动态调整和扩展，使得系统的行为能够适应不同的环境和场景变化。
决策智能利用推理和优化算法来评估不同决策方案的效果，并选择最佳的决策路径（图4），可用于自动化决策过程，为组织决策制定提供最佳实践框架，并提供将人工智能技术（如预测式智能、自然语言处理等内容生成式智能技术、自动推理）应用于规模化流程的方法。决策致力于分析行动与结果之间的因果链，通过分析制定策略，可使用机器学习进行因果链建模。因此，决策智能被视为人工智能的“多链接”扩展。机器学习要解决的是条件概率问题，“如果知道/看到/听到，可得出什么结论?”，而决策智能则是“如果采取行动，结果会是什么?”。后者涉及多轮由观察、调整、决定与行动组成的OODA循环（Observe, Orient, Decide, Act），涉及复杂系统、机器学习以及运筹优化中的决策分析。图4 决策智能的要素。一般包括：任务感知、规范输入数据、方案设计、数据对齐、执行监督、临机调整等5.1 决策生成式智能GenAI 不仅在自然语言处理和计算机视觉领域发挥作用，在决策过程中也扮演着重要角色。它可以帮助人们更快速、更准确地分析和理解大量复杂数据，从而支持各种决策过程，例如，棋类竞技、交通拥堵、医疗诊断等。此类智能可称为决策生成式智能（Artificial Intelligence Generated Action, AIGA）。通过对大数据的分析和优化，决策生成式大模型，即AIGA大模型， 能够生成有效的解决方案，从而提高社会资源的利用效率和社会治理水平。决策智能技术与生成式智能技术可以结合以提高决策过程的效率和准确性。生成式智能技术可以用于生成合成数据，从而增加决策模型的训练数据量。这些合成数据可以帮助提高决策模型的泛化能力和准确度。生成式智能技术可以用于生成决策辅助信息，如可视化数据、预测结果的概率分布等。这些信息可以帮助决策者更好地理解数据和模型的预测结果，从而做出更准确的决策。特别的，生成式智能技术可以用于创造性地生成潜在的决策方案或解决方案的变体。这些方案可以作为决策者的参考，帮助其思考和评估不同的决策选项。可以构建智能决策系统，自动分析数据、生成决策方案，并根据反绩不断优化和改进决策过程，即AIGA技术。基于上述快速学习能力上的优势，AIGA在开放场景中的决策中有巨大的潜力。它可以模拟场景并为快速决策提供数据，模拟不同的任务或环境。这有助于快速做出决策，可以用于自动驾驶汽车、供应链管理和医疗诊断等与国防民生息息相关的领域。相较于GPT等内容生成式大模型对科技社会所产生的深远影响，基于决策生成式智能的决策大模型尚未展现出相关能力， 因此成为了智能领域的新赛道。本节对其实际研究和应用的潜在影响进行梳理。5.2 领域决策大模型在围棋领域，AIGA大模型AlphaGo和AlphaZero是人工智能领域的重要成果。这些项目代表了深度强化学习技术在围棋等棋类游戏中的突破性进展。它们通过学习大量的棋谱和自我对奕来不断提高性能，并且在与人类顶尖棋手对弈中取得了惊人的表现。其成功证明了深度强化学习在复杂决策问题上的巨大潜力，为人工智能在游戏领域和其他领域的应用打开了新的可能性。AlphaGo是DeepMind于2016年发布的首个围棋程序，采用了深度强化学习和Monte Carlo Tree Search相结合的方法。其核心是基于神经网络的价值网络和策略网络。价值网络用于评估局面的价值，而策略网络则用于预测每个动作的概率分布。这两个网络都通过大规模的强化学习训练而来。AlphaGo在与世界围棋冠军李世石的比赛中取得了胜利，引发了广泛关注，并被视为人工智能在复杂智力游戏上的一个重要里程碑。AlphaZero是DeepMind于2017年发布的进化版本，将AlphaGo的方法推广到了其他棋类游戏，如国际象棋和将棋。与AlphaGo不同，AlphaZero不再依赖于人类专家的数据，而是完全基于自我对奕学习。它通过与自己玩游戏来提升自己，利用神经网络学习评估局面的价值和选择最佳动作。AlphaZero不仅在围棋领域取得了比AlphaGo更好的成绩，而且在国际象棋和将棋等其他棋类游戏上也取得了非常出色的表现，表明了其通用性和强大的学习能力。在交通领域，百度基于“文心”大模型5(5 https://wenxin.baidu.com/wenxin/cv)发布了数字人“简璐璐”，提出全域信控缓堵解决方案，提升了交警部门对交通事故的发现、处置和恢复全流程效率。相较传统智慧交通道路事故处理，大模型可实时定位事故位置，自动切换现场仿真环境，评估事故程度和原因， 自动生成应急预案和事故报告，缩短相关执法人员、医护人员到达现场时间和现场交通拥堵时间。交通大模型可结合除历史交通道路特征和各类型信号灯信息以外的如社交网络、新闻媒体等渠道信息，提供更为广域、实时精准的交通流轨迹预测能力。交通大模型可为交通参与者提供交通安全咨询和个性化出行服务，如与用户交互车次推荐，车票预定，航班查询，线路推荐，排队时间预测，目的地酒店和景点推荐等。一些城市和交通管理机构正在探索利用大型数据集和大模型来改善交通流量和管理。这些系统可以根据实时交通数据和历史数据做出决策，例如优化信号灯控制、路线规划和交通管理策略， 以改善交通流畅性和减少拥堵，提高道路监管效率。深度学习技术在自动驾驶领域的感知层、决策层与控制层的广泛运用，以及不断提高的感知、检测、决策与控制的准确率，使驾驶变得更加安全和便利。而交通大模型能够提升高等级自动驾驶建图、训练和路侧感知设备运维能力，可为自动驾驶车辆提供鸟瞰图建图辅助与推理补充，通过结合路侧感知设备网构建的拥有丰富语义信息的实时动态交通环境与车辆轨迹信息，可增强车辆鸟瞰图建图效果，提高单车自动驾驶系统感知的鲁棒性与推理精度。在生物领域，AlphaFold是由DeepMind开发的蛋白质结构预测的深度学习系统。该系统利用来自蛋白质序列和结构公共存储库的超过17万种蛋白质数据进行训练。AlphaFold采用了基于注意力机制的深度学习模型，这种模型能够有效地学习和理解蛋白质序列之间的复杂关系，并准确预测其三维结构。通过大规模的数据训练和注意力机制的应用，AlphaFold在蛋白质结构预测领域取得了令人嘱目的成就，为生物学研究提供了强大的工具和方法。在制药领域，华为盘古药物分子大模型于2021年发布，是由华为云与中国科学院上海药物研究所共同训练而成的6(6 https://www.huaweicloud.com/product/pangu/scientiic-computing.html)。该模型能够实现针对小分子药物全流程的人工智能辅助药物设计。通过利用盘古药物分子大模型，研究人员可以更加准确地预测药物的成药性，其预测准确率比传统方式提高了20%。此外，使用该模型进行药物研发还可以显著降低成本，据称可以降低70%的先导药物研发成本。这一技术有望加速新药物的发现和研发过程。在医疗领域，腾讯医疗大模型是基于腾讯混元大模型的一个重要应用7(7 https://healthcare.tencent.com/production/5)。该模型整合了超过285万个医疗实体、1250万个医学关系以及超过98%的医学知识构建的知识图谱和医学文献。经过对超过3000万个包含患者、 医生、药厂等场景及医疗流程的问答对话进行多任务微调，以及利用36万份专家医生标注数据进行强化学习，能够根据患者的个体特征、病史以及医学知识，提供个性化的诊断建议和治疗方案，从而为医疗工作者提供更可靠、更有效的决策支持。5.3 通用大模型DeepMind 的通用大模型作品Gato是一项令人嘱目的成就8(8 https://deepmind.google/discover/blog/a-generalist-agent/)，该模型采用同一架构成功完成了604个不同的任务。这些任务涵盖了离散控制领域，例如 Atari 游戏和推箱子游戏，以及连续控制领域，如机器人控制和机械臂控制。此外，Gato还应用于自然语言处理领域，执行对话任务，并在计算机视觉领域生成描述。这些任务涉及的模式和行为规则各不相同，需要模型具备高度的灵活性和智能。令人惊叹的是，Gato不仅在450个任务中的表现超过了专家水平的50%，而且在23个Atari游戏中的表现甚至超过了人类的平均水平。Gato采用了Prompt机制来区分不同类型的任务。该机制在输入序列的前面添加了一段当前任务的成功示范数据，并声明了模型正在解决的任务。通过Prompt机制，模型能够直接获得任务上下文，并在输入序列中添加适当的语境，以便直接输出所需的结果。这种方法为利用大型预训练模型解决特定任务提供了另一种选择。以前通常使用预训练模型的主要方法是微调。例如，在文本分类任务中，首先准备一个文本分类数据集，在此数据集上进行微调，然后再使用微调后的模型进行预测。Gato的训练方式采用监督学习，类似于训练语言模型的方式。首先，将各个任务的数据处理成Token ID的序列数据，然后通过Transformer模型学习序列的出现分布。与语言模型相同，损失函数旨在最大化模型解码生成给定序列的概率。在解码过程中，会屏蔽掉非文本/动作的token，并输出相应的动作以控制智能体，或者输出文字来生成对话。训练数据包括控制类数据和图像/文本数据。其中，控制类数据占比85.3%，为目前最好的强化学习模型的训练过程中的数据。图像/文本数据来自公开数据集。多模态数据被处理成Token ID数据，其中文本数据中每个词对应一个Token ID，离散数据类型直接映射到对应的Token ID，而浮点数类型则经过类激活函数归一化到[–1, 1]后离散化到1024部分，每个部分对应一个Token ID。对于图像类型数据，通过不重叠的卷积窗口切割原图像并分别通过训练好的残差网络编码成浮点数向量，再按照浮点数类型进行处理。操纵机器人时的传感器信号和关节力矩等连续值数据也通过采样和编码处理成序列数据。PaLM（Pathways Language Model）是由谷歌开发的基于Transformer架构的大型语言模型，拥有5400亿参数，同时也训练了规模较小的版本，包括8亿参数和620亿参数的模型，以研究模型规模对性能的影响。PaLM执行的任务涵盖常识推理、算术推理、代码生成和翻译等多个领域。结合思维链提示时，PaLM在需要多步推理的数据集上表现出显著更好的性能，如文字问题和基于逻辑的问题等。这一模型于2022年4月首次公开，2023年3月，谷歌正式发布了PaLM及其 API。PaLM2是谷歌最新的机器学习和负责任人工智能研究成果，在高级推理任务上表现更突出，涵盖了代码和数学、分类和问答、翻译和多语言能力以及自然语言生成等多个领域。这一成就得益于PaLM2独特的构建方式，融合了计算资源的优化、数据集的组合优化和模型架构的改进。PaLM2还被应用于其他先进的模型，如针对安全用例进行了微调的 Sec-PaLM。5.4 决策大模型单点增强技术2020年以来，随着深度学习方法固有的偏执、解释性、可理解性和稳定性问题变得更加明显，将符号人工智能和神经网络方法的优点结合起来，有望解决这两种方法都难以处理的领域，如常识推理。决策大模型的单点增强技术是指在设计、训练、评估和应用大规模深度学习模型时使用的各种方法和策略。这些技术的目标是提高大模型的性能、效率、鲁棒性和可解释性。以下是关于大模型增强的研究方向。模型压缩技术，旨在在资源受限的环境下（如移动设备或边缘设备），减小大型模型的存储空间和计算成本，以便进行部署。目前的主要技术有：剪枝技术，去除大型模型中不必要的连接、神经元或层，显著减少模型的参数数量和存储空间，降低计算成本；将大型模型中的参数和激活值从浮点数表示转换为低位宽的定点数或整数表示，以降低存储和计算的需求，减少模型的存储空间和内存占用，并加快模型的推理速度；知识蒸馏，利用教师模型的知识来训练学生模型，通过传递教师模型的知识，如模型的输出分布、中间表示等，帮助学生模型学习到教师模型的决策逻辑和表示能力，从而使学生模型在保持性能的同时变得更小更轻量，实现模型的压缩和精简。模型解释技术，旨在解释深度学习模型的决策过程，增强用户对模型预测结果的信任度和可信度。目前的主要技术有：特征重要性分析，评估模型中各个输入特征对输出结果的影响程度，解释模型的决策过程；局部可解释性方法，解释模型对特定输入样本的决策过程，使用局部敏感度分析或局部线性拟合等方法来近似模型在某个特定输入样本附近的行为；模型内部可解释性方法，利用深度学习模型的中间层激活值、权重分布或梯度信息等来解释模型对输入数据的处理过程；可视化方法，使用热力图、决策树可视化或神经网络结构可视化等方法展示模型的内部结构和决策逻辑；对抗性示例分析，通过生成具有特定特征的输入样本，测试模型的鲁棒性和可解释性，帮助用户理解模型的弱点和局限性。人机协同技术，用于大型模型的数据准备、训练和使用过程中。人类专家通过与模型的交互，传授领域知识和经验，引导模型进行更有效和智能的学习，提高其泛化能力和适应性。目前主要用于：数据标注与清洗，加速训练数据准备过程，提高数据质量；模型调优与优化，通过人类专家的直观判断和领域知识，指导模型的调优和优化过程，加速模型的收敛速度；实时反绩与监督，帮助模型及时调整和优化，提高训练效果；利用交互式的可视化工具和解释性方法，帮助人类理解模型的决策过程和内部特征，增强对模型的信任度和可解释性。安全和隐私，对大模型在敏感任务上的部署使用至关重要。采用隐私计算、多方安全计算、联邦学习等技术，结合加密、差分隐私和访问控制等安全措施，可以实现数据的安全共享，打破“数据孤岛”，实现“数据可用不可见”，从而解决数据合作中可能存在的安全风险和隐私泄露问题。FATE发布的联邦学习大模型FATE-LLM9(9 https://github.com/FederatedAI/FATE-LLM)，采用联邦学习技术对预训练的大型语言模型进行微调和优化，以满足不同应用场景和任务的需求。联邦大模型确保了数据的隐私和安全性。同时，针对大型模型生成内容的监测问题，业内也在积极研究相关的安全监测工具，以满足用户对可信任人工智能系统的需求，并促进全球范围内人工智能监管框架的互联互通。不确定推理，对环境等不确定性进行有效地表示、建模和推理的过程，使智能系统能够在不确定和动态的环境中做出明智的决策、降低风险，并提高整体性能。关键概念和技术包括使用概率理论来表示和推理不确定性，常用技术包括Bayes推理和PGMs；另外，使用模糊集和模糊规则表示模糊或不确定信息，提供了处理语言变量和模糊关系引起的不确定性的框架；可能性理论则用于在确定精确概率困难时表示和推理不确定性。此外，不确定性量化方法，如置信区间、不确定性传播和敏感性分析等也是重要的技术手段。优化器设计，旨在解决大规模模型训练时所面临的诸多挑战，包括内存消耗、计算效率和收敛速度等方面的问题。一个优秀的优化器需要关注内存效率、分布式训练支持、批量处理和并行计算、自适应学习率调整、以及稳健性和鲁棒性等几个方面。Adam、Sophia等优化器被广泛应用，能够有效地帮助模型实现快速收敛。此外，朱军等提出的 DPM-Solver 系列通过提升 Stable Diffusion 模型的快速采样算法，为模型训练带来了显著的改进。采样器设计，用于准备训练数据、环境和任务，以供深度学习模型进行训练。Stackelberg 博奕作为一种重要的数据采样方法，在深度学习中发挥着关键作。Stackelberg 博奕常被用于描述领导者与追随者之间的博奕关系。在深度学习中，该博奕被引入数据采样过程中，以提高模型的训练效果和性能。领导者（即数据采样器）会根据当前模型的状态和性能选择一批样本进行训练，然后将这些样本提供给模型进行训练。模型根据领导者提供的样本进行学习，并生成相应的预测结果。领导者根据模型的预测结果对样本进行反绩，调整下一批样本的选择， 以进一步优化模型的性能。
决策生成智能旨在在复杂和不确定的环境中选择最佳行动以实现特定目标或优化性能指标。它需要对环境进行建模，理解状态、动作和它们之间的相互作用关系，并使用不同的决策生成算法（如策略选代、Monte Carlo树搜索等）来生成最佳的决策策略。因此，决策生成智能涉及强化学习、统计学、优化等领域。4.1 决策的数学内涵决策可被视为一个优化问题，在给定约束条件下选择一组决策变量以最大化或最小化一个或多个目标函数。决策变量是可调参数，约束条件是其取值需满足的条件，如资源限制。目标函数是衡量决策结果的标准。当存在多目标时，需要进行权衡和优化。决策过程中通常存在不确定性，来自外部环境、数据不完备等，需考虑稳健性。决策者需评估和管理风险，分析可能的风险情景，并设计合适的风险管理策略，以降低不利结果的发生概率或影响程度。决策的数学理论主要研究在不确定条件下通过数学方法和工具来优化决策方案。其主要内容包括：决策模型，如决策树、Markov决策过程、Bayes网络等，用于描述决策过程中状态、行动和结果之间的关系，以便评估和比较不同决策方案；决策准则，如最大化效用、最小化损失、最大化期望收益、最小化风险等，用于指导在不确定条件下做出最优的决策选择；不确定性建模，包括概率论、统计学和模糊逻辑等方法，用于量化不确定性和评估决策的风险；评估和选择最佳解决方案，通过比较解决方案的效用或利弊来实现，常用方法包括多目标优化技术和决策分析方法，如Pareto最优解的选择、权衡法和分级排序等。决策常涉及多目标决策，如在对抗环境中的攻击对象选择等情境。在这种情况下，决策者需要在不同目标之间进行权衡和平衡，以找到最佳解决方案，满足多个目标的要求和限制。多目标决策需要综合运用多目标优化、决策分析和权衡方法，以实现最终的决策目标。决策者会根据自身偏好和重要性为不同目标排序并赋予权重，以反映不同目标对决策结果的相对重要性。在多目标决策中，存在一组解被称为非支配解， 即在所有目标上至少有一个目标比其他解更好，而在其他目标上至少有一个目标与其他解一样好。这些解构成了一个Pareto最优解集合，可从中选择解决方案。决策通常需要借助运筹规划理论来优化资源分配和制定决策方案。运筹优化理论提供了一系列强大的工具和技术，帮助决策者在复杂环境中做出最佳决策，包括资源利用优化、成本降低和效率提高等方面。常用的理论有：线性规划，用于解决线性约束条件下的最优化问题，目标是最大化或最小化一个线性目标函数，广泛应用于资源分配、生产计划和运输等领域；整数规划，是线性规划的扩展，限制决策变量为整数值，常用于需要离散决策的问题，如生产调度和设施选址；非线性规划，用于解决目标函数或约束条件为非线性的最优化问题，在工程设计、经济学和金融等领域广泛应用；动态规划，解决具有重叠子问题和最优子结构性质的问题，常用于处理阶段性决策问题，例如库存管理和生产计划。这些方法为决策者提供了强大的工具，帮助他们在面对复杂问题时做出明智的决策，并有效地利用资源以实现预期的目标。在数学上，决策论与博奕论相关，均研究在不确定环境下决策者或居中人的最优选择和策略互动。在决策理论中，个体或组织在面对不确定性时寻找最佳决策，而博奕理论则侧重于多个决策者相互作用的情境。决策理论关注单个决策者的最优选择，而博奕理论考虑各方相互影响，追求利益最大化。博奕理论涉及博奕类型、均衡概念和策略选择，旨在解决决策者之间的相互作用和冲突，寻求最优解决方案。4.2 智能决策与强化学习强化学习是一种通过与环境进行交互来学习如何做出决策的机器学习方法，与智能决策密切相关。强化学习的基本元素包括：智能体，可以学习和做出决策的实体，如机器人、游戏角色等；环境，智能体与之互动的对象，可以是物理世界、虚拟世界等；动作，智能体可以执行的操作，如移动、跳跃、攻击等；状态，智能体在环境中的当前状态，如位置、速度、生命值等；奖励，智能体在执行动作后接收的反绩；策略，智能体在状态下选择动作的规则。强化学习的核心思想是：智能体在一个环境里面根据观测信息作出决策，并根据环境给的反馈（奖励）提升决策能力，使得自己能够在后续交互中拿到更多的奖励。因此，强化学习为智能决策提供了理论框架和方法论，使智能体能够通过与环境的交互学习改进其策略，实现智能和有效的行为。在这种框架下，智能体不断尝试和调整行为，以最大化未来可能获得的奖励。这种灵活方法使得智能体能够在复杂和不确定的情境中做出最优选择，逐步优化其决策策略，实现更智能化的行为。自2015年起，强化学习与深度学习结合在多个控制领域展现出超越人类专家的决策水平，包括 Atari 游戏、下棋和机器人控制。在离散控制领域，从最早的Deep Q-Network（DQN）到采用分布式架构的A3C（Asynchronous Advantage Actor-Critic）/ IMPALA/Ape-X 再到R2D2（Recurrent Replay Distributed DQN），强化学习在Atari游戏中的表现逐渐超越了人类水平。在连续控制领域，从DDPG（Deep Deterministic Policy Gradient ）到 TD3（Twin Delayed Deep Deterministic policy gradient algorithm）/SAC（Soft Actor-Critic）再到OAC（Optimistic Actor-Critic），算法的探索能力和稳定性也显著提升。强化学习领域可细分为多个方向：多智能体强化学习涉及多智能体之间的协作、对抗性对话和竞争等，为人工智能系统与环境及其他智能体之间的互动提供新思路；逆强化学习和模仿学习旨在从专家行为中学习，并通过观察行为推断奖励函数，进而优化行为策略；多模态强化学习则涉及整合多种感知模态，如图像、语音和文本等；迁移学习、元学习等框架与强化学习的结合等。强化学习方法主要分为两类：离线（offline）强化学习和在线（online）强化学习。离线学习策略旨在通过对已有数据进行训练，而无需实时与环境进行交互。首先，需要收集与问题相关的历史数据，包括强化学习试验、仿真环境中的模拟数据或现实世界中的操作记录等。这些数据用于离线训练智能体的策略模型，采用常见的强化学习算法如Q-learning、DQN等。完成离线训练后，需要对模型进行评估和优化，通常使用保留的数据集进行测试。然而，离线数据集并非完备，因此只依靠历史数据可能无法训练出最优智能体。在线强化学习则通过实时与环境交互来不断获得数据，但由于在线探索的难度较大，通常需要大量的探索样本。强化学习和元学习（Meta-Learning）密切相关，都旨在提高机器学习模型的泛化能力和适应性，以应对不同任务和环境，从而使得智能体能够在复杂和未知的环境中进行快速而有效的学习和决策。元学习是一种“学习如何学习”的方法，其目标是让模型能够在面对新任务或环境时快速有效地学习。通常包括内层学习（在给定任务上学习任务特定的参数或策略）和外层学习（学习如何进行任务间的学习）两个层次。元学习可以视为强化学习的一种形式，其智能体通过与任务的交互学习优化策略，这里的任务可以被视为强化学习中的环境。元学习方法可以改进强化学习系统的性能和泛化能力，例如使用元学习来通过调整算法的超参数或选择合适的学习率。4.3 强化学习与生成式人工智能强化学习专注于通过与环境的交互学习最佳行为策略，而GenAI则致力于生成新的数据样本。将这两个领域结合起来可以产生协同效应，使得整体性能超过各自单独的效果。AIGC模型生成的内容可以通过强化学习模型的反绩不断改进。强化学习模型可以在AIGC模型生成的环境与任务上进行训练， 以提升其泛化能力，使其在更广泛的情境下表现更优秀。这种结合使得智能体能够从不断的生成与学习中获得更全面、更有效的知识，并在不同的任务和环境中更灵活地适应和表现。在GenAI模型中，损失函数通常被设定为交叉嫡等能够描述生成分布与目标数据分布之间距离的函数。然而，在某些情况下，人们并不希望模型仅仅按照损失函数的最小化来生成内容。以条件文本生成为例，对于一个文本生成器，人们不仅希望它在训练数据集中已有的文本上表现良好，还期望它能够输出满足其他期望属性的文本，比如多样性、连贯性和新颖性等。这种评判标准与训练目标之间的差异可能会降低GenAI生成内容的质量。模型的泛化性也与损失函数相关。在一些生成式人工智能的应用中，人们希望模型能够处理超出数据分布范围的输入，即处理分布外任务（out-of-distribution task）。例如，在新型分子设计中，学习过程的目标是探索和生成未见过的分子，而不仅仅是生成已有数据集中的分子。代码摘要或生成器预期为新任务生成良好设计的代码，而不是简单地重复数据集中已有的代码。对于分布外问题，与基于目标数据与生成数据分布差异的损失函数相比，利用强化学习的奖惩函数作为反绩提供了一种解决方案。强化学习能够通过不可微分的模块传播梯度，使得模型架构中可以包含离散模块，从而扩展了基于深度神经网络的GenAI的能力。从优化的角度来看，强化学习是一种优化不可微分目标期望函数输出的算法，其中策略梯度方法是一种基本方法，其思想是提升高回报输出的概率，减小低回报输出的概率，直到搜索到最优策略。因此，通过结合强化学习，设计奖惩函数作为GenAI模型额外的训练目标是可行且实用的，可以将奖惩信号体现到生成过程中。GenAI对强化学习的支持主要体现在其离线训练过程中。在强化学习中，智能体需要在利用已有知识和探索未知情况之间找到平衡。为了最大化预期奖励，智能体必须利用之前获得的最佳行动经验。然而，为了获取更多潜在的最佳学习行动，它必须广泛探索所有可能的情况，以收集足够的数据来进行学习，这种探索过程并不适合离线学习。GenAI能够快速生成大量环境和任务样本，从而加速智能体的训练过程。通过GenAI模型动态生成新颖、多样的环境和任务，智能体可以通过离线学习更全面地探索环境和理解任务，进而更容易发现有效策略，提高在真实世界中的泛化能力。GenAI还可以根据特定的任务和环境生成相应的数据，使得智能体的训练更加有针对性和有效，更好地引导智能体学习与任务相关的知识和策略。此外，生成式模型本身可能成为智能体的一部分，通过内在的生成机制生成行为或响应，与外部环境进行交互并实现某种目标。许多生成问题可以定义为决策问题，从而使得强化学习可以用于内容或者决策的生成。对于顺序决策问题， 由于动作空间非常庞大，因此探索变得困难。因此，可以利用基于GenAI的预训练结合基于强化学习的微调所构成的模型架构来缓解这个问题。以RationaleRL为例，该模型用于药物设计的生成过程，首先利用GenAI模型中的VAE进行预训练，然后使用强化学习的策略梯度进行微调。与AlphaGo类似，该模型采用Monte Carlo树搜索来寻找重要的动作空间， 以提高基于强化学习的生成器的性能。此外，GenAI还在解决强化学习中的奖惩稀疏等问题上进行了探索。
深度学习、生成式人工智能与大模型
本章将探讨深度学习、生成式人工智能与大模型的概念、原理、应用以及未来发展趋势。深度学习是一个多层堆叠的学习框架，在感知问题上取得了巨大成功。生成式人工智能专注于预测目标的概率分布。大模型具有大量参数，在大数据上进行训练，能够生成出逻辑性和创造性的文本、 图像、音乐等内容，但需要大量计算资源和较长训练时间。深度学习与生成式人工智能是大模型的两个核心技术，共同推动着大模型的快速发展与广泛应用。3.1 深度学习深度学习在2010年左右崭露头角，很快成为机器学习领域的一场革命。2011年，IDSIA 的Ciresan开始利用GPU训练的深度神经网络赢得了学术图像分类竞赛，这是现代深度学习的第一次实际成功。2012年， 由Hinton所指导的Krizhevsky团队参加了当时难度很大的大规模图像分类挑战赛ImageNet，需要对140万张图像进行训练并将高分辨率彩色图像分类为1000个类别。该团队实现了83.6%的前五名准确率，这是一项重大突破。在2011年，基于经典计算机视觉方法的获胜模型的前五名准确率仅为74.3%。此后，每年的竞赛几乎都由深度卷积神经网络主导，到2015年，获胜者的准确率已经达到96.4%，因此ImageNet被认为是一个完全解决的问题。自2012年以来，深度卷积神经网络已经成为所有计算机视觉任务的首选算法，甚至更广泛地处理各种感知任务。在主要的计算机视觉会议上，几乎所有的研究都涉及某种形式的卷积网络。与此同时，深度学习也在许多其他类型的问题上得到了应用，例如自然语言处理。它已经完全取代支持向量机和决策树等传统方法。例如，多年来，欧洲核子研究组织CERN一直使用基于决策树的方法来分析大型强子对撞机 ATLAS 探测器的粒子数据，之后转而使用基于 Keras 的深度神经网络，因为它们具有更高的性能并且易于在大型数据集上进行训练。深度学习是一种基于多层人工神经网络结构的机器学习方法，通过多层次的特征提取和抽象，实现对数据的高效表示和学习。深度学习模型由前绩神经网络、循环神经网络和卷积神经网络等叠加而成。叠加的层数称为深度，通常包括数十甚至数百个连续的表示层。每层执行的操作由其权重决定。模型的学习目标是找到使网络能够正确映射数据输入到目标输出的权重值。深度神经网络包含大量参数，调整其中一个可能影响其他参数行为。为了优化网络表现，需要使用损失函数衡量预测输出与真实目标之间的差距，并通过反向传播算法调整权重值以降低损失函数。随机初始化网络参数。在训练过程中，优化器根据损失函数的反绩信号微调参数，使损失函数值逐渐降低，直至网络收敛到最小化损失的状态，此时网络的输出尽可能接近预期目标，称为训练好的网络。深度学习不等于依次使用浅层学习。深度学习的变革之处在于其允许模型同时联合学习所有表示层，而不是依次学习。通过联合特征学习，每当模型调整其中一个特征时，其他特征会自动适应变化，不需要人工干预。深度学习通过逐层学习复杂的抽象表示，并将其分解为一系列简单的转换来实现这一点。这种逐层的联合学习方式使得深度学习比依次使用浅层学习模型更加成功， 因为多层模型中的最佳第一层并不是单层或两层模型中的最佳第一层。深度学习在感知领域取得了巨大成就，包括：图像分类接近人类水平，能够准确识别图像中的对象和场景；语音识别接近人类水平，将语音准确转换为文本；手写转录接近人类水平，能够准确将手写文本转录为数字或文字；改进的机器翻译，使得机器翻译逼近人类水平；改进的文本到语音转换，使得生成的语音更加流畅自然；数字助理（如Google Now和Amazon Alexa）使得语音交互更智能和人性化，能够准确理解用户指令并提供相应服务。3.2 生成式人工智能生成式人工智能（Generative Artificial Intelligence，GenAI）指具有生成能力的人工智能系统，能够根据输入数据生成新的内容或样本。它们不仅分析、预测或分类已有数据，还能生成新的数据、文本、 图像、音频等内容。生成式模型起源于20世纪50年代的隐马尔可夫模型和高斯混合模型，并随着深度学习的发展，在语音识别和图像恢复等领域取得了显著性能改进。GenAI 借鉴了人类创造力和想象力，推动了人工智能的发展。深度生成模型是一类具有多层结构的生成式模型，包括深度生成对抗网络（Deep Convolutional Generative Adversarial Network，DCGAN）、深度Boltzmann机（Deep Boltzmann Machines）等。这些模型通过堆叠多个隐藏层来学习数据的分布，并生成新的数据样本，在捕捉数据复杂分布和生成高质量样本方面表现出色。而变分自编码器、生成式对抗网络等 GenAI 模型为其提供了重要的理论基础和方法支持。变分自编码器（Variational Autoencoders，VAEs）是一种生成式模型，结合了自编码器的结构和变分推断。它通过学习数据的潜在表示来实现数据的生成和重建。与传统的自编码器不同，VAEs不仅学习如何将输入数据编码为潜在空间中的分布，而且学习如何从该分布中采样生成新的数据点。这使得VAEs能够生成具有多样性的新数据，同时保持数据的连续性和可解释性。VAEs已被广泛应用于图像生成、语音合成、自然语言处理等领域，在生成式建模和数据生成任务中发挥着重要作用。生成式对抗网络（Generative Adversarial Networks，GANs）是一种由两个神经网络组成的框架，旨在实现数据的生成。GANs由生成器和判别器两部分组成，它们相互对抗地学习，以提高生成器生成逼真数据的能力。生成器试图生成与真实数据相似的样本，而判别器则尝试区分生成器生成的假样本和真实数据。通过这种对抗学习的方式，生成器不断提升生成样本的逼真程度，而判别器也不断提升对真假样本的鉴别能力。GANs已被广泛用于图像生成、风格转换、超分辨率重建等任务，并在计算机视觉和图像处理领域取得了显著的成就。去噪扩散概率模型（Denoising Diffusion Probabilistic Models，DDPM）是一种生成式模型，旨在对数据的概率分布进行建模，并通过去除数据中的噪声来提高模型的质量。该模型利用了扩散过程的概念，通过在训练过程中逐步将数据与噪声混合，然后试图从混合后的数据中恢复原始数据，从而学习数据的概率分布。通过这种方式，DDPM能够产生高质量、逼真的样本，适用于图像生成和其他生成式任务。上述模型被认为是GenAI里程碑式的进步，实现方式和应用场景有所不同，涉及概率论、统计学、信息论和机器学习等多个理论和方法。模型训练常采用高效的对比学习方法（Contrastive Learning）。这是一种无监督学习方法，用于学习数据的表示。它通过最大化相似样本之间的相似性，最小化不相似样本之间的距离，从而学习到数据的有用表示。对比学习在图像、文本等领域的生成任务中取得了显著的成果。GenAI模型通常会假设数据服从某种概率分布，如均匀分布、高斯分布、高斯混合分布等。生成模型学习数据的概率分布， 以便生成新的数据样本。Bayes定理用于计算在观察到数据后参数的后验分布，在GenAI中被用于估计模型参数。变分推断用于近似推断概率模型后验分布的方法，它通过最大化变分下界来逼近真实后验分布，被用于训练 VAEs 等模型。GenAI模型通常用概率图模型（Probabilistic Graphical Models, PGMs）建模不确定性，使得推理变得更加灵活和高效。PGMs 是一种用图形表示变量之间概率关系的方法，结合了概率论和图论的原理，旨在描述复杂系统中的随机变量之间的依赖关系（图3)。PGMs通常分为两类：Bayes网络，使用有向图表示变量之间的因果关系；Markov网络，使用无向图表示变量之间的相关关系。被广泛应用于机器学习、人工智能、计算机视觉等领域，用于推断、预测和决策问题。图3 典型概率图模型。包括：朴素Bayes、隐Markov模型、有向概率图模型等。GenAI 模型通常用潜变量模型（Latent Variable Models，LVMs）揭示观测数据背后的潜在结构，提高对数据的理解和分析能力。LVMs 假设存在一些不能直接观测到的潜在变量，它们以某种方式影响了观测到的数据。例如，Hidden Markov Models (HMMs) 引入潜变量对观测序列进行建模，假设观测序列的生成过程由一个不可见的隐藏状态序列所控制，该隐藏状态序列是一个 Markov 链，每个隐藏状态生成一个相应的观测值，构成观测序列。LVMs 还包括非学习方法，如因子分析、潜在语义分析、潜在 Dirichlet 分配 citeBlei2003 等，在数据降维、话题建模等领域都有应用。交叉嫡是用于度量两个概率分布之间的相似性的指标。在 GenAI 中，交叉嫡常用于衡量生成模型生成样本与真实数据之间的差异，以及用于模型训练中的损失函数。信息嫡是用于度量随机变量不确定性的指标。在 GenAI 中，信息嫡可以用来衡量数据的不确定性， 以及用于模型中的正则化项。自注意力机制用于捕捉序列中不同位置之间的长程依赖关系，最早用于 Transformer 中。该 GenAI 模型主要用于自然语言处理任务，例如机器翻译和文本生成。Transformer 由多层自注意力机制和前绩神经网络组成，具有并行计算的优势，能够处理长距离依赖性和捕获输入序列中的重要信息。编码器和解码器是 Transformer 的核心组件，每个组件都由多个相同结构的层堆叠而成。在每个层中，Transformer 使用自注意力机制来计算序列中每个位置的表示与其他位置的关系，以更好地捕获上下文信息。3.3 内容生成式大模型内容生成式人工智能（Artificial Intelligence Generated Content，AIGC）是GenAI在特定领域或任务中的应用，专注于生成文本、 图像或音频等内容。它根据领域数据的特点和需求采用不同的模型结构和训练方法，以实现出色的生成效果。AIGC与深度学习相结合，构建参数规模巨大的大模型，并在规模相当的大数据上进行训练，涌现出了AIGC大模型，在语言生成、 图像生成、音乐创作等领域展现出了惊人的创造力和表现力。可以利用这些模型为创作者提供灵感。以下介绍4个广受关注的 AIGC大模型。GPT系列（Generative Pre-trained Transformer）由OpenAI提出，其最新版本是 GPT-41(1 https://openai.com/gpt-4)。该系列模型采用自回归式生成方法，能够根据前文生成后续文本，并且在训练时通过大规模的文本数据进行预训练，从而学习到了丰富的语言知识和语义信息。GPT系列模型在文本生成、对话系统、语言理解等任务中取得了显著的成绩，被广泛应用于智能客服、智能写作、智能编程等领域。Stable Diffusion模型是一种基于扩散技术的AIGC大模型，于2022年由 StabilityAI、CompVis 与 Runway 合作开发2(2 https://stability.ai/news/stable-difusion-public-release)。它主要用于根据文本的描述产生详细图像、补画、扩画，以及在提示词指导下的图像到图像转换，即将源图像转换为目标图像，同时保留原始图像的一些视觉属性。该模型通过对输入噪声进行多次选代扩散，逐渐生成出高质量的图像， 由3个部分组成：VAE、U-Net和一个文本编码器。DALL-E系列是由 OpenAI 提出的AIGC大模型，用于图像生成任务3(3 https://openai.com/dall-e-2)。与传统的图像生成模型不同，该模型能够根据用户输入的文本描述生成与描述相符的图像。例如，用户可以输入“牛顿与爱因斯坦交谈的场景”，DALL-E就能够生成出符合描述的图像。这种基于文本的图像生成技术为图像创作、设计等领域带来了全新的可能性。GLM（General Language Model）是由清华大学自然语言处理与社会人文计算实验室开发的通用预训练模型4(4 https://keg.cs.tsinghua.edu.cn/glm-130b/)。GLM采用了类似于OpenAI 的GPT（Generative Pre-trained Transformer）模型的结构，在大规模文本数据上进行了预训练，旨在为中文自然语言处理任务提供一个高效、准确的基础模型。3.4 生成式人工智能的特点、优势与局限生成式智能通过学习数据的潜在分布和模式来创造新的内容，如图像、音乐、文本等。生成式智能的核心是利用生成模型，如GAN和VAE，来学习数据的分布，从而生成具有相似特征的新数据。与之不同的是预测式智能，其根据历史数据来预测未来事件或趋势的人工智能技术。它通过分析数据之间的关系和模式，利用统计算法和机器学习模型来进行预测。预测式智能的核心是建立预测模型，如回归模型、时间序列模型和分类器，用于对未来事件进行预测（表1）。表1 生成式、预测式、决策式智能的特点生成式智能主要用于创造性领域，如艺术创作、 内容生成和虚拟现实等。它可以生成逼真的图像、音乐和文本，具有广泛的应用前景，如图像生成、音乐合成、文本生成等。预测式智能广泛应用于商业和科学领域，如金融、医疗、市场营销和气象预测等。它可以用于股票价格预测、疾病预测、消费者行为分析等，帮助决策制定和规划未来，帮助人们做出更明智的决策。两者在技术原理和应用领域上有着不同的特点和优势。GenAI具有多种优势，可以提高效率，节约成本。例如，它可以比人类更快地创建内容，帮助团队在更短的时间内完成更多的工作。无论是撰写文章、设计图形还是生成代码，生成式人工智能都可以更快地完成。它可以减少重复性任务，进而减少对人力资源的需求。生成式人工智能可以提高创造力，能够生成创意内容，如独特的艺术品或音乐。生成式人工智能可以在这些领域辅助甚至取代人类的创造力，成为艺术家和创作者的基本工具。ChatGPT和Google Bard等AIGC在软件开发中发挥着重要作用。开发人员可以使用这些人工智能来简化他们的工作。开发者可以给出代码片段或者错误提示，AI为其提供解决方案。生成式人工智能还可以根据给出的指令或提示生成示例代码。AIGC控制聊天机器人和虚拟代理，使它们反应灵敏且高效。在客户服务中，聊天机器人现在处理大部分询问，减少了人工参与的需要。这些人工智能代理可以接受训练来回答问题、解决问题并快速提供信息。AIGC有助于创建各种形式的内容，例如音乐、视频、图像等。通过分析现有样本，它可以生成新的、真实的内容。这项创新通过简化内容创建流程，使媒体、设计和创意艺术等领域受益。它使艺术家和创作者能够快速创作新鲜且引人入胜的内容。GenAI模型有其局限，需要仔细考虑道德和滥用问题。近年来，滥用GenAI模型来创建误导性和虚假内容的情况有所增加。该技术可用于创建与真实内容几乎相同的虚假图像、视频和音频内容。例如，可以使用生成式人工智能创建虚假新闻文章、误导性视频和操纵图像，从而导致媒体的混乱和不信任。这会对隐私、声誉和信息传播产生严重影响。生成式人工智能创造此类欺骗性内容的潜力带来了巨大挑战，需要解决这一挑战， 维护数字世界的信任和完整性。GenAI模型对其训练数据强烈依赖。这些模型不具有独立的推理或判断，因此它们完全依赖于训练的数据。如果训练数据有限、有偏见或不准确，可能会导致生成式人工智能生成质量较差的内容。为了缓解这种情况，提供多样化且充足的训练数据以确保生成的内容尽可能公正和准确至关重要。Open AI的Kaplan等人发现了 Transformer等GenAI大模型在交叉嫡损失上存在尺度定律（Scaling Law）。损失随着模型大小、数据集大小以及用于训练的计算量呈幕律变化，一些趋势的尺度超过了107。而宽度或深度等其他架构细节方面，在很大范围内对损失的影响较小。Kaplan等人通过方程描述了过拟合对模型与数据集大小的依赖性，以及训练速度对模型大小的依赖性。这些关系能够确定计算预算的最佳分配。较大的模型在样本利用效率上显著更高， 因此最优的计算高效训练涉及在相对较小的数据上训练非常大的模型，并在收敛之前明显停止。尺度定律被用于指导模型训练和优化，合理分配资源，选择合适的训练策略，被认为是大模型时代的Moore定律。
1 引言人工智能已成为全球竞争的焦点，被视为引领未来的战略性技术。2018年6月，美国前国务卿Kissinger首次公开表示，人类社会并未准备好迎接人工智能的崛起。到了2021年9月，Kissinger等再次强调了人工智能对全球安全和世界秩序的深远影响，警告其潜在破坏力可能超过核武器。尽管核武器具有毁灭性，但它们不具备人工智能所具有的自主启动、 自主选择目标的能力。Kissinger建议美中启动高科技安全对话，并建立机构，负责及时通报危险并降低风险。随着大模型的涌现，人工智能的战略重要性进一步提升。我国于2017年发布了《新一代人工智能发展规划》， 明确到2030年，要将我国人工智能推向世界领先水平。2022年，科技部等六部门发布了《关于促进经济高质量发展的人工智能应用指导意见》， 随后又公布了《关于支持建设新一代人工智能示范应用场景的通知》。2023年， 国家信息中心发布《智能计算中心创新发展指南》，指出智算中心要围绕“算力生产、算力聚合、算力调度、算力释放”核心业务功能，为各行业领域人工智能应用提供稳定的技术支撑，打造可持续发展的算力生态。同年，国家 自然科学基金委员会发布“集成芯片前沿技术科学基础”重大研究计划，集中关注集成芯片前沿技术的科学基础，包括芯粒的数学描述和组合优化理论、大规模芯粒并行架构设计自动化、 以及芯粒尺度的多物理场耦合机制与界面理论。2 符号人工智能与机器学习感知、学习、推理、协作是典型的智能行为，涵盖了数据分析、机器学习、 自动推理、智能决策等核心领域，与人工智能的起源、成就与发展相辅相成。人工智能的起源可追溯至20世纪50年代， 当时计算机科学家开始探索让计算机具备类似人类思考能力的可能性：能否通过数据自动学习规则，而无需程序员制定规则?人工智能旨在自动化执行通常由人类执行的智力任务。这一领域涵盖了符号人工智能和机器学习等方法， 同时也包括一系列不涉及深度学习的高效技术（图1）。图1 本文所介绍的人工智能领域与模型的关系脉络2.1 符号人工智能在人工智能领域，符号人工智能（Symbolic Artificial Intelligence）是指所有基于问题、逻辑和搜索的高级符号（人类可读）表示的方法的集合。符号人工智能使用了诸如逻辑编程、产生式规则、语义网络和框架等工具 ，并发展了诸如基于知识的系统（特别是专家系统）、符号数学、 自动定理证明器、本体论、语义网以及自动规划和调度系统等应用。符号人工智能范式产生了在搜索、符号编程语言、代理程序、多代理系统、语义网以及形式知识和推理系统的优势和局限性方面的重要思想。计算机先驱Babbage提出了差分机与分析机的设计概念，并部分实现。尽管当时还未出现通用计算的概念，这些设计被认为是一种使用机械操作来执行计算的方法，而非现代意义上的计算机。诗人、数学家Lovelace发表了分析机的第一段算法，因此被公认为史上第一位程序员。她将分析机称为机械式通用计算机，并认为其具有无限潜力，但不可能有真正的智能。Turing提出了图灵测试和塑造人工智能关键概念，质疑Lovelace的论断。计算机是否能够超越人类的指令，进行自主学习?Turing认为能。这个问题推动了机器学习的发展，从经典的规则驱动的编程转变为数据驱动的编程，开启了人工智能新时代的大门。从20世纪50年代到80年代末，许多专家倾向于通过让程序员手工制定一组庞大的明确规则来实现人类水平的人工智能。这种方法被称为符号人工智能，是当时人工智能的主导范式，尤其在20世纪80年代的专家系统热潮中达到巅峰。1959年，数理逻辑学家王浩设计了一个程序，利用计算机证明了Russell和Whitehead的巨著《数学原理》中的数百个命题逻辑定理，标志着用计算机进行定理证明的可能性。机器证明是指利用计算机自动推理，来完成数学或逻辑定理证明。它将待证明的定理或命题表示为形式化的数学语言或逻辑表达式，并利用计算机执行一系列逻辑推理和推导步骤，从给定的事实、规则或前提出发，自动地得出新的结论或推断。它是一种基于逻辑或数学规则的推理过程，旨在模拟人类的推理能力。数学家吴文俊从中国古代数学历史中总结出了算法的思想，将几何定理证明通过建立多项式方程变成代数运算，再用计算机来处理代数运算。1977年，吴先生研究了初等几何判定问题的机器证明，进而建立了多项式组特征列的概念，提出了多项式组的“三角化整序法”，实现了高效的机器几何定理证明，在国际数学界被称为“吴方法”，推动了机械化证明的发展，被应用到机器人学、计算机图形学、工程设计等领域。2.1 机器学习尽管符号人工智能在解决明确定义的逻辑问题（如国际象棋）方面取得成功，但面对更复杂和模糊的问题，如图像分类、语音识别和语言翻译时，通过手工制定明确规则变得非常困难。于是，一种新的方法崭露头角，取代了符号人工智能的主导地位，那就是机器学习。这种方法不再依赖手工编码的规则，而是通过从数据中学习和提取模式来适应各种任务，这种转变使其能够处理更加复杂的问题，推动了人工智能的快速发展。机器学习通过训练而非显式编程来执行任务，接收大量与任务相关的示例数据，并通过这些数据找到统计结构，最终实现自动化执行任务的能力。机器学习模型有三个要素：输入数据，预期输出的示例以及衡量模型表现的方法。输入数据是训练和测试机器学习模型的数据，预期输出示例是指与输入数据相对应的期望输出，在图像任务中，输出可以是图片的标签。衡量模型表现则是通过测量结果与预期输出之间的差异来体现。通过模型参数调整来最小化差异，该过程即为模型的学习过程。表示学习（Representation Learning）是机器学习领域的一个重要概念，指的是通过学习将数据转换为有效的内部表征或特征表示的过程。这种转换能够帮助模型更好地理解数据，并使得数据更适合用于后续的任务，如分类、 回归、聚类等。表示学习的目标是找到一种能够最大程度地保留数据特征和结构的表示方式，从而提高模型的性能和泛化能力。表示学习方法可以是监督式或无监督式的，也可以是半监督式的，具体取决于所使用的数据和任务类型。浅层学习是机器学习中的一大类方法，通常指的是使用相对较少的层或参数的机器学习模型。这些模型通常由少量的隐藏层组成，层之间的连接较简单，参数数量有限。浅层神经网络或者经典的机器学习模型，如线性回归、逻辑回归、支持向量机和简单的人工神经网络等。浅层学习经常与特征工程相结合，被广泛应用于回归、聚类等任务。朴素Bayes算法等概率建模方法属于经典的机器学习方法。在20世纪90年代，浅层神经网络开始受到研究人员的重视， 随后核方法、随机森林等高效方法也相继被提出。由于其简单的结构和较少的参数，浅层学习模型通常易于理解和解释，并且在数据量较小或特征维度较低的情况下表现良好。然而，对于复杂的、非线性的问题，浅层学习模型的性能可能受到限制，因为它们缺乏对复杂数据模式的学习能力。朴素Bayes 模型（Naive Bayes Model）是基于 Bayes 定理与特征条件独立假设的分类方法。该算法假设输入模型的特征都是独立的， 因此称为“朴素”。Bayes定理及相关统计学基础可以追溯到18世纪，而朴素Bayes模型的应用早在计算机出现之前几十年就已存在。Logistic回归是另一个相关的分类算法，被视为现代机器学习的入门算法，至今仍然是数据分类任务的常用选择。Logistic回归是判别式模型，估计的是条件概率分布。朴素Bayes模型是生成式模型，估计的是联合概率分布，然后再得到后验概率，再利用它进行分类。神经网络是一种符号之外的方法。20世纪50年代就开始了小规模的神经网络研究，尝试训练大型神经网络一直是挑战。但在20世纪80年代中期，反向传播算法的重新发现改变了这一局面。1989年， 贝尔实验室的Yann LeCun成功应用了卷积神经网络和反向传播算法于手写数字分类，创造了LeNet网络，在20世纪90年代被美国邮政局用来自动读取邮件信封上的邮政编码。然而，直到大数据变得普遍之前，与其他方法相比，神经网络的性能并不好。核方法利用核函数计算特征空间中所有数据之间的内积，避免了线性学习算法学习非线性函数或决策边界所需的显式映射，称为“核技巧”。其中，支持向量机（Support Vector Machine，SVM）最为著名，旨在通过找到良好的决策边界将训练数据分隔成两个类别。SVM 以最大化边距为目标，通过将数据映射到高维空间并尝试最大化超平面与每个类中最近的数据点之间的距离来计算决策边界，使得边界能够很好地推广到训练数据集之外的新样本。Vapnik和Chervonenkis早在1964年就用最大间隔超平面构造了一个线性分类器。而现代版本的SVM由Cortes和Vapnik于20世纪90年代初在Bell实验室开发，使用了核技巧。随机森林和梯度提升机是处理非感知数据的顶尖算法。决策树是一种类似流程图的结构，易于可视化和解释。自2000年代开始，决策树受到广泛关注，到了2010年代比核方法更受青睐。随机森林（Random Forest）引入了稳健、实用的决策树学习方法，通过集成大量决策树输出解决各种问题。梯度提升机（Gradient Boosting Machine）是基于集成弱预测模型的机器学习技术，使用梯度提升改进模型表现，大多数情况下严格优于随机森林， 同时具有相似的属性，常用于Kaggle竞赛。浅层学习模型层数较少，参数较少，难以直接处理复杂、高维度的原始感知数据。因此，通常需要进行特征工程， 即转换或提取原始感知数据以适应特定任务。然而，特征工程耗时且效果依赖于任务和数据质量，导致模型泛化能力下降。特征工程可能会引入人为偏见，导致模型在其他数据集上的泛化能力下降。相比之下，深度神经网络通过更深、更复杂的网络结构能够学习到更抽象和复杂的特征表示， 因此在处理大规模数据和复杂任务时往往表现更好。深度神经网络能够自动学习特征表示，减少对特征工程的需求，从而提高在感知问题中的泛化能力和适应性图2 浅层学习与深度学习的区别。浅层学习模型层数与参数较少，通常需要进行特征工程，转换原始感知数据。深度神经网络通过更深、更复杂的网络结设计，减少对特征工程的需求，提高了对感知任务的泛化能力和适应性
SSE (Server-Sent Events) 和 WebSocket 都是用于实现实时通信的技术，但它们有一些关键的区别通信方向：SSE：单向通信（服务器到客户端）WebSocket：双向通信（服务器到客户端，客户端到服务器）协议：SSE：使用 HTTP 协议WebSocket：使用 WebSocket 协议（初始握手通过 HTTP 升级）连接：SSE：使用标准 HTTP 连接，保持长连接WebSocket：建立专用的 WebSocket 连接数据格式：SSE：仅支持文本数据，通常使用 UTF-8 编码WebSocket：支持文本和二进制数据自动重连：SSE：浏览器原生支持自动重连WebSocket：需要手动实现重连逻辑跨域支持：SSE：受同源策略限制，需要 CORS 支持WebSocket：天生支持跨域服务器推送：SSE：设计用于服务器推送场景WebSocket：可用于服务器推送，但主要用于双向通信实现复杂度：SSE：相对简单，易于实现和维护WebSocket：较复杂，需要处理更多的连接状态浏览器支持：SSE：现代浏览器广泛支持，但 IE 不支持WebSocket：几乎所有现代浏览器都支持适用场景：SSE：适用于通知、实时新闻、股票行情等单向数据流WebSocket：适用于聊天应用、多人游戏等需要频繁双向通信的场景防火墙穿透：SSE：使用标准 HTTP，较少遇到防火墙问题WebSocket：可能被某些防火墙阻止资源消耗：SSE：相对轻量，服务器资源消耗较少WebSocket：维护全双工连接，可能消耗更多服务器资源选择使用 SSE 还是 WebSocket 取决于你的具体需求。如果只需要服务器向客户端推送数据，SSE 可能是更简单、更轻量的选择。如果需要双向通信或处理大量实时数据，WebSocket 可能更合适
详细分享10款实用的AI工具，遍布多个行业领域和多种使用场景，说不定其中的某个神器就能解决你现在面临的难题，详细介绍和工具链接都在AI智库中。
起步-Three.js WebGL兼容性检查（WebGL compatibility check）
WebGL兼容性检查（WebGL compatibility check）虽然这个问题现在已经变得越来不明显，但不可否定的是，某些设备以及浏览器直到现在仍然不支持WebGL 2。以下的方法可以帮助你检测当前用户所使用的环境是否支持WebGL 2，如果不支持，将会向用户提示一条信息。导入 WebGL 兼容检测模块，并在尝试渲染任何内容之前运行以下程序。import WebGL from 'three/addons/capabilities/WebGL.js'; if ( WebGL.isWebGL2Available() ) { // Initiate function or other initializations here animate(); } else { const warning = WebGL.getWebGL2ErrorMessage(); document.getElementById( 'container' ).appendChild( warning ); }[button color="success" icon="" url="https://webglreport.com/" type=""]在线测试地址[/button]