前言

        大家好,今天跟大家拆解一个核心知识点——LLM(大语言模型)如何从“只能聊天”的工具,升级成“能自主解决问题”的智能 Agent。其实核心逻辑特别简单,一句话就能概括:

        给 LLM 提供:明确的指令 + 可用的工具 + 多次尝试的机会 = 智能 Agent

        很多同学觉得 Agent 很高深,其实本质就是对 LLM 做了4个关键模块的改进,再配合合理的工作流程,就能实现“自主思考、自主调用工具、自主验证结果”的能力。下面从核心模块、工作流程、代码位置、实操示例四个维度,手把手教大家搞懂,新手也能轻松get!

一、核心改进的4个模块(重中之重!)

这4个模块是 Agent 能“自主工作”的关键,每一个都有明确的代码对应位置,大家可以直接对照自己的项目查看、修改,实操性拉满。

1️⃣ 提示词模块(最关键!决定 Agent 行为边界)

代码文件:backend/core/system_prompt.py

核心作用:明确告诉 LLM “你是谁”、“你能做什么”、“你应该怎么做”,相当于给 Agent 定规矩、立身份。

关键改进对比

  • 普通提示词(仅聊天):“你是一个助手”

  • 智能 Agent 提示词(能自主调用工具):“你是一个助手,当用户问数据库问题时,必须调用 query_oracle_data 工具验证,不要瞎猜”

改进效果:LLM 不再凭记忆瞎回答,而是明确知道“遇到什么问题该调用什么工具”,从“被动回答”变成“主动解决”。

2️⃣ 推理模块(核心引擎,决定 Agent 思考深度)

代码文件:backend/core/graph.py

核心作用:允许 LLM 进行多轮思考、多次调用工具,而不是一次回答就结束。

关键改进对比

  • 普通模式:max_iterations = 1(只能调用1次工具,甚至不调用)

  • Agent 模式:max_iterations = 20(最多可调用20次工具,支持多轮迭代)

改进效果:LLM 能像人一样“逐步排查问题”,比如:

  1. 第1次:调用工具查询基础数据

  2. 第2次:发现结果不对,再次调用工具补充查询

  3. 第3次:调用工具验证修正后的数据

  4. ... 直到得出正确答案,彻底解决问题

3️⃣ 工具模块(扩展能力,给 Agent 装“手”和“眼睛”)

代码文件:backend/tools/*.py(所有工具相关文件)

核心作用:打破 LLM “只能靠记忆回答”的局限,给它提供实时查询、执行操作的能力(比如查数据库、查知识库、调用接口等)。

关键改进对比

  • 没有工具:LLM 只能靠训练时的记忆回答,比如“客户 ID 17247 的数据是...”(大概率是错的,尤其是实时数据)

  • 有工具:LLM 可以调用工具实时查询,比如执行 query_oracle_data("SELECT * FROM customers WHERE id=17247"),直接返回真实的实时数据

改进效果:LLM 不再“瞎猜”,所有涉及真实数据、实时信息的问题,都能通过工具验证,回答准确率大幅提升。

4️⃣ 参数调整(行为控制,决定 Agent 的“性格”)

代码文件:backend/services/agent_service.py

核心作用:通过调整 LLM 的关键参数,控制它的思考方式(谨慎/大胆),适配 Agent 的工作需求。

关键改进对比

  • 普通模式:temperature=0.7(性格大胆、有创造性,但容易瞎猜),回答常出现“我觉得可能是这样...”

  • 深度思考模式(Agent 专用):temperature=0.1(性格谨慎、注重准确),回答常出现“让我先查一下...”,更倾向于调用工具验证

改进效果:LLM 从“大胆猜测”变成“谨慎验证”,彻底摆脱“一本正经地胡说八道”,更符合 Agent 自主解决问题的核心需求。

二、普通 LLM vs 智能 Agent 工作流程对比(一眼看懂差距)

光说模块不够直观,我们用一个“SQL 问题排查”的场景,看两者的核心区别:

❌ 普通 LLM 工作流程(低效、易出错)

  1. 用户提问:“这个 SQL 有问题吗?”

  2. LLM 凭记忆回答:“可能有性能问题,建议加索引”

  3. 流程结束(没有验证,大概率是错的,比如表结构不同、数据不存在等)

✅ 智能 Agent 工作流程(高效、准确、自主)

  1. 用户提问:“这个 SQL 有问题吗?”

  2. LLM 思考:“我需要先查一下表结构,确认字段和索引情况”

  3. 调用工具:search_knowledge_base(查询表结构)

  4. 工具返回:表结构详情(含字段类型、现有索引)

  5. LLM 思考:“表结构没问题,我需要执行 SQL 看看实际结果”

  6. 调用工具:query_oracle_data(执行 SQL)

  7. 工具返回:NULL(执行结果为空)

  8. LLM 思考:“结果是空的,可能数据不存在,需要进一步验证数据是否存在”

  9. 继续调用工具排查,直到找到问题根源(比如 SQL 条件错误、数据未录入等)

三、代码位置速查表(新手必存!)

很多同学看完模块,不知道去哪里找对应代码,这里整理了一份速查表,直接对照查找即可,不用再翻遍项目文件夹:

功能

对应文件

行数范围

核心作用

系统提示词(Agent 规则)

system_prompt.py

40-214

告诉 LLM 角色、工作规则和行为边界

深度思考提示词

system_prompt.py

217-307

引导 LLM 进行多步推理、自主排查问题

多轮推理引擎

graph.py

110-285

允许 LLM 多次调用工具,支持多轮迭代思考

工具定义

tools/*.py

全部

给 LLM 提供查询、执行等能力(核心工具集合)

参数调整(temperature)

agent_service.py

813-831

控制 LLM 的思考风格(谨慎/大胆)

工具绑定

agent_service.py

107-118

将工具注册到 LLM,让 LLM 能调用工具

四、最小可复现示例(直接复制就能用!)

如果大家想快速体验 Agent 的效果,不用搭建复杂项目,下面这个最小示例,复制到本地就能运行,核心就是“定义工具+写对提示词”:

# 1. 定义工具(这里以数据库查询工具为例)
@tool
def query_database(sql: str) -> str:
    """执行 SQL 查询,返回查询结果(真实场景中替换为实际数据库连接逻辑)"""
    return "查询结果(真实场景中返回数据库查询到的真实数据)"

# 2. 编写 Agent 专用系统提示词
system_prompt = """
你是一名专业的数据库专家,你的核心工作是解决用户的数据库相关问题。
当用户问任何数据库相关问题(包括 SQL 排查、数据查询、表结构分析等),必须调用 query_database 工具进行验证,绝对不要凭记忆瞎猜。
如果工具返回结果不明确,需要再次调用工具补充查询,直到得出准确答案。
"""

# 运行效果:LLM 会自动识别数据库问题,调用 query_database 工具,不再瞎猜!
    

五、关键疑问解答(为什么这样就能工作?)

很多同学会疑惑:“为什么加了提示词、工具和参数,LLM 就变成 Agent 了?” 核心原因就2点:

  1. LLM 本身就有推理能力:像 GPT-4、DeepSeek 等主流大模型,本身就具备“思考链”能力,它们能理解“不确定的事情需要查询验证”,只是没有明确的规则和工具,无法发挥出来。

  2. 我们只是“激活”了它的能力:我们提供的4个模块,本质是给 LLM 搭了一个“框架”:

    1. 明确的指令(提示词):告诉它“什么时候该调用工具”

    2. 可用的工具:给它提供“查询验证的能力”

    3. 多次机会(推理引擎):允许它“反复排查,直到正确”

    4. 正确的参数:让它“谨慎思考,不瞎猜”

而 LLM 自己会决定:什么时候调用工具、调用哪个工具、如何处理工具返回的结果、是否需要再次调用——这就是 Agent 的“魔力”!

六、一张图总结核心逻辑(一目了然)

最后用一张图,帮大家梳理普通 LLM 和智能 Agent 的核心区别,记住这张图,就能快速掌握 Agent 的核心原理:

  • 普通 LLM:只能回答 → 可能瞎猜 → 一次回答 → 不够准确

  • 智能 Agent:能调用工具 → 能验证结果 → 多轮推理 → 更加可靠

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐