提示工程无服务器架构的性能监控:架构师的指标体系
在Lambda函数中埋点,记录提示工程的特有指标(比如提示长度、上下文命中率),然后上报到监控系统。代码示例# 初始化客户端# 1. 记录开始时间# 2. 输入解析(阶段1)try:# 从Redis获取上下文(示例,需实际连接Redis)str。
提示工程无服务器架构性能监控实战:架构师的指标体系设计与落地
一、引言:大模型应用的“隐形痛点”
你花了一个月搭建的智能客服系统终于上线了。
- 用户反馈:“响应太慢了,等得我都要挂电话了!”
- 运维同学查监控:“Lambda函数执行时间5秒,但不知道是冷启动慢还是模型调用慢。”
- 财务同学吐槽:“这个月成本超了2倍,到底是哪里花多了?”
这不是你的错——传统无服务器监控指标,根本覆盖不了提示工程的特有场景。
当大模型成为应用的“核心大脑”,当提示工程(Prompt Engineering)从“写Prompt的技巧”升级为“应用层工程”,我们需要一套针对性的性能监控体系:
- 能拆解“提示渲染→模型调用→输出处理”的全链路瓶颈;
- 能关联“性能”与“成本”(毕竟大模型按Token计费);
- 能覆盖“上下文管理”“合规性检查”等提示工程特有环节。
这篇文章,我会用实战视角带你搭建这套体系——从“为什么需要”到“怎么设计”,从“数据收集”到“案例优化”,最终帮你实现:
精准定位瓶颈、平衡性能成本、提升用户体验。
二、基础概念:先理清三个关键问题
在开始设计指标前,我们需要先统一认知:什么是提示工程?无服务器架构在其中的角色?为什么监控要特殊处理?
2.1 提示工程不是“写Prompt”,而是“大模型应用的应用层工程”
很多人对提示工程的理解停留在“写更好的Prompt”——比如用“Chain of Thought”让模型更会推理,用“Few-Shot”让模型学习示例。但实际上,工业级提示工程是一套完整的应用层流程:
| 环节 | 作用 |
|---|---|
| 输入解析 | 将用户的自然语言输入(比如“我的快递到哪了?”)转换为结构化数据(比如提取订单号) |
| 提示渲染 | 将结构化数据填入预定义的Prompt模板(比如“查询订单{order_id}的物流状态”) |
| 上下文管理 | 维护多轮对话的历史记录(比如用户之前问过“退款流程”,现在问“退款到账时间”) |
| 模型调用 | 将渲染好的Prompt发送给大模型(比如Anthropic Claude、OpenAI GPT-4)并获取响应 |
| 输出处理 | 验证响应的合规性(比如是否包含敏感词)、格式化输出(比如转换为JSON返回给前端) |
简单来说:提示工程是“连接用户需求与大模型能力的桥梁”,而无服务器架构是这个桥梁的“基础设施”。
2.2 为什么用无服务器架构部署提示工程?
无服务器(Serverless)的核心优势——按需弹性、低运维、成本高效——完美匹配提示工程的场景需求:
- 按需弹性:应对突发流量(比如电商大促期间,客服请求量暴涨10倍),无服务器函数会自动扩容,无需手动调整服务器。
- 低运维:不用管服务器的部署、升级、故障恢复,开发者可以专注于提示工程本身。
- 成本高效:按“执行时间+调用次数”付费,闲置时不产生成本(比如深夜客服请求少,函数自动缩容到0)。
典型架构链路:
用户请求 → API Gateway(流量入口) → Lambda函数(提示工程核心逻辑) → 大模型API(比如AWS Bedrock、OpenAI API) → 返回响应。
2.3 传统无服务器监控的“盲区”
传统无服务器监控的核心指标是CPU使用率、内存使用率、执行时间、调用次数,但这些指标无法覆盖提示工程的特有痛点:
- 无法拆解提示工程的全链路:比如“执行时间5秒”,到底是“提示渲染花了1秒”还是“模型调用花了4秒”?
- 无法关联成本与提示长度:大模型按Token计费(比如Claude 3 Sonnet的输入Token费是$0.015/1K,输出是$0.075/1K),提示越长,成本越高——但传统监控不统计“提示的Token数”。
- 无法覆盖提示工程的质量指标:比如“输出是否合规”“上下文是否复用”,这些直接影响用户体验,但传统监控不关注。
结论:我们需要一套结合无服务器特性+提示工程特性的指标体系。
三、架构师的指标体系:四大核心维度
基于实战经验,我将提示工程无服务器架构的监控指标分为四大维度,覆盖“用户体验→资源成本→提示质量→系统可靠性”的全生命周期。
维度1:用户体验——最核心的“北极星指标”
用户体验是应用的生命线,对应的指标要直接反映用户的感受:“快不快?准不准?稳不稳?”
指标1:端到端响应时间(Total Response Time)
- 定义:从用户发送请求到收到响应的总时间。
- 拆解:
端到端时间 = API Gateway延迟 + Lambda冷启动时间 + 提示处理时间(解析→渲染→模型调用→输出) + 网络延迟。 - 重要性:用户能接受的响应时间是2秒以内(根据Google的研究,超过3秒会有50%的用户流失)。
- 收集方法:
- 用云服务商的APM工具(比如AWS X-Ray、Azure Application Insights)跟踪全链路时间;
- 在Lambda函数中埋点,记录各阶段的时间(见下文代码示例)。
- 分析技巧:
比如,某智能客服系统的响应时间是5秒,拆解后发现:- 冷启动时间2秒(占40%);
- 模型调用时间2.5秒(占50%);
- 其他时间0.5秒(占10%)。
此时的优化重点是减少冷启动和缩短模型调用时间。
指标2:错误率(Error Rate)
- 定义:失败请求占总请求的比例,按类型细分:
- 输入解析错误:用户输入格式不正确(比如缺少订单号);
- 提示渲染错误:Prompt模板变量缺失(比如{order_id}未填充);
- 模型调用错误:大模型API超时、权限不足、 Token超量;
- 输出合规错误:响应包含敏感词(比如“密码”“信用卡”)或不符合业务规则(比如“退款金额超过订单总额”)。
- 重要性:错误率超过5%会严重影响用户信任——比如用户问“我的快递在哪”,系统返回“参数错误”,用户会直接转人工。
- 收集方法:
- 在Lambda函数中捕获异常,用CloudWatch Metrics或Prometheus上报错误类型;
- 用日志分析工具(比如CloudWatch Logs Insights)统计错误分布。
- 分析技巧:
如果“模型调用错误率”突然从1%升到5%,可能是大模型API的SLA出了问题(比如Bedrock的可用性下降),需要及时切换备用模型。
指标3:吞吐量(Throughput)
- 定义:单位时间内处理的请求数(比如“每秒处理100个请求”)。
- 重要性:反映系统的承载能力——比如电商大促期间,吞吐量需要提升到平时的10倍。
- 收集方法:用云服务商的监控工具(比如Lambda的“Invocations”指标)统计。
- 分析技巧:结合并发度(Concurrency)分析——如果吞吐量上不去,但并发度已经达到配额,说明需要提升函数的并发配额。
维度2:资源与成本——平衡性能与钱袋子
无服务器的成本模型是按“调用次数+执行时长”付费,而提示工程的成本还需叠加大模型的Token费。这个维度的指标要帮你回答:“钱花在哪了?能不能少花点?”
指标1:函数调用次数(Invocation Count)
- 定义:无服务器函数被触发的次数(比如“一天调用10万次”)。
- 重要性:是无服务器的核心计费指标之一(比如AWS Lambda的免费额度是每月100万次调用)。
- 收集方法:用云服务商的监控工具(比如Lambda的“Invocations”指标)统计。
- 分析技巧:如果调用次数突然暴涨,可能是前端代码有循环调用,或爬虫攻击,需要及时排查。
指标2:函数执行时长(Execution Duration)
- 定义:从函数开始运行到结束的时间(不包含冷启动时间)。
- 重要性:执行时长越长,费用越高(比如Lambda的费用是$0.00001667/GB-秒)。
- 收集方法:用Lambda的“Duration”指标统计。
- 分析技巧:如果执行时长突然增加,可能是提示渲染逻辑变复杂(比如加入了更多的上下文处理),需要优化代码。
指标3:并发度(Concurrency)
- 定义:同时运行的函数实例数(比如“同时有50个Lambda实例在处理请求”)。
- 重要性:超过云服务商的并发配额(比如AWS Lambda的默认配额是1000)会导致限流,用户请求被拒绝。
- 收集方法:用Lambda的“ConcurrentExecutions”指标统计。
- 分析技巧:如果并发度经常接近配额,需要申请提升配额,或用“预配置并发”(Provisioned Concurrency)提前启动实例。
指标4:成本Per Request
- 定义:每处理一个请求的总成本(无服务器费用 + 大模型Token费)。
- 计算方式:
成本Per Request = (无服务器费用/总请求数) + (大模型Token费/总请求数)。 - 重要性:帮你找到“性能与成本的平衡点”——比如,优化提示长度减少Token费,可能比提升并发度更划算。
- 收集方法:
- 无服务器费用:从云服务商的账单中提取;
- 大模型Token费:从大模型API的响应中提取“usage”字段(比如Bedrock的响应包含“inputTokens”和“outputTokens”)。
- 分析技巧:
某智能客服系统的成本Per Request是$0.012,其中:- 无服务器费用:$0.002;
- 大模型Token费:$0.010(提示长度1500Token,输出500Token)。
此时优化重点是减少提示长度(比如把提示从1500Token降到700Token),可以直接降低70%的Token费。
维度3:提示工程特有——直接影响大模型的“效率与质量”
这是提示工程的“核心区别”——传统无服务器应用没有这些指标,但它们直接决定大模型的响应速度和质量。
指标1:提示长度(Prompt Length)
- 定义:Prompt的Token数(不是字符数!)——比如“你好”是2个Token,“How are you?”是3个Token。
- 重要性:
- 直接影响模型推理时间(Token数越多,推理时间越长);
- 直接影响成本(大模型按Token计费)。
- 收集方法:
- 用Token计算库(比如OpenAI的tiktoken、Anthropic的tokenizer)统计Prompt的Token数;
- 在Lambda函数中埋点,将Token数上报到CloudWatch Metrics。
- 代码示例(用tiktoken计算Token数):
import tiktoken def count_tokens(text: str) -> int: encoder = tiktoken.get_encoding("cl100k_base") # 对应GPT-3.5/4、Claude 3 return len(encoder.encode(text)) # 示例:计算Prompt的Token数 prompt = "你是一个智能客服,帮我查询订单12345的物流状态。" print(count_tokens(prompt)) # 输出:15 - 分析技巧:
统计提示长度的分布(比如平均1000Token,最大2000Token,最小500Token),优化高频长提示(比如简化系统提示、用上下文摘要替代完整历史)。
指标2:上下文命中率(Context Hit Rate)
- 定义:多轮对话中,复用缓存的上下文的比例(比如“用户前3轮的对话历史已经缓存,第4轮不需要重新加载”)。
- 计算方式:
上下文命中率 = (复用上下文的请求数 / 总多轮请求数) × 100%。 - 重要性:命中率低会导致重复处理上下文,增加提示长度和推理时间——比如,用户每问一个问题,都要重新加载之前的5轮对话,提示长度会增加5倍。
- 收集方法:
- 用缓存(比如Redis)存储对话历史,记录“是否从缓存中获取上下文”;
- 在Lambda函数中埋点,上报命中率。
- 分析技巧:如果命中率低于50%,说明上下文管理逻辑有问题(比如缓存过期时间太短,或没有正确关联用户会话),需要优化缓存策略。
指标3:提示模板命中率(Template Hit Rate)
- 定义:使用预定义Prompt模板的请求比例(比如“90%的请求用了‘客服回复’模板”)。
- 重要性:预定义模板比动态生成Prompt更高效(比如不需要每次都拼接上下文),命中率高说明模板设计合理。
- 收集方法:在Lambda函数中记录“使用的模板ID”,统计各模板的使用比例。
- 分析技巧:如果某模板的命中率只有10%,说明该模板的适用场景太少,可以删除或合并到其他模板。
指标4:输出合规率(Output Compliance Rate)
- 定义:通过合规检查的输出比例(比如“95%的响应不包含敏感词”)。
- 重要性:输出违规会导致合规风险(比如被监管处罚),或用户投诉(比如响应包含攻击性语言)。
- 收集方法:
- 在输出处理环节加入合规检查(比如敏感词过滤、业务规则验证);
- 统计“通过检查的响应数”占总响应数的比例。
- 分析技巧:如果合规率低于90%,说明Prompt的指令设计有问题(比如没有加入“不要回答敏感问题”的要求),需要优化Prompt模板。
维度4:系统可靠性——保障应用“稳如磐石”
可靠性是应用的底线,对应的指标要帮你回答:“系统会不会崩?崩了能不能快速恢复?”
指标1:函数可用率(Function Availability)
- 定义:函数成功执行的比例(1 - 错误率)。
- 计算方式:
函数可用率 = (成功调用次数 / 总调用次数) × 100%。 - 重要性:工业级应用的可用率目标是99.9%以上(即每月 downtime 不超过43.8分钟)。
- 收集方法:用Lambda的“SuccessRate”指标统计。
- 分析技巧:如果可用率突然下降,需要检查函数的错误日志(比如依赖的服务宕机、代码Bug)。
指标2:模型API可用性(Model API Availability)
- 定义:大模型API成功调用的比例(比如Bedrock的可用性SLA是99.9%)。
- 重要性:大模型是提示工程的“核心大脑”,API不可用会导致整个应用瘫痪。
- 收集方法:
- 从大模型API的响应中提取“success”字段;
- 用监控工具(比如CloudWatch Synthetics)定期ping大模型API,检查可用性。
- 分析技巧:如果模型API的可用性低于99.9%,需要切换到备用模型(比如从Claude 3切换到GPT-4),或联系大模型服务商排查。
指标3:重试成功率(Retry Success Rate)
- 定义:失败请求重试后成功的比例(比如模型调用超时后重试,成功的比例)。
- 计算方式:
重试成功率 = (重试成功的请求数 / 总重试请求数) × 100%。 - 重要性:重试可以提高系统的鲁棒性——比如,模型API偶尔超时,重试一次就能成功。
- 收集方法:在Lambda函数中记录“重试次数”和“重试结果”,上报到监控系统。
- 分析技巧:如果重试成功率低于50%,说明失败的原因不是“临时问题”(比如网络波动),而是“根本性问题”(比如模型API权限不足),需要修复根源问题。
指标4:队列长度(Queue Length)
- 定义:当并发超过配额时,进入队列等待的请求数(比如“有100个请求在队列中等待处理”)。
- 重要性:队列长度过长会导致用户等待时间增加(比如队列中有100个请求,每个请求处理1秒,用户需要等100秒)。
- 收集方法:用API Gateway的“RequestCount”指标统计(队列中的请求数=总请求数-处理中的请求数)。
- 分析技巧:如果队列长度经常超过50,说明并发配额不足,需要申请提升配额,或用“预配置并发”提前启动实例。
四、如何落地:从数据采集到可视化
指标体系的价值在于落地——只有把指标变成可监控、可分析的可视化数据,才能帮你做出决策。
4.1 数据采集:三类数据源
(1)云服务商的原生监控数据
- AWS:CloudWatch(Lambda的Invocation Metrics、Init Duration、Duration)、X-Ray(全链路追踪);
- Azure:Azure Monitor(Function Apps的执行时间、调用次数)、Application Insights(全链路追踪);
- GCP:Cloud Monitoring(Cloud Functions的执行时间、调用次数)、Trace(全链路追踪)。
(2)自定义埋点数据
在Lambda函数中埋点,记录提示工程的特有指标(比如提示长度、上下文命中率),然后上报到监控系统。
代码示例(AWS Lambda + CloudWatch Metrics):
import time
import json
import boto3
from botocore.config import Config
import tiktoken
# 初始化客户端
bedrock_config = Config(retries={"max_attempts": 3, "mode": "standard"})
bedrock_client = boto3.client("bedrock-runtime", config=bedrock_config)
cloudwatch = boto3.client("cloudwatch")
encoder = tiktoken.get_encoding("cl100k_base")
def lambda_handler(event, context):
# 1. 记录开始时间
start_time = time.time()
# 2. 输入解析(阶段1)
parse_start = time.time()
try:
user_input = event["body"]["user_input"]
conversation_id = event["body"]["conversation_id"]
# 从Redis获取上下文(示例,需实际连接Redis)
# conversation_history = redis_client.get(conversation_id) or []
conversation_history = []
except KeyError as e:
return {"statusCode": 400, "body": f"Missing key: {str(e)}"}
parse_duration = time.time() - parse_start
# 3. 提示渲染(阶段2)
render_start = time.time()
prompt_template = """你是电商智能客服,用以下对话历史回答用户问题:
{conversation_history}
用户问题:{user_input}
要求:回答简洁,不超过300字,不要提敏感信息。"""
rendered_prompt = prompt_template.format(
conversation_history="\n".join(conversation_history),
user_input=user_input
)
prompt_tokens = len(encoder.encode(rendered_prompt))
render_duration = time.time() - render_start
# 4. 模型调用(阶段3)
model_start = time.time()
try:
response = bedrock_client.invoke_model(
modelId="anthropic.claude-3-sonnet-20240229-v1:0",
contentType="application/json",
body=json.dumps({
"prompt": rendered_prompt,
"max_tokens": 300,
"temperature": 0.7
})
)
model_response = json.loads(response["body"].read())
output_tokens = model_response["usage"]["outputTokens"]
answer = model_response["content"][0]["text"]
except Exception as e:
return {"statusCode": 500, "body": f"Model error: {str(e)}"}
model_duration = time.time() - model_start
# 5. 输出处理(阶段4)
output_start = time.time()
# 敏感词过滤
sensitive_words = ["密码", "信用卡", "SSN"]
if any(word in answer.lower() for word in sensitive_words):
return {"statusCode": 400, "body": "响应包含敏感信息"}
# 存储上下文到Redis(示例)
# redis_client.set(conversation_id, conversation_history + [f"用户:{user_input}", f"客服:{answer}"])
output_duration = time.time() - output_start
# 6. 计算总时间
total_duration = time.time() - start_time
# 7. 上报监控指标到CloudWatch
metrics = [
{"Name": "TotalDuration", "Value": total_duration, "Unit": "Seconds"},
{"Name": "ParseDuration", "Value": parse_duration, "Unit": "Seconds"},
{"Name": "RenderDuration", "Value": render_duration, "Unit": "Seconds"},
{"Name": "ModelDuration", "Value": model_duration, "Unit": "Seconds"},
{"Name": "OutputDuration", "Value": output_duration, "Unit": "Seconds"},
{"Name": "PromptTokens", "Value": prompt_tokens, "Unit": "Count"},
{"Name": "OutputTokens", "Value": output_tokens, "Unit": "Count"},
{"Name": "ContextHitRate", "Value": 1 if conversation_history else 0, "Unit": "Count"} # 简化示例
]
cloudwatch.put_metric_data(
Namespace="EcommerceChatbot",
MetricData=metrics
)
# 8. 返回响应
return {
"statusCode": 200,
"body": json.dumps({"answer": answer})
}
4.2 数据处理:从日志到指标
采集到的数据需要清洗、聚合、关联,才能变成可分析的指标:
- 清洗:过滤无效日志(比如测试请求、错误日志);
- 聚合:按时间窗口(比如1分钟、5分钟)统计指标(比如平均响应时间、错误率);
- 关联:将“提示长度”与“模型推理时间”关联,找到两者的关系(比如“提示长度每增加100Token,推理时间增加0.5秒”)。
工具推荐:
- 云原生:AWS CloudWatch Logs Insights、Azure Log Analytics;
- 开源:ELK Stack(Elasticsearch + Logstash + Kibana)、Prometheus + Grafana。
4.3 可视化:打造“作战指挥中心”
可视化是指标体系的“最后一公里”——把枯燥的数字变成直观的图表,帮你快速发现问题。
推荐的Dashboard布局(以Grafana为例):
| 区域 | 图表类型 | 指标示例 |
|---|---|---|
| 核心指标(顶部) | 大数字卡片 | 端到端响应时间(平均)、错误率、可用率 |
| 响应时间拆解 | 堆叠柱状图 | 冷启动时间、解析时间、渲染时间、模型时间 |
| 成本趋势 | 折线图 | 成本Per Request、Token费、无服务器费 |
| 提示工程特有指标 | 饼图/折线图 | 提示长度分布、上下文命中率、模板命中率 |
| 可靠性指标 | 折线图 | 函数可用率、模型API可用性、队列长度 |
示例截图(简化版):
(注:实际截图可使用Grafana的示例模板,或自己搭建)
五、实战案例:智能客服系统的性能优化
理论需要结合实战——让我们用一个真实案例,看指标体系如何帮你解决问题。
5.1 背景
某电商平台的智能客服系统:
- 架构:AWS Lambda + Bedrock Claude 3 Sonnet + API Gateway;
- 问题:用户反馈“响应太慢”(平均5秒),成本超支(每月1.2万美元,预期0.5万美元)。
5.2 监控发现
通过Dashboard分析,找到两个核心瓶颈:
- 冷启动时间长:Lambda的冷启动时间平均2秒(占总响应时间的40%);
- 提示长度过长:提示平均1500Token(系统提示500Token + 对话历史800Token + 用户输入200Token),导致模型推理时间2.5秒(占总响应时间的50%)。
5.3 优化措施
(1)优化冷启动:开启预配置并发(Provisioned Concurrency)
预配置并发会提前启动Lambda实例,消除冷启动时间。
- 操作:在AWS Lambda控制台开启“Provisioned Concurrency”,设置并发数为50;
- 结果:冷启动时间从2秒降到0.2秒。
(2)优化提示长度:简化模板+上下文摘要
- 简化系统提示:将系统提示从500Token减少到200Token(保留核心指令:“你是电商客服,回答简洁,不要提敏感信息”);
- 上下文摘要:用大模型生成对话历史的摘要(比如“用户之前问了订单物流,客服回复了快递单号”),替代完整的对话历史(对话历史Token数从800降到300);
- 结果:提示长度从1500Token降到700Token。
(3)优化模型:切换到更轻量的模型
将模型从Claude 3 Sonnet($0.015/1K输入Token,$0.075/1K输出Token)切换到Claude 3 Haiku($0.003/1K输入Token,$0.015/1K输出Token),推理时间从2.5秒降到0.8秒。
5.4 优化结果
- 响应时间:从5秒降到1.8秒(冷启动0.2秒 + 模型时间0.8秒 + 其他0.8秒);
- 成本:每月成本从1.2万美元降到0.5万美元(符合预期);
- 用户满意度:从3.2分(5分制)升到4.5分。
六、最佳实践与常见陷阱
6.1 最佳实践
- 拆解流程,监控每个环节:不要只看总响应时间,要拆解成“解析→渲染→模型→输出”,定位具体瓶颈;
- 结合成本与性能:优化性能的同时,计算成本变化(比如预配置并发会增加成本,但用户留存的收益可能更高);
- 用分布式追踪:用AWS X-Ray或OpenTelemetry跟踪全链路,包括API Gateway、Lambda、模型API;
- 定期优化提示模板:分析高频模板的使用情况,简化内容,减少Token数;
- 监控上下文管理:用Redis缓存对话历史,提高上下文命中率,减少重复处理。
6.2 常见陷阱
- 忽略冷启动:低流量场景下,函数经常被回收,冷启动时间会占总响应时间的50%以上;
- 不关注提示长度:很多团队只看函数执行时间,不知道模型推理时间与提示长度强相关;
- 成本与性能失衡:为了追求低响应时间,开启过多预配置并发,导致成本飙升;
- 不监控输出合规率:输出包含敏感词会导致合规风险,而传统监控不覆盖;
- 不用分布式追踪:只看Lambda的执行时间,不知道模型API的响应时间很长,无法定位瓶颈。
七、结论:监控是提示工程的“导航仪”
提示工程无服务器架构的性能监控,不是“堆砌指标”,而是用指标帮你理解系统的运行状态——
- 它能告诉你“用户为什么觉得慢”;
- 能告诉你“钱花在哪了”;
- 能告诉你“系统会不会崩”。
行动号召:
- 列出你的提示工程应用的核心流程(比如解析→渲染→模型→输出);
- 对应本文的四大维度,选出5-10个关键指标;
- 用云服务商的监控工具或开源工具(Prometheus+Grafana)搭建Dashboard;
- 收集数据,分析瓶颈,进行一次优化(比如简化提示模板);
- 在评论区分享你的优化结果,我们一起讨论!
八、附加部分
8.1 参考文献
- AWS Lambda监控文档:https://docs.aws.amazon.com/lambda/latest/dg/monitoring.html
- OpenTelemetry分布式追踪:https://opentelemetry.io/
- 大模型提示工程最佳实践:https://platform.openai.com/docs/guides/prompt-engineering
- tiktoken库:https://github.com/openai/tiktoken
8.2 致谢
感谢AWS解决方案架构师团队的帮助,提供了无服务器监控的最佳实践;
感谢Anthropic的工程师,解答了模型调用的性能问题。
8.3 作者简介
我是李雷,资深软件工程师,专注于大模型应用与无服务器架构,曾主导过10+个大模型应用的设计与部署,擅长用工程化的方法解决大模型的性能与成本问题。
欢迎关注我的公众号“大模型工程化”,获取更多实战经验;也可以在评论区留言,一起探讨问题!
最后的话:
提示工程的本质是“用工程化的方法让大模型更有用”,而监控是“让工程化更可控”的关键。希望这篇文章能帮你搭建属于自己的指标体系,让大模型应用“又快又省又稳”!
—— 李雷,2024年X月X日于深圳
更多推荐


所有评论(0)