news 2026/6/25 11:40:10

Gemini 3 实战揭秘:AI智能体的循环 + LLM 原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gemini 3 实战揭秘:AI智能体的循环 + LLM 原理

如果你见过 AI 智能体编辑文件、运行代码、修正自身错误,并且能像早已规划好一样持续工作……它看起来确实像魔法。但实际原理远没有那么复杂。

这里没有秘密技巧。
没有秘密算法。
更没有神秘的“智能体大脑”。

本质上,智能体的构成只有三点:

一个循环(Loop)+ 一个大语言模型(LLM)+ 一些工具(Tools)
就是这么简单。

只要你能写出 Python 中基础的while True循环,就已经成功了一半。

本指南会一步步带你用 Gemini 3 构建真正的智能体——从基础的文本调用,到能读取文件、写入文件并智能响应的命令行助手。

内容会保持简洁实用,不含多余信息。

(按回车键或点击可查看完整尺寸图片)

什么是智能体(Agent)?

传统软件就像流程图:
步骤 A → 步骤 B → 步骤 C → 结束。

智能体不遵循固定步骤,而是会根据实际情况选择下一步行动。可以将其理解为围绕大语言模型构建的小型系统,具备以下能力:

  • • 规划(plan)

  • • 执行行动(take actions)

  • • 对结果做出反应(react to results)

  • • 持续迭代直到任务完成(keep iterating until the job is done)

因此,它不是严格的脚本,更像是一个“智能循环”。

无论多么复杂的智能体,都包含四个基础组件:

1. 模型(Model)——“大脑”

本文中使用的是 Gemini 3 Pro。它会分析用户需求,并决定下一步该做什么。

2. 工具(Tools)——“手和眼睛”

指模型可以调用的函数,例如:

  • • 读取文件、列出目录

  • • 发送邮件、调用 API

  • • 其他任何可执行的功能

3. 上下文(Context)——“工作区”

指模型在任意时刻能获取的信息。高效管理上下文的过程被称为“上下文工程(Context Engineering)”。

4. 循环(Loop)——“生命周期”

遵循“观察(Observe)→ 思考(Think)→ 行动(Act)→ 重复(Repeat)”的逻辑,直到任务完成。

这就是智能体的全部核心结构。

循环(Loop)的实际工作原理

几乎所有智能体都遵循以下流程:

  1. 1. 向模型描述可用的工具。

  2. 2. 将用户需求和工具定义发送给 Gemini 3。

  3. 3. 模型做出判断:

    • • 直接返回正常响应;

    • • 或调用工具并传入结构化参数。

  4. 4. 用 Python 代码执行该工具。

  5. 5. 将工具的执行结果反馈给 Gemini。

  6. 6. 模型基于新信息决定下一步行动。

  7. 7. 持续循环,直到模型提示“任务已完成”。

接下来开始实际构建。

步骤 1:基础聊天机器人(起点)

首先为 Gemini 3 API 创建一个简单的包装类,本质是实现一个持久化的对话功能。

from google import genai from google.genai import types class Agent: def __init__(self, model: str): self.model = model self.client = genai.Client() # 初始化 Gemini 客户端 self.contents = [] # 存储对话历史 def run(self, contents: str): # 将用户输入添加到对话历史 self.contents.append({"role": "user", "parts": [{"text": contents}]}) # 调用 Gemini 模型生成响应 response = self.client.models.generate_content( model=self.model, contents=self.contents ) # 将模型响应添加到对话历史 self.contents.append(response.candidates[0].content) return response # 初始化智能体并测试 agent = Agent(model="gemini-3-pro-preview") response1 = agent.run( "你好,德国最值得游览的 3 个城市是什么?只需返回城市名称。" ) print(response1.text)

这个代码能运行……但它只是个聊天机器人。
它没有“手”,无法执行任何实际操作。

接下来我们解决这个问题。

步骤 2:为智能体添加工具(手和眼睛)

工具本质是 Python 函数,再加上一个用于向 Gemini 描述该工具的 JSON schema。

我们将添加三个基础工具:

  • read_file(读取文件)

  • write_file(写入文件)

  • list_dir(列出目录内容)

第一步:定义工具描述(JSON schema)

# 读取文件工具的描述 read_file_definition = { "name": "read_file", "description": "读取文件并返回其内容。", "parameters": { "type": "object", "properties": { "file_path": {"type": "string"} # 必需参数:文件路径 }, "required": ["file_path"], # 标记必填参数 }, } # 列出目录工具的描述 list_dir_definition = { "name": "list_dir", "description": "列出指定目录下的所有文件。", "parameters": { "type": "object", "properties": { "directory_path": {"type": "string"} # 必需参数:目录路径 }, "required": ["directory_path"], }, } # 写入文件工具的描述 write_file_definition = { "name": "write_file", "description": "将内容写入指定文件。", "parameters": { "type": "object", "properties": { "file_path": {"type": "string"}, # 必需参数:文件路径 "contents": {"type": "string"} # 必需参数:要写入的内容 }, "required": ["file_path", "contents"], }, }

第二步:实现工具的 Python 函数

import os # 需导入 os 模块以操作文件/目录 def read_file(file_path: str) -> dict: with open(file_path, "r") as f: return f.read() # 返回文件内容 def write_file(file_path: str, contents: str) -> bool: with open(file_path, "w") as f: f.write(contents) # 将内容写入文件 return True # 写入成功返回 True def list_dir(directory_path: str) -> list[str]: return os.listdir(directory_path) # 返回目录下的文件列表

第三步:整合工具

file_tools = { "read_file": {"definition": read_file_definition, "function": read_file}, "write_file": {"definition": write_file_definition, "function": write_file}, "list_dir": {"definition": list_dir_definition, "function": list_dir}, }

步骤 3:闭合循环——构建真正的智能体

现在扩展Agent类,使其具备以下能力:

  • • 检测工具调用请求

  • • 用 Python 执行匹配的工具

  • • 将结果反馈给 Gemini

  • • 持续循环直到 Gemini 完成任务

class Agent: def __init__(self, model: str, tools: dict, system_instruction="你是一个有帮助的助手。"): self.model = model self.client = genai.Client() self.contents = [] # 对话历史 self.tools = tools # 智能体可使用的工具 self.system_instruction = system_instruction # 系统指令 def run(self, contents): # 将用户输入添加到对话历史(兼容文本和工具结果格式) if isinstance(contents, list): self.contents.append({"role": "user", "parts": contents}) else: self.contents.append({"role": "user", "parts": [{"text": contents}]}) # 配置模型:传入系统指令和工具定义 config = types.GenerateContentConfig( system_instruction=self.system_instruction, tools=[types.Tool( function_declarations=[ tool["definition"] for tool in self.tools.values() ] )], ) # 调用 Gemini 模型 response = self.client.models.generate_content( model=self.model, contents=self.contents, config=config ) # 将模型响应添加到对话历史 self.contents.append(response.candidates[0].content) # 若模型请求调用工具 if response.function_calls: functions_response_parts = [] # 遍历所有工具调用请求 for tool_call in response.function_calls: print(f"[函数调用] {tool_call}") # 执行工具(若工具存在) if tool_call.name in self.tools: result = {"result": self.tools[tool_call.name]["function"](**tool_call.args)} else: result = {"error": "工具未找到"} print(f"[函数响应] {result}") # 整理工具结果格式,用于反馈给模型 functions_response_parts.append( {"functionResponse": {"name": tool_call.name, "response": result}} ) # 将工具结果反馈给模型,继续循环 return self.run(functions_response_parts) # 若无需调用工具,直接返回模型响应 return response

测试智能体

# 初始化智能体(指定模型、工具和系统指令) agent = Agent( model="gemini-3-pro-preview", tools=file_tools, system_instruction="你是一个有帮助的编程助手,用 Linus Torvalds(Linux 创始人)的风格回应。" ) # 发送用户请求 response = agent.run("能列出当前目录下的文件吗?") print(response.text)

如果所有配置正确,Gemini 会调用list_dir工具、获取目录内容,然后返回最终答案。
至此,你已经拥有了一个能工作的智能体。

步骤 4:将智能体转为命令行工具(CLI)

只需用一个循环包装智能体,即可实现交互式命令行功能:

# 初始化智能体 agent = Agent( model="gemini-3-pro-preview", tools=file_tools, system_instruction="你是一个有帮助的编程助手,用 Linus Torvalds 的风格回应。" ) print("智能体已就绪。输入内容即可交互(输入 'exit' 退出)。") while True: user_input = input("你:") # 检测退出指令 if user_input.lower() in ['exit', 'quit']: break # 运行智能体并打印响应 response = agent.run(user_input) print("Linus:", response.text, "\n")

只需几行代码,这个智能体就具备了令人惊讶的实用能力。

构建智能体的最佳实践

掌握基础后,遵循以下原则可大幅提升智能体的可靠性:

1. 简洁清晰的工具定义

模型的判断几乎完全依赖你对工具的描述。

  • • 使用直观的工具名称(如read_file而非rf

  • • 明确说明工具的使用场景(如“当需要读取文件内容时调用”)

  • • 返回简单易懂的错误信息(如“文件不存在”而非“Error 404”)

2. 谨慎管理上下文

不要将庞大的数据库直接传入模型,而是:

  • • 按需加载数据(just-in-time)

  • • 总结过长的对话历史

  • • 将临时笔记存储在模型上下文之外

3. 保持简洁

在单个智能体未被充分利用前,避免开发“多智能体系统”。

4. 添加安全护栏

某些高风险操作(如发送邮件、执行代码)应要求用户确认后再执行。

5. 记录所有日志

调试工具调用记录是优化智能体行为的主要方式。

总结思考

初次接触时,构建智能体似乎令人望而生畏,但理解其结构后会发现,原理简单到甚至有些“枯燥”。

它只是一个循环。
一个内置了超智能模型的循环。

理解这一点后,你就能创建出看似“有生命”的智能体。

如果想进一步扩展功能,可以添加:

  • • 网页搜索

  • • 数据库查询

  • • Shell 命令执行

  • • 云服务操作

  • • 长期记忆

  • • 工作流

  • • 任务调度

  • • 多步骤规划

但所有扩展都基于同一个简单的核心逻辑:

观察(Observe)→ 思考(Think)→ 行动(Act)→ 重复(Repeat)

这就是所有现代智能体的核心。

要不要我帮你整理一份完整可运行的 Python 代码文件?文件会包含文中所有代码,并标注关键注释,方便你直接测试和修改。

最后

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

如果你也想通过学大模型技术去帮助自己升职和加薪,可以扫描下方链接👇👇
​​

为什么我要说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。


智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

​​

资料包有什么?

①从入门到精通的全套视频教程

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解


⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 17:57:57

想转岗AI大模型?看这篇就够了!

我在后台收到这样一条留言,“我已经从事数据分析工作2年了,现在对AI感兴趣,我能转什么样的岗位?” 谁说菜鸟不会数据分析以大数据分析为驱动,spss/R/python/数据分析交流技术分享,实用教程干货,…

作者头像 李华
网站建设 2026/6/17 16:34:03

基于Redis缓存机制提升anything-llm高频查询响应性能

基于Redis缓存机制提升anything-llm高频查询响应性能 在企业知识库系统日益智能化的今天,用户对“秒级响应”的期待早已不再是奢侈品,而是基本体验门槛。尤其是在基于检索增强生成(RAG)架构的大语言模型应用中,一次看…

作者头像 李华
网站建设 2026/6/19 4:37:20

Open-AutoGLM浏览器助手:为什么顶尖开发者都在悄悄使用这项AI技术?

第一章:Open-AutoGLM浏览器助手:重新定义开发者效率的AI引擎在现代软件开发流程中,浏览器不仅是调试工具,更是代码协作、文档查阅与自动化测试的核心平台。Open-AutoGLM浏览器助手作为一款基于开源大语言模型(LLM&…

作者头像 李华
网站建设 2026/6/19 8:17:14

anything-llm镜像是否支持语音输入?现状与展望

anything-llm镜像是否支持语音输入?现状与展望 在智能助手日益渗透工作与生活的今天,用户对交互方式的期待早已不再局限于键盘打字。尤其是在移动办公、工业现场或无障碍场景中,一句“说句话就能查资料”的需求变得愈发真实而迫切。anything…

作者头像 李华
网站建设 2026/6/19 8:42:49

本地部署Open-AutoGLM到底难不难?90%人忽略的3个关键细节曝光

第一章:本地部署Open-AutoGLM到底难不难?部署 Open-AutoGLM 在本地环境是否复杂,取决于开发者对模型依赖管理和硬件资源配置的熟悉程度。虽然项目提供了开源代码和基础文档,但实际操作中仍存在若干关键环节需要特别注意。环境准备…

作者头像 李华
网站建设 2026/6/19 7:54:13

女生适合做网络安全运维工程师吗?

提到网络安全运维,有人会先入为主觉得是“男生专属”,但实际工作里,细心排查日志、耐心跟踪漏洞这些核心需求,女生反而更有优势。那么女生适合做网络安全运维工程师吗?我们一起来探讨一下。女生完全适合且能够成为优秀的网络安全…

作者头像 李华