前言
在上篇文章,我们已对 Agent 有了最初步的了解。接下来我们深入了解下什么是 LLM,Prompt,并开始独立完成我们自己搭建的第一个 Agent。
一、了解 LLM
LLM:Large Language Model,即我们常说的大语言模型。市面上琳琅满目的如 deepseek,kimi,豆包,chatgpt,gemini 等都属于 LLM。 LLM 可以说是 Agent 最核心的那个大脑,没有大脑自然无法组织起一个 Agent 任何的行为。而如果想使用这些大语言模型,一般我们会选择到它们的官网上去获取 api-key。有了它作为 api 接口,我们就能自由的本地调用 ai。 同时 LLM 模型分为非常多类,有视觉模型的,有深度思考的(能看到 ai 思考链但返回数据比较慢),有蒸馏模型的,有闭源/开源的。我们日常使用 Agent,就得按需选择。 当然,可能有小伙伴会想本地部署 LLM。我们后面文章会教这点,但还是不太做推荐。很简单的道理,本地部署的 LLM 对个人而言只能是蒸馏版,自己玩用用可以,但没法在绝大多数生产项目级场景下使用。如果真需要本地部署或者数据敏感场景,一般也是公司花大价钱买一堆算力卡来做这个事。少数能预见的使用场景,也就是学习微调了(同样也需要非常高的显卡存储)。
二、LLM 怎么调用
我们这里以 deepseek 的 api-key 调用为例。
打开官方文档,用官方给我们的文档来完成调用:
其中略微讲解下:
api_key=os.environ.get('DEEPSEEK_API_KEY') 这里,就是让我们在环境变量中写入这个东西,这样的话,你就无需显式应用 api-key,能更好的保护隐私安全。当然如果你嫌麻烦,目前直接改成 api_key="xx" 也是可以的。
"role":"system": 角色是系统:系统提示词,即你要在这里给 ai 设定一个什么角色,比如你是一个猫娘。
"role":"user": 角色是用户:你对 ai 说的话。
stream=False 即是否允许流式输出,如果为 True,就是允许,你就能在控制台上看到输出结果像流水一样慢慢流出。反之则是得等生成完全才会返回。
如上,完成调用后,就能看到返回的信息了:

三、Prompt 基础逻辑
回忆下官方文档的这里:
{"role":"system","content":"You are a helpful assistant..."}这是什么?这就是Prompt(提示词)。
提示词是 Agent 构建中极其重要的一环。提示词即提示 ai 你是一个什么身份,在这个身份下你要干什么事情。比如你是一个智能客服/你是一个 NBA 智能预测比赛专家/你是一个猫娘,你负责帮助用户理解产品/帮助用户预测比赛/帮助用户...
你是一个 AI 助手,擅长解释技术概念。任务:用小学生能听懂的话,解释什么是大模型。要求:不超过 100 字,用中文回答。 如上:。 一个 Agent 好不好,一定程度上取决于这个提示词写的好不好,甚至市面上有专门的岗位就是提示词工程师。 同时,你肯定也能感觉出来,这个提示词明显写的非常的简单。实际上如果真要写项目的提示词,我们会采取更加复杂的写法来适应实际业务,举个例子:



如图,测试完成,符合我们预期,此时的它明显可以记忆上下文对话。
但同时仍要提醒一下:我们目前完成的很明显只是个 demo,它只能拥有短期记忆,在正规开发中记忆的写法肯定不会这么简单。后面随着学习的深入时,我们会构思应该用怎样的方式,让它拥有一个不错的可以长期存储,性能更优的解法。