← 学习路线
AI 学习

Python:从语法到 Agent 工程基础

从数据结构、函数与模块,走到可以解释的工程代码。

康雨 · 发布 · 修订 2026-09-21 · 约 3 分钟

阅读基础:变量、list、dict 与基本函数

读完可以:整理函数返回值、消息列表和模块职责。

本文目录

不再停留在函数这一节

最初学 LangChain 时,函数和代码结构看不懂,我选择回头补 Python。后来整理的主笔记已经覆盖函数、类、JSON、异常、环境变量、HTTP、异步与项目组织。这些内容开始在后续 FastAPI 和 Agent 练习中一起发挥作用。

阶段完成,不等于掌握全部 Python原笔记中的“100%”仅指面向 Agent 的最少必要基础,并非整门语言的完成率。本页不把它转换成能力评分;独立复现、排错和测试仍需要持续练习。

先弄清楚数据怎样流动

函数负责接收输入并返回结果,list 保存有顺序的一组消息,dict 描述每条消息的角色与正文。理解它们之后,多轮对话就不再只是一串陌生的 API 参数。

独立数据结构示例:不调用模型

python
history = [{"role": "user", "content": "你好"}]
messages = []
messages.extend(history)
messages.append({"role": "user", "content": "继续讲讲 Agent"})
  • append 加入一条消息;extend 把历史中的每条消息接进来。
  • print 是显示给人看;return 是把结果交给程序中的调用者。
  • json.loads 把 JSON 文本转为 Python 数据;文本看起来像字典,不等于它已经是 dict。

类、配置和模块,让代码有明确职责

self 是当前对象,函数参数只是本次调用收到的值;把 model 保存为 self.model,才是在对象上保留状态。模块拆分也不是把一个长文件平均切开,而是让每个文件负责一类事情。

模块职责
config.py读取配置,不在公开代码中写密钥。
model.py隔离模型调用细节。
memory.py负责历史的读取与保存。
main.py组织输入、处理顺序与输出。

这是入门时形成的职责模型。后续 Agent 整合的课堂版本仍有直接在 agent.py 中调用模型的实现,模型层统一重构尚未完成。

异步不是加一个 async 就完成了

我需要区分的是“函数怎样写”和“任务怎样被安排”。顺序 await 通常仍是依次等待;多个独立协程经 gather 安排后,才可能在 I/O 等待期间共同推进。

  • 同步网络请求不会因为放进 async def 就自动非阻塞。
  • 并发表示共同推进,不等于多个 CPU 核心同时计算。
  • 本阶段 Agent 的模型与数据库调用仍采用同步方案,不宣称已完成异步高并发服务。

原理可对照 Python 协程与任务文档;复习旧项目时以其已验证的运行环境为准。

下一次复习,用输出验证理解

  • 不照抄笔记,写一个接收消息列表并返回结果的函数。
  • 解释 list、dict、JSON 字符串三者分别出现在数据链路的哪里。
  • 在独立虚拟环境中根据依赖清单重建项目,不复制整份虚拟环境。
  • 给一个失败调用加入明确的异常处理,能说明错误传给谁。

以上是后续自测清单,不代表本次已重新运行。下一篇从这些基础进入真正的 HTTP 服务。

来源

本页依据个人笔记整理:《Python AI Agent 学习主笔记》第 7—25、27—30 节(原笔记更新于 2026-09-03)。

试着做一个小练习

写一个接收历史列表、返回新上下文的函数;解释为什么不直接修改原列表。