如何快速学习用于人工智能开发的 Python 语言
学习 Python 的方式比以往任何时候都更为重要,因为人工智能领域的发展速度极快,如果学习了错误的内容,可能会让你浪费数月的时间。所以,如果你想快速完成任务,那么你自然会思考:是否真的有必要在 Python 上花费时间呢?你可以打开 Cursor 或 Claude Code,输入自己想要的内容,立刻开始使用 Python 进行编程。不过,使用 Python 并不能帮助我们获得那份价值 30 万美元的 AI 工程职位。要获得这份工作,必须具备出色的技能。而我的经验是,AI 工具只不过是能放大你已有的技能罢了。如果你本来就是一名优秀的工程师,那么人工智能工具会让你变得更出色。你可以更快地完成任务,处理更复杂的系统问题,打造出去年需要整个团队才能完成的项目。但如果你根本不知道自己在做什么,人工智能只会让你更快地写出糟糕的代码。最糟糕的是,你因此失去了提升自己能力的机会,因为你跳过了培养良好直觉这一重要环节。如果你参加任何标准的“Python 入门”课程,你将会花费数周时间来学习那些作为人工智能工程师其实根本用不到的知识。实际上,要想在面试和工作中表现出色,只需要掌握一些特定的技能而已。当大多数人想到人工智能工程时,他们往往会想到 Tensorflow 和 Pytorch。但实际上,这些工具只是用于从零开始构建模型的工具而已。作为人工智能工程师,你并不需要亲自去编写这些代码。相反,你需要扎实掌握四类技能。首先,你需要掌握数据结构、控制流和循环等基础知识。比如变量、列表、字典、条件语句、for 和 while 循环、函数等。此外,还需要了解一些面向对象编程的知识,这样当在代码库中遇到相关内容时,就能理解其含义了。下一组技能是如何使用 API 进行开发。因为,在实际应用中,调用 API 正是人工智能工程的核心工作内容。你需要了解 HTTP 请求的原理、如何处理 JSON 数据、如何安全地管理 API 密钥,以及如何在遇到错误时妥善处理这些错误。在加载文档、保存输出结果以及处理日志时,你也需要熟练掌握文件的读写操作。最后,也是最重要的一点——大多数初学者都会忽略这一点:环境管理。通过虚拟环境和 pip 或 uv 等工具进行包管理,可以确保每个项目使用的是独立的包版本。不同的项目可能需要同一库的不同版本,如果不进行隔离处理,安装一个项目的包就会影响到其他项目的运行。说实话,这些基础知识已经足够让你开始实际进行各种创作了!因为知道该学什么只是第一步而已。而如何去学习则更为重要。一旦你掌握了 Python 编程,就可以开始着手构建各种项目了。接下来的问题就是:到底该构建什么项目呢?这一点其实比人们想象的要重要得多。因为在大多数就业培训教程中,所展示的所谓“标准项目”都只是些简单的机器学习模型而已,而并非真正的 AI 工程项目。你应该做的是打造那些与人工智能工程相关的项目。通过这种方式,你可以逐步提升自己的技能,为将来就业做好准备。这些项目的难度应该恰到好处,既能帮助你学习新知识,又能保持你的学习积极性。从小处着手吧。一个不错的入门项目就是调用大型语言模型 API。你可以编写一个 Python 脚本:接收用户输入的文本,将其发送给 GPT 或 Claude 之类的模型,获取模型返回的响应,然后再对响应进行处理,从而实现某些有用的功能。那个项目(如果做得好的话),就能让你掌握我刚才列举的所有技能:JSON 处理、请求处理、错误处理以及环境管理等方面的技能。其实诀窍就在于:逐步增加系统的复杂性。以同一个项目为例,可以将其改造成一个 RAG 应用程序。这样一来,人工智能就可以处理用户自己的数据,而不仅仅是它最初被训练时所使用的数据。此外,还可以引入向量数据库、嵌入技术以及文档分割等功能。一旦该系统能够正常运行,接下来就需要构建一个大型语言模型来评估 RAG 应用程序的输出结果。这就是你开始学习评估方法的起点。而评估方法正是当前人工智能工程师最需要的技能之一。最后,再在这一切之上添加“代理行为”功能。这样一来,你就拥有了一个能够使用工具、做出决策、执行多步骤任务的系统。这样一来,就不再有四个各自独立的项目了,而是一个日益复杂的系统——这个系统完全符合人工智能工程师在实际工作中的操作方式。如果你能正确地实现这一点,那么你就能掌握我们所讨论的所有基础知识,甚至更多。但关键在于以正确的方式去处理各种项目和学习任务。目前,我发现很多学习者还没取得什么进展,就自己先放弃放弃了。人们很容易想让 Claude 来处理整个项目,让它来撰写所有的内容。我完全理解这种想法,因为人工智能就在眼前,而且它既快速又高效。你完全可以不用费力思考,只需一小时就能打造出一个可用的 RAG 应用程序。但如果你在还没做好准备的情况下就这么做,那我可以直接告诉你:你永远没有资格从事真正的人工智能工程工作。在基础阶段,规则如下:在构建那些初步的项目时,人工智能仅用于帮助解释各种概念、帮助你检验自己的理解是否正确。你必须亲自编写代码,即便过程缓慢且令人沮丧。因为只有通过这种方式,才能真正培养出自己的直觉能力。当你满足以下三个条件时,就意味着你已经成功通过了基础阶段的学习:你能理解那些你不熟悉的代码,并能解释它们的功能;你能独立地调试出出错的测试用例;你能理解数据的流动方式,以及系统可能出问题的地方。一旦你能够完成所有这些步骤,你就有了进入下一阶段的资格。而在这个阶段,你实际上有可能反而让自己陷入困境。所以,虽然能够手动编写代码是绝对必要的,但实际上,在工作中你很可能并不需要这么做。不过,要好好利用人工智能编程助手,其实是一门需要专门学习的技能。大多数人只是简单地在用户界面中输入一些指令,然后寄希望于能得到不错的结果。但当得到的结果糟糕不堪时,他们就会感到惊讶。专业的 AI 工程师使用 AI 编程辅助工具的方式截然不同。哪怕是像输入提示语这样简单的事情,也需要按照系统化的方法来处理,同时还要有明确的约束条件和定义。一旦你能够熟练地编写出高质量的测试用例,就可以把注意力转向测试本身了。人工智能在编写测试用例方面表现不错,但它也可能编写出那些因为错误的原因而通过测试的用例。因此,你需要能够仔细分析每个测试用例,判断它是否真的能够检测到那些应该被发现的错误。同时,也要花时间去了解相关的评估方法。我再怎么强调对人工智能系统的输出结果进行检测的重要性都不为过。这属于人工智能工程领域中一项非常重要的技能,掌握好这项技能无疑能带来巨大的竞争优势。你可以利用自己已经开发的项目来练习这些技能。可以逐一回顾这些项目,每次学习一项新技能,同时利用人工智能作为辅助工具。就像之前那个关于 LLM 评估的项目一样,你需要明确界定什么是“好的回答”,LLM 应该如何进行评分,以及你将如何判断该模型是否有助于提升系统的性能。在与人工智能合作时,务必仔细审查其代码。说实话,熟练掌握代码审查技巧,可能是这份清单上最被低估的技能了。作为人工智能工程师,你的大部分工作就是审查人工智能生成的代码,并对其中的错误进行修正。其实,所有这些事情中,最关键的就是人性因素。在学习和成长的过程中,重点不在于仅仅掌握编写代码的技能(或审查人工智能生成的代码),而在于培养在各种权衡取舍中的判断力——比如性能、成本、可靠性和安全性等方面的考量。你需要能够思考如何设计出符合企业需求的系统。你必须能够清楚地表达自己的选择。可以说,英语是人工智能编程领域的主要交流语言。沟通能力向来都很重要,但现在更为重要了——因为我们现在需要向人工智能传达各种要求,同时也要向团队和上级解释那些技术上的决策。培养判断力和沟通能力的有效方式,就是通过实际的项目来锻炼自己,并学会为自己的选择辩护。在开发过程中,要随时记录下各种权衡因素:为什么选择这个数据库而不是另一个?为什么采用这种模型?成本是如何计算的?如果使用频率大大增加,成本又会如何变化呢?理解这一切的关键在于“端到端的全程掌控”。我们的目标不仅是能够编写 Python 代码,还要能够全程掌控整个产品的开发过程——从最初的初步需求定义,到最终能够投入实际使用的完整系统。