
在刚开始接触到大模型应用时,普遍认为Prompt只是简单的文字描述,只需随意编写语句,就能驱动大模型完成问答、改写、总结等各类任务。在一般场景中,单条简短的Prompt确实可以实现基础效果,Prompt开发无技术门槛,无需体系化构建与流程设计。但在真实的项目迭代、场景落地、企业部署过程中,单一、零散的Prompt弊端会彻底暴露:效果随机性极强、输出风格不可控、无法追溯问题根源,一旦遇到多步骤链式推理、私有知识库问答、多模型联动等复杂场景,单纯堆砌文本式的Prompt写法完全无法适配需求。
事实上,高质量的大模型应用落地,Prompt从来不是简单的文字拼接,而是一套具备严谨逻辑、分层架构、可迭代优化的专业构建体系。零散Prompt之所以难以落地,核心问题不在于提示词文本本身,而在于缺乏标准化的流程管控、节点拆分与逻辑固化。传统粗放式的Prompt开发模式,没有分层设计、没有链路追溯、没有模块解耦,导致AI任务只能单次触发、无法复用迭代,对应用的实际效果也大打折扣。而Prompt Flow的出现,彻底补齐了这一行业短板,它重新定义了Prompt工程化开发模式,将单一的文本提示升级为节点化编排、流程化调度、可视化管控的完整工作流,让Prompt构建有规范、有逻辑、可调试、可落地。

Prompt Flow是一个大模型应用流程开发框架,主打低代码流程编排、可视化调试、工程化落地三大核心能力。不同于传统单纯编写提示词的开发模式,Prompt Flow以“流程节点”为核心单元,将大模型应用的完整链路拆分为独立模块,实现任务解耦、逻辑清晰、可复用、可追溯。核心特点可分为三点:
为方便通俗理解,可将传统LLM开发与Prompt Flow开发做明确对比,两者核心差异:
Prompt Flow具备极强的通用性,适配市面绝大多数主流大模型接口,兼容标准化调用规范,凭借良好的兼容性与工程化能力,Prompt Flow目前已成为企业级LLM应用开发的主流框架之一。
Prompt Flow相比传统纯Prompt开发方式,拥有五大不可替代的核心优势,也是其成为应用实践首选的核心原因:
流程可视化,问题排查零门槛:
任务解耦,模块可复用可迭代:
标准化规范,适配团队协作开发:
原生支持批量测试与效果评估:
一键部署,无缝对接线上业务:
Prompt Flow 适配绝大多数大模型落地场景,覆盖轻量化个人开发、中度复杂AI任务、企业级线上业务全维度场景,实用性极强:
只要是需要多步骤执行、可追溯、可迭代优化、可线上部署的大模型应用,均可以通过Prompt Flow实现,完美适配个人开发、团队项目、企业落地全场景。
Prompt Flow所有开发流程均遵循统一的工程规范,整体架构分工明确、模块解耦、层级清晰,是实现大模型应用可复用、可调试、可部署的核心前提。标准化的架构规范,让不同开发者、不同团队的LLM应用拥有统一的开发范式,彻底解决传统Prompt开发无序、无法协作、无法迭代的问题。
Prompt Flow采用模块化、分层式的标准架构,将配置、流程定义、业务逻辑完全拆分。整体架构严格遵循“配置与逻辑分离、节点与流程分离”的工程思想,各层级模块职责独立、互不耦合,能够适配本地调试、团队协作、线上部署、二次迭代全场景,是企业级大模型应用开发的通用标准架构。
Prompt Flow 依靠标准化配置体系实现流程自动化调度与模型对接,所有配置与业务逻辑完全解耦,从架构层面提升项目的安全性、可维护性与可拓展性。整套配置体系分为三类核心能力,各司其职、相互配合,支撑整套AI工作流稳定运行:

三类标准化配置相辅相成,构成Prompt Flow运行的基础支撑,让大模型应用开发告别随意编写的粗放模式,走向规范化、体系化、工程化的开发模式。
流程调度配置是Prompt Flow框架的核心中枢,掌控整套工作流的执行逻辑,是实现节点化编排、自动化运行、可视化管控的关键所在。其核心作用是将零散的业务节点串联为完整的AI流水线,统一管控执行顺序、数据传递、输入输出关联,整体分为三大标准化模块,逻辑闭环、层级清晰:

Prompt Flow工作流的核心设计思想是任务拆解、单责独立、流水线执行,将复杂的大模型应用任务,拆分为多个职责单一、互不耦合的独立节点。各节点可独立调试、独立迭代、独立替换,通过框架自动完成数据串联与流程调度。
该节点是整套AI工作流的前置预处理环节,核心通用能力为文本预处理、检索匹配、上下文构建。主要用于解决大模型知识滞后、无私有领域数据、内容易幻觉的行业痛点,为模型推理提供真实、可靠的参考依据,是所有知识库问答、领域问答类LLM应用的通用前置模块。
该节点的通用执行逻辑分为三层标准化流程,适配绝大多数检索增强类AI场景,层层递进、逻辑通用:

该节点的核心技术价值是实现AI问答有据可依、推理有源可溯,从架构层面解决大模型幻觉、内容编造、答案无依据的核心问题。该预处理逻辑可通用适配所有RAG问答、领域知识库问答、智能咨询等场景,可根据业务需求自由拓展检索数据源与匹配规则。
该节点是整套Prompt Flow工作流的核心推理中枢,承担模型配置加载、提示词工程组装、大模型接口调用、推理结果解析、异常容错处理的全流程核心能力。作为LLM应用的算力与推理核心,该节点适配所有兼容通用规范的大模型,具备极强的通用性、兼容性与稳定性,是标准化LLM应用的核心通用模块。
通用模块架构:节点遵循“配置解耦、逻辑分层”的设计思想,分为两大通用核心模块,适配所有模型对接场景:
核心模块拆解:节点分为两大核心函数,分工明确、解耦性强:
该节点是Prompt Flow工作流的标准化收尾模块,核心通用价值是全链路数据整合、结果标准化、日志可追溯,是区分传统零散Prompt调试与工程化LLM开发的关键标识。该节点统一汇总全流程链路数据,规整输出格式、留存执行日志,适配调试复盘、线上运维、业务展示、效果迭代等通用场景。通用核心特性:

该示例基于 Prompt Flow 构建"文档问答"DAG 流程,完整演示大模型应用的三环节执行链路:
1.1 整体目录结构
doc_qa_flow/ ├─ flow.dag.yaml # 流程定义(3节点:load_context → qa_prompt → output_summary) ├─ inputs.json # 测试输入 ├─ .env # 混元 API 配置(密钥/URL/模型) ├─ load_context.py # 环节1:上下文加载 ├─ qa_api.py # 环节2:混元模型调用 └─ output_summary.py # 环节3:结果汇总
1.2 环境配置文件(.env)
TENCENT_API_KEY=sk-ymL****************************Od2ilaYFM7
HUNYUAN_BASE_URL=https://tokenhub.tencentmaas.com/v1
HUNYUAN_MODEL=hy31.3 测试输入文件(inputs.json)
{
"question": "Prompt Flow是什么?"
}1.4 流程定义文件(flow.dag.yaml)
inputs:
question:
type: string
description: 用户提问
nodes:
- name: load_context
type: python
source:
type: code
path: load_context.py
inputs:
question: ${inputs.question}
- name: qa_prompt
type: python
source:
type: code
path: qa_api.py
inputs:
context: ${load_context.output}
question: ${inputs.question}
- name: output_summary
type: python
source:
type: code
path: output_summary.py
inputs:
question: ${inputs.question}
context: ${load_context.output}
answer: ${qa_prompt.output}
outputs:
answer:
type: string
reference: ${output_summary.output}1.5 上下文加载节点(load_context.py)
from promptflow.core import tool
@tool
def run(question: str):
"""环节1:模拟加载知识库上下文(真实项目可替换为向量库检索)"""
print("=" * 56)
print("[环节1] load_context - 上下文加载开始")
print(f" 用户提问: {question}")
# 1. 关键词提取
print(" 步骤1/3 提取检索关键词...")
keywords = question.strip().replace("?", "").replace("?", "")
print(f" 关键词: {keywords}")
# 2. 模拟向量库检索
print(" 步骤2/3 向量库检索相似文档...")
doc_list = [
"Prompt Flow用于搭建、评估大模型应用流程,支持可视化调试、批量测试与一键部署AI服务。",
"Prompt Flow提供流程可视化设计器,支持拖拽式构建LLM应用。",
]
top_doc = doc_list[0]
print(f" 命中 {len(doc_list)} 条文档,选取最高相似度片段(0.92)")
# 3. 上下文合并
print(" 步骤3/3 合并上下文片段...")
print(f" 上下文内容: {top_doc}")
print("[环节1] load_context - 上下文加载完成")
print("=" * 56)
return top_doc1.6 模型接口调用节点(qa_api.py)
"""环节2:混元模型调用节点(从 .env 读取密钥,调用 OpenAI 兼容接口)"""
import json
import os
import urllib.request
from promptflow.core import tool
def _load_env():
"""手动加载 .env(零依赖),已存在的环境变量优先"""
env_path = os.path.join(os.path.dirname(__file__), ".env")
if not os.path.exists(env_path):
return
with open(env_path, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
key, _, value = line.partition("=")
os.environ.setdefault(key.strip(), value.strip().strip('"').strip("'"))
@tool
def run(context: str, question: str) -> str:
"""基于参考上下文,调用混元模型生成回答"""
print("=" * 56)
print("[环节2] qa_prompt - 大模型生成开始")
# 1. 加载配置
print(" 步骤1/4 加载模型配置(.env)...")
_load_env()
api_key = os.environ.get("TENCENT_API_KEY") or os.environ.get("HUNYUAN_API_KEY")
base_url = os.environ.get("HUNYUAN_BASE_URL", "https://tokenhub.tencentmaas.com/v1")
model = os.environ.get("HUNYUAN_MODEL", "hy3")
print(f" 模型: {model} | 接口: {base_url}/chat/completions")
print(f" 密钥: {api_key[:6]}**** (已脱敏)")
# 2. 组装提示词
print(" 步骤2/4 组装 system/user 消息...")
messages = [
{"role": "system", "content": "你是专业文档问答助手。严格依据提供的参考上下文回答用户问题,禁止编造不存在的信息。"},
{"role": "user", "content": f"参考上下文:\n{context}\n\n用户问题:{question}"},
]
print(f" system: 严格依据上下文回答,禁止编造")
print(f" user : 上下文[{len(context)}字] + 问题[{question}]")
# 3. 发起请求
print(" 步骤3/4 调用混元模型推理...")
req = urllib.request.Request(
f"{base_url}/chat/completions",
data=json.dumps({"model": model, "messages": messages}).encode("utf-8"),
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
)
try:
with urllib.request.urlopen(req, timeout=30) as resp:
data = json.loads(resp.read().decode("utf-8"))
answer = data["choices"][0]["message"]["content"]
print(f" 请求成功,消耗 tokens: {data.get('usage', {}).get('total_tokens', 'N/A')}")
# 4. 返回结果
print(" 步骤4/4 解析并返回回答...")
print(f" 回答: {answer[:60]}...")
print("[环节2] qa_prompt - 大模型生成完成")
print("=" * 56)
return answer
except urllib.error.HTTPError as e:
err_msg = f"[HTTP {e.code}] {e.read().decode('utf-8', errors='ignore')[:200]}"
print(f" [错误] {err_msg}")
print("=" * 56)
return err_msg
except Exception as e:
print(f" [错误] {e}")
print("=" * 56)
return f"[ERROR] {e}"1.7 结果汇总输出节点(output_summary.py)
from promptflow.core import tool
@tool
def run(question: str, context: str, answer: str) -> str:
"""环节3:结果汇总输出"""
print("=" * 56)
print("[环节3] output_summary - 结果汇总")
print(f" 问题: {question}")
print(f" 上下文来源: 本地文档库")
print(f" 回答: {answer}")
print("=" * 56)
return (
f"[执行汇总]\n"
f"问题: {question}\n"
f"回答: {answer}"
)整套Prompt Flow工作流遵循"输入→上下文加载→模型推理→结果汇总→输出"的标准化流水线逻辑,执行顺序固定、参数传递清晰、无逻辑漏洞,完整全链路执行步骤:

整套流程全程全自动串联执行,无需人工干预,每一步的输入输出、运行状态、报错信息均可可视化查看,极大提升LLM应用的调试与迭代效率。
基于本次完整源码运行项目,可得到标准化、可追溯的日志输出与精准问答结果,实战运行效果优势明显。
运行命令:
pf flow test --flow . --inputs question="Prompt Flow是什么?"输出结果:
Prompt flow service has started... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO Start executing nodes in thread pool mode. 2026-08-17 22:35:16 +0800 21372 execution.flow INFO Start to run 3 nodes with concurrency level 16. 2026-08-17 22:35:16 +0800 21372 execution.flow INFO Executing node load_context. node run id: 0fa25423-edb1-4938-9e70-8862763cb8a8_load_context_0 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> [环节1] load_context - 上下文加载开始 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 用户提问: Prompt Flow是什么? 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 步骤1/3 提取检索关键词... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 关键词: Prompt Flow是什么 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 步骤2/3 向量库检索相似文档... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 命中 2 条文档,选取最高相似度片段(0.92) 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 步骤3/3 合并上下文片段... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> 上下文内容: Prompt Flow用于搭建、评估大模型应用流程,支持可视化调试、批量测试与一键部署AI服务。 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> [环节1] load_context - 上下文加载完成 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [load_context in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:16 +0800 21372 execution.flow INFO Node load_context completes. 2026-08-17 22:35:16 +0800 21372 execution.flow INFO Executing node qa_prompt. node run id: 0fa25423-edb1-4938-9e70-8862763cb8a8_qa_prompt_0 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> [环节2] qa_prompt - 大模型生成开始 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 步骤1/4 加载模型配置(.env)... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 模型: hy3 | 接口: https://tokenhub.tencentmaas.com/v1/chat/completions 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 密钥: sk-ymL**** (已脱敏) 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 步骤2/4 组装 system/user 消息... 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> system: 严格依据上下文回答,禁止编造 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> user : 上下文[48字] + 问题[Prompt Flow是什么?] 2026-08-17 22:35:16 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 步骤3/4 调用混元模型推理... 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 请求成功,消耗 tokens: 98 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 步骤4/4 解析并返回回答... 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> 回答: 根据参考上下文,Prompt Flow 是用于搭建、评估大模型应用流程的工具,它支持可视化调试、批量测试与一键部署 AI... 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> [环节2] qa_prompt - 大模型生成完成 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [qa_prompt in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:17 +0800 21372 execution.flow INFO Node qa_prompt completes. 2026-08-17 22:35:17 +0800 21372 execution.flow INFO Executing node output_summary. node run id: 0fa25423-edb1-4938-9e70-8862763cb8a8_output_summary_0 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> [环节3] output_summary - 结果汇总 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> 问题: Prompt Flow是什么? 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> 上下文来源: 本地文档库 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> 回答: 根据参考上下文,Prompt Flow 是用于搭建、评估大模型应用流程的工具,它支持可视化调试、批量测试与一键部署 AI 服务。 2026-08-17 22:35:17 +0800 21372 execution.flow INFO [output_summary in line 0 (index starts from 0)] stdout> ======================================================== 2026-08-17 22:35:17 +0800 21372 execution.flow INFO Node output_summary completes. { "answer": "[执行汇总]\n问题: Prompt Flow是什么?\n回答: 根据参考上下文,Prompt Flow 是用于搭建、评估大模型应用流程的工具,它支持可视化调试、批量测试与一键部署 AI 服务。" }

输出说明:
以上示例采用模拟知识库检索逻辑,仅适用于基础演示,真实企业落地场景中,可快速升级为完整成熟的RAG知识库系统:
基础三节点问答流程可自由拓展迭代,适配各类复杂AI任务场景,可新增的常用拓展节点与功能如下:
区别于传统零散的Prompt调试,Prompt Flow真正实现了大模型应用的工程化、标准化、可视化、可落地,解决了LLM开发不稳定、难调试、难复用、难部署的核心痛点。
对于我们开发者而言,大模型开发真的不只是简单写写提示词那么简单。刚开始我们都以为Prompt靠语感随便写就行,但真正落地场景后就会发现,零散的Prompt极不稳定、没法迭代、更不能商用,而Prompt Flow的出现,刚好补齐了传统Prompt开发的所有短板。掌握Prompt Flow是从“只会写提示词”进阶到“会工程化落地AI项目”的关键一步。它降低了复杂LLM应用的开发门槛,让我们都能快速搭建稳定、高效、可迭代的大模型业务流程。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。