1. 从函数到智能体:LLM as a function的范式革命
当我在调试一个基于GPT-3.5的客服系统时,突然意识到自己正在像调用普通API一样处理这个复杂的语言模型——传入参数、获取返回、处理异常。这让我开始思考:大语言模型(LLM)作为"函数"的隐喻,究竟意味着什么?传统编程中的function接收输入参数,经过确定性的计算过程,返回可预测的结果。而LLM作为"函数",却有着完全不同的行为特征:它接收自然语言提示(prompt),经过概率生成过程,返回带有创造性的文本输出。
这种范式转变正在重塑软件开发的基本单元。就像云计算时代我们把服务器抽象成函数(如AWS Lambda),现在我们把智能抽象成可调用的服务。一个典型的LLM函数调用看起来可能是这样的:
python复制def llm_function(prompt: str, temperature: float=0.7) -> str:
"""一个模拟的LLM函数接口"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=temperature
)
return response.choices[0].message.content
但表面简单的背后,是工程实践上的巨大挑战。温度参数(temperature)的调整会让同一个提示产生截然不同的输出,这与传统函数的确定性形成鲜明对比。我在电商推荐系统项目中就深有体会:当temperature从0.3调到0.9时,产品描述文案的创造性显著提升,但格式一致性却下降了27%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. LLM函数的四大核心特征解析
2.1 非确定性输出与概率控制
与传统函数的确定性不同,LLM的每次调用都可能产生不同结果。这既是优势也是挑战。在开发智能写作助手时,我们通过以下参数精确控制这种非确定性:
python复制response = openai.ChatCompletion.create(
model="gpt-4",
messages=messages,
temperature=0.7, # 控制创造性:0-1,越高越随机
top_p=0.9, # 核采样:仅考虑概率累积前90%的词
frequency_penalty=0.5, # 抑制重复用词
presence_penalty=0.3 # 鼓励话题多样性
)
实测发现,temperature=0.7时,生成的产品描述在创意和一
