元鉴
返回中文阅读流

NVIDIA Developer Blog

掌握代理技术:AI 代理定制

自主 AI 代理正在承担企业的所有类型工作:路由物流车队、分诊支持工单、生成代码和编排...

中文内容

已翻译official company source英文原文2026-05-26

自主 AI 智能体正在为企业承担各种类型的工作:调度物流车队、分流支持工单、生成代码,以及编排多步骤工作流。你如何将一个通用模型打造成在特定任务上表现卓越的模型?定制化能够为智能体提供合适的能力。

本文介绍了九种用于定制 AI 智能体的技术,并给出了为你的用例选择合适技术的标准。要了解 AI 智能体的评估,请参阅 Mastering Agentic Techniques: AI Agent Evaluation。

为什么有必要定制 AI 智能体?

基础模型基于所使用的训练数据集,具备跨用例和模态的广泛语言与推理能力。模型能够理解语言并遵循指令,但专门化工作流通常需要受限、专业或专有的上下文。

自定义智能体通过塑造智能体在约束条件下的推理方式、选择哪些工具、如何组织输出以及执行领域工作流的可靠性,来解决这一挑战。

智能体自定义使用了哪些技术?

智能体自定义技术涵盖从简单的提示词修改到强化学习(RL)等高级技术,每种技术在成本、复杂性和能力方面都有取舍。最佳方法取决于你需要的是更好的信息、指令,还是从根本上更可靠的行为。以下章节将介绍主要方法。

提示词工程和系统提示词

提示词工程只需要在推理时更改提供给智能体的提示词。这是最易获取的方式,通常也是用于定制智能体行为的第一项技术。标准智能体可能需要人工调优系统提示词。像 OpenClaw 这样先进的自进化智能体会使用由智能体自身更新的提示词,因为它会随着时间推移修订记忆和指令,从而形成一个自定制的智能体。

工作原理

你编写一个系统提示词,用于定义智能体的角色、可用工具、输出格式和行为约束。模型会利用其现有能力遵循这些指令。

以下是一个系统提示词示例:

You are an expert CLI assistant. Translate user requests into structured JSON tool 
calls. Respond with ONLY a JSON object. Set unused flags to null.

何时使用

  • 快速迭代智能体行为
  • 处理用自然语言清晰描述的自定义任务
  • 在进一步投入之前进行原型设计或实验

局限性

  • 对于复杂的推理链,提示词可能会变得脆弱
  • 随着指令变得更长、更细致,性能会下降
  • 模型可能无法始终遵循复杂的格式要求
  • 不会扩展模型的核心能力
  • 切换驱动智能体的模型需要重新测试提示词

每个智能体项目都需要迭代式的提示词工程和优化。然而,要让智能体可靠地产生结构化输出、遵循特定领域逻辑或处理边界情况,可能需要进一步优化。请注意,自进化智能体会使用测试框架来优化自身的提示词。

检索增强生成

检索增强生成(RAG)通过从外部知识源(例如向量数据库)动态检索相关且最新的信息,解决基础模型的知识局限性。这些检索到的内容会在推理时注入模型上下文中,从而为智能体提供依据。这显著减少了幻觉,并使其能够回答有关自定义、专有或快速变化领域的问题,而无需重新训练模型。

工作原理

当用户查询智能体系统时,系统会在向量数据库或文档存储中搜索与查询相关的数据。随后,检索到的内容会与用户查询一起发送给模型,模型基于二者进行推理并返回有依据的响应。

使用场景

  • 让智能体获取最新或专有知识
  • 通过将回答建立在权威来源基础上来减少幻觉
  • 使用频繁变化的知识库,而重新训练并不现实

局限性

  • 由于检索而增加延迟
  • 不会增加新的推理能力,只是提供新的信息供推理使用
  • 上下文窗口限制会约束可使用的检索信息量

标准 RAG 正日益演变为智能体式 RAG,其中智能体会自主决定检索哪些文档、重新表述哪些查询,以及何时已经收集到足够信息。若想在浏览器中获得交互式编码体验,请查看“How to Build an Agentic RAG Application”学习模块。

智能体工具和技能注入

工具和技能注入通过为智能体提供工具或技能来扩展其能力:

  • 工具:与外部软件交互的可调用函数
  • 技能:用于完成任务的领域特定指令

这些模块化、可复用的组件使得无需修改通用模型的底层权重,就能轻松将其定制用于专门领域。

工作原理

网页搜索、文件 I/O、shell 执行和 API 调用等工具在智能体的系统提示或上下文中定义。技能可能包含指令、脚本和资源,并会被加载到智能体的上下文中。

以下示例文件目录展示了用于事件分诊的技能可能所在的位置:

skills/
  incident-triage/
    SKILL.md
    README.md
    scripts/
      collect_logs.sh
      parse_logs.py
      summarize_findings.py
    templates/
      triage_report.md
    examples/
      sample_incident.json

SKILL.md 可能如下所示:

# Skill: Incident Triage (Log Collection + Summary)

## Purpose
Collect diagnostic logs for a given service, extract key error signals, and produce a short
triage report with:
- suspected root cause(s)
- top error signatures
- timeline highlights
- immediate next steps

## When to Use
Use this skill when the user asks to:
- investigate an outage / regression
- summarize logs for a service between two timestamps
- produce a quick incident report

## Inputs (Required)
- service_name: string (e.g., "payments-api")
- start_time: ISO8601 string (e.g., "2026-03-05T10:00:00Z")
- end_time: ISO8601 string (e.g., "2026-03-05T11:00:00Z")

## Inputs (Optional)
- environment: string (default "prod")
- log_source: string (default "journald")  # could be "file", "cloud", etc.
- output_dir: string (default "./out")
- redact: boolean (default true)

## Outputs
- {output_dir}/raw_logs.txt
- {output_dir}/events.jsonl
- {output_dir}/summary.md

## Workflow
1) Collect logs:
   - Run `scripts/collect_logs.sh` to fetch raw logs for the time window
2) Parse logs into structured events:
   - Run `scripts/parse_logs.py` to emit JSONL events (timestamp, level, message, signature)
3) Summarize:
   - Run `scripts/summarize_findings.py` to produce a markdown report using `templates/triage_report.md`

## Commands (How to Call)
### Step 1: Collect
```bash
bash scripts/collect_logs.sh \
  --service payments-api \
  --start "2026-03-05T10:00:00Z" \
  --end "2026-03-05T11:00:00Z" \
  --env prod \
  --out ./out/raw_logs.txt
```

何时使用

  • 扩展智能体能做什么,而不是它如何推理
  • 将你的智能体系统连接到外部软件、API 或其他第三方组件
  • 为智能体提供模块化、可组合的能力

局限性

  • 模型需要将工具调用作为基础能力
  • 复杂的工具编排可能需要通过微调来提高可靠性
  • 技能定义会占用上下文窗口空间

监督式微调

监督式微调(SFT)用于通过使用带标签的数据集调优模型权重,来修改预训练模型的行为。不同于以往在推理时定制智能体行为的技术,SFT 是在训练时执行的,会修改底层模型的行为。

工作原理

你需要组建一个示例数据集——每个示例都包含一个输入(自然语言请求)和理想输出(例如结构化的 JSON 工具调用)。模型会基于这些示例进行训练,学习复现所展示的行为。

NVIDIA NeMo Data Designer 等合成数据生成(SDG)工具可以加速这一过程,尤其是在手动标注示例稀缺的低资源领域。团队无需手工编写每一个训练示例,而是可以定义数据模式,并使用 LLM 生成多样化的高质量训练对。然后,使用 NVIDIA NeMo framework 等先进的微调框架,基于生成的数据集进行 SFT。

何时使用

  • 处理可访问的数据,用于定义明确且带有输出示例的任务
  • 为标注样本有限、且可以生成高质量合成数据以引导构建微调数据集的低资源领域定制模型
  • 要求模型可靠地产生特定输出格式(JSON 架构、工具调用、结构化数据)

局限性

  • 质量完全取决于训练数据的质量;模型会学习模仿,无论好坏
  • 如果数据不够多样化,可能会过拟合训练分布(灾难性遗忘)
  • 需要用于训练的计算资源

SFT 通常是智能体定制流程中第一个基于训练的步骤。它建立了一种基线行为,供下游对齐方法进一步优化。

参数高效微调

完整微调,例如对一个 90 亿参数模型进行微调,需要大量 GPU 资源来调整所有权重。参数高效微调(PEFT)方法,例如低秩适配(LoRA)和量化低秩适配(QLoRA),描述了一类可与 SFT 结合使用的更新机制,用于冻结大多数模型权重,同时只修改极小一部分参数。

这种方法在大幅降低多个专用 AI 模型存储开销的同时,保留了完整训练的大部分优势。PEFT 现在是实用型智能体微调的标准方法。

工作原理

LoRA 将小型可训练矩阵注入模型的注意力层和前馈层。你无需更新大型模型中的所有参数,只需训练其中一小部分。例如,NVIDIA Nemotron 3 Nano 总参数量为 300 亿,每次前向传递约有 35 亿个活跃参数。使用 LoRA 时,大型基础模型保持不变,你可以为不同任务、领域或客户切换不同的适配器。

QLoRA 在此基础上进一步发展,通过将基础模型量化为 4 位精度,使原本会超出可用 GPU 内存的模型也能够进行微调。在实践中,选择使用 LoRA 进行 SFT,是一种无需承担完整微调成本即可实现有效定制的快速途径。

一个需要多块高端 GPU 才能进行完整微调的模型,通常可以在单块 GPU 上进行 LoRA 微调。这让没有庞大计算预算的团队也能够实现定制化。

何时使用

  • GPU 资源有限的场景
  • 维护基础模型的多个专用版本
  • 需要快速迭代和快速训练周期

局限性

  • 重新训练模型权重的一部分会限制可实现的变化程度(质量上限)

直接偏好优化

虽然 SFT 模仿优质示例,但直接偏好优化(DPO)会基于成对的偏好比较来训练模型。偏好信号可以来自人工标注者、LLM 评判器、基于规则的验证器,或合成生成的偏好数据,因为 DPO 不依赖偏好信号的来源。与基于人类反馈的强化学习(RLHF)不同,偏好信号无需单独的奖励模型,因此当已有 SFT 基线后,DPO 可作为有效的精炼步骤。

工作原理

你收集或生成针对同一输入的成对回复:一个为偏好回复,另一个为被拒绝回复。这些成对回复可以手动生成、从真实用户互动中筛选,或通过合成数据生成工作流生成。

例如,在低资源领域,LLM 可以根据评分标准、模式或验证器生成候选回复和偏好标签,然后由人工审查或抽样审核结果质量。DPO 算法使用成对对比损失为偏好回复分配更高概率,最大化偏好回复相对于被拒绝回复的相对对数概率。

何时使用

  • 使用主观回复质量(语气、风格、有用性、安全性)
  • 处理多个有效输出,但其中一些可衡量地优于其他输出
  • 无需完整 RLHF 的复杂性即可实现与偏好对齐
  • 在完成 SFT 后进一步提升输出质量

局限性

  • 需要高质量的偏好对,无论是人工编写的还是合成的
  • 如果未经验证,合成偏好数据可能会编码评判者偏见、薄弱的评分标准或不现实的示例
  • 对于具有严格可验证正确答案的任务,效果较差

强化学习

强化学习(RL)技术是机器学习的一个子类。以下介绍的技术是 RL 的变体,可专门用于定制智能体及其背后的 LLM。

基于人类反馈的强化学习

RLHF 是使语言模型与人类偏好对齐的最强大但也最耗费资源的技术之一。它采用两阶段流程:首先,训练一个奖励模型(一个独立的神经网络)来预测人类偏好;然后,在强化学习训练期间使用该模型作为自动评判器来为输出打分。这有助于捕捉语气、有用性和安全性等细微的质量标准。

工作原理

人工标注者按质量对模型输出进行排序。这些排序用于训练一个预测人类偏好的奖励模型。随后,使用强化学习算法训练智能体,使其在保持接近其原始行为的同时,最大化奖励模型的评分。

何时使用

  • 协调无法通过简单指标捕捉的复杂对齐目标
  • 使用大量人工标注资源
  • 需要细致的行为塑造(安全性、有用性、避免伤害)

局限性

  • 实现复杂——需要同时管理多个模型(例如策略模型、参考模型、奖励模型、评论家模型)
  • 计算成本高,且容易出现训练不稳定
  • 奖励模型可能被钻空子或设定不当(奖励黑客)

具有可验证奖励的强化学习

RLHF 风格的方法依赖于学习得到的奖励模型,这些模型训练成本高昂,并且可能不够精确或容易被利用。设计奖励模型的流程和系统非常复杂。对于具有明确对错答案的任务——例如有效的 JSON、正确的 API 调用或通过测试——具有可验证奖励的强化学习(RLVR)可以从可靠的验证器提供可审计、可重复的奖励信号,从而减少这些学习得到的奖励模型所带来的一部分不确定性。

工作原理

RLVR 不再根据人类偏好来训练奖励模型,而是使用确定性的验证函数,以客观且透明的方式评估输出的正确性。

考虑一个经过训练、能够将自然语言翻译成 CLI 命令的智能体。一个验证函数会解析模型的 JSON 输出,检查命令是否正确,将每个标志与预期值进行比较,并计算精确的奖励分数:

  • 完全匹配:奖励 = +1.0
  • 命令正确,标志部分正确:奖励与标志准确率成正比
  • 命令错误或 JSON 无效:奖励 = -1.0

NVIDIA NeMo Gym 采用了这种方法,它提供验证端点,在训练过程中根据真实值对模型输出进行评分。

何时使用

  • 处理具有客观可验证正确输出的任务(结构化数据、CLI 命令、代码、数学推理、工具调用)
  • 需要透明、可审计的奖励信号
  • 需要提升推理质量,而不只是表层回答能力

局限性

  • 仅适用于具有确定性正确性标准的任务
  • 不适用于创造性、主观性或开放式生成
  • 需要构建验证基础设施(不过 NeMo Gym 等框架简化了这一点)

RLVR 是 DeepSeek-R1 突破性推理能力背后的一项关键技术,表明可验证奖励能够教会模型复杂的问题解决策略——有时甚至无需以任何监督微调作为起点。NVIDIA NeMo RL 和 NeMo Gym 等开放库可帮助开发者进行大规模训练。

组相对策略优化

组相对策略优化(GRPO)是一种高效的策略优化算法,可与 RLVR 自然搭配。它会针对每个提示生成多个补全,并用组相对基线取代 PPO 的评论家网络,以引导改进。这降低了计算开销,使训练保持稳定且有效。

工作原理

对于每个训练提示,GRPO 会从当前策略生成多个补全(通常为 4 到 64 个)。每个补全都会由奖励函数进行评分。GRPO 不像 PPO 那样使用评论家网络来估计基线,而是通过将每个补全的奖励相对于组内均值和标准差进行归一化,来计算其优势。优势高于平均水平的补全会得到强化;低于平均水平的补全则会被抑制。

何时使用

  • 正在应用 RLVR,并且需要一种高效的优化算法
  • 在计算资源受限的情况下工作
  • 需要稳定的 RL 训练,同时避免 PPO 评论器带来的复杂性

局限性

  • 需要为每个提示生成多个补全,相比监督方法会增加每步训练的计算量
  • 在组规模较小时,基于组的基线可能存在较大噪声,需要对组大小这一超参数进行额外调优
  • 有效性取决于设计良好的奖励函数;定义不佳的奖励会导致糟糕的策略更新

GRPO 是驱动 DeepSeek-R1 训练的优化算法。它正日益成为基于强化学习的智能体定制的默认选择,尤其是在与可验证奖励配合使用时。

什么是用于 AI 智能体定制的多阶段流水线?

在实践中,最有效的智能体定制会按顺序结合多种技术。下面概述了一个代表性流程的各个阶段。

阶段 1:提示工程加工具和技能加 RAG

从系统提示、工具和技能定义以及检索开始,以建立基线行为。

阶段 2:SDG

对于仅靠提示、工具和向量数据库无法实现的自定义能力,可以生成数据,通过训练来定制智能体。

阶段 3:SFT

SFT 教会模型自定义任务的基本词汇、格式和结构。

阶段 4:RLVR/GRPO 或 DPO

使用基于偏好的方法或强化学习来进一步优化 SFT 模型,以将质量提升到模仿学习所能达到的水平之上。选择哪种方法以及采用何种顺序取决于任务:

  • DPO 通常成本更低且更稳定,并且在存在偏好对(来自人类、LLM 评判器或基于规则的验证器)但没有可靠的标量奖励时效果良好。
  • 当输出可以被客观验证,并且需要将推理质量提升到仅靠偏好学习所无法达到的水平时,采用 GRPO 的 RLVR 是合适的工具。

这些并不是严格意义上的替代方案。常见模式是 SFT → DPO → RLVR。DPO 首先用于在 SFT 策略之上以较低成本对齐格式和风格,随后在存在可验证奖励的地方,由 RLVR 推动更高难度的推理能力提升。其顺序是一种设计选择,而不是固定配方。

阶段 5:评估与迭代

衡量任务成功率、工具调用准确性以及任何其他所需指标。利用结果对定制化阶段进行迭代,直到达到期望的性能。

这条流程体现了该领域正在趋同的一项原则:从轻量级开始,严格衡量,并且只有在数据显示有必要时才增加复杂性。

如何选择合适的智能体定制方法

有三个因素会影响定制方法:任务特征、可用资源和项目成熟度。

任务特征

如果你的智能体输出可以被客观验证(正确的 JSON、通过测试、有效的 API 调用),那么采用 GRPO 的 RLVR 很可能是杠杆效应最高的技术。如果质量具有主观性,DPO 更合适。如果任务定义明确,而模型只是需要示例来模仿,那么 SFT 可能就足够了。

可用资源

完整的 RLHF 需要大量计算资源和人工标注预算。基于 LoRA 的 SFT 可以在单块 GPU 上运行。提示词工程不需要计算资源。应根据你的基础设施选择相匹配的技术。

项目成熟度

早期阶段的项目应投入于提示词工程、评估基础设施和工具定义。一旦你拥有明确的指标、已识别的失败模式以及足够的数据来解决这些问题,基于训练的定制化就能发挥最大价值。

Diagram summarizing three factors for choosing an AI agent customization approach: task characteristics, available resources, and project maturity. These factors help determine whether to start with lightweight methods such as prompt engineDiagram summarizing three factors for choosing an AI agent customization approach: task characteristics, available resources, and project maturity. These factors help determine whether to start with lightweight methods such as prompt engine
图 1. 选择合适 AI 智能体定制方法的因素

开始进行 AI 智能体定制

智能体定制涵盖一系列方法;如果经过深思熟虑地应用,这些方法的效果会相互叠加。最成功的团队会从轻量级方法入手,尽早投入评估,并在测量结果显示有必要时叠加基于训练的技术。

定制与评估相辅相成,共同推动更好的结果。无法衡量,就无法改进。每一项定制决策——从提示词微调到一次 GRPO 训练运行——都应由清晰的指标驱动,并根据真实世界表现进行验证。

准备好定制你的智能体了吗?借助 NVIDIA NeMo 加速开发,它提供了一个集成工具包,涵盖:

  • 使用 NeMo Data Designer 生成合成数据
  • 使用 NeMo Automodel、NeMo Megatron-Bridge 和 NeMo RL 进行模型定制
  • 使用 NeMo Gym 构建可验证的奖励基础设施
  • 使用 NeMo Agent Toolkit 进行智能体编排和评估

这些工具旨在与现有的智能体框架集成,在无需从头重建的情况下,增加定制、评估和优化功能。

Like

标签

原文标题

Mastering Agentic Techniques: AI Agent Customization