前言
正好年中被裁员,有时间和精力调整自己再出发,在之前的2年中,断断续续也使用了一些AI产品,借此时机入个门,为接下来的职业生涯铺垫一下。
AI的赋能效果还是很强大,除了工作,在日常生活中使用AI的频率也是非常高,对于”AI Agent”的热度,自己系统的学习一下AI及AI Agent知识,为以后的工作和生活增加点”乐趣”!
我也是没有寻找任何网上公开的视频/书籍,完全面向Gemini 2.5Pro
来进行学习,整理好一个Prompt,我们就出发!
利用Gemini给我们的更完整标准的Prompt,我们这就出发!
1 | 背景:我想从零开始做一个AI Agent! 目的用于自我学习AI知识和学习创建AI Agent;电脑为Windows11系统,期望可以本地部署,稳定、开源。 |
1 |
|
学习Roadmap
阶段 (Phase) | 核心目标 (Core Goal) | 主要技术栈 (Key Tech Stack) | 预估学习与开发时间 (业余时间) |
---|---|---|---|
阶段一 | 搭建环境,理解概念,跑通本地LLM | Python , Miniconda , Git , VS Code , Ollama |
1-2周 |
阶段二 | 开发MVP,打通核心流程(获取-处理-输出) | LangChain , feedparser , Ollama(Llama 3) |
2-3周 |
阶段三 | 扩展功能,优化体验(多源数据+数据库+Web UI) | SQLite , requests , BeautifulSoup4 , Streamlit |
3-4周 |
阶段四 | 实现自动化,增强健壮性,探索线上部署 | Windows Task Scheduler , Docker , Hugging Face Spaces |
2-3周 |
阶段一:基础准备与环境搭建 (Foundation & Setup)
这个阶段不追求写出复杂的代码,核心是“磨刀不误砍柴工”。我们需要搭建一个稳定、高效的开发环境,并对即将使用的核心概念有一个宏观的认识。
- 阶段目标 (Objective):
- 在Windows 11上成功搭建Python开发环境。
- 掌握Git的基本操作,用于代码版本管理。
- 理解LLM、Agent等核心概念。
- 成功在本地运行一个开源大语言模型(LLM)。
- 关键任务列表 (Key Tasks):
- 安装开发套件:
- VS Code: 安装并配置Visual Studio Code作为你的主代码编辑器。
- Python环境: 安装 Miniconda。这是一个轻量级的Anaconda,能帮你轻松管理不同的Python项目环境,避免未来出现依赖冲突。
- Git: 安装Git,并学习
clone
,add
,commit
,push
等基本命令。
- 巩固Python基础:
- 快速复习Python的核心知识,重点是:数据类型(列表、字典)、函数、类、文件读写(I/O)。这是构建Agent的语言基础。
- 理论知识学习:
- LLM是什么: 宏观理解大语言模型的工作原理,知道什么是Prompt、Token和Inference。
- AI Agent是什么: 了解Agent的基本框架(感知->思考->行动),知道它与普通程序的区别。
- RAG (Retrieval-Augmented Generation): 初步了解这个核心技术,知道它是如何让LLM利用外部知识库回答问题的。
- 本地LLM环境部署:
- 安装并运行 Ollama。这是一个极其方便的工具,可以让你用一行命令就在本地下载并运行Gemma, Llama 3, Qwen等主流开源模型。
- 安装开发套件:
- 核心技术/工具栈 (Tech Stack):
- IDE: VS Code (免费、强大、插件生态丰富)
- 环境管理: Miniconda (Why: 隔离项目依赖,对Windows非常友好)
- 版本控制: Git (Why: 行业标准,追踪你的每一步开发,方便回滚和协作)
- 本地LLM框架: Ollama (Why: 对初学者极其友好,一键式部署和管理本地模型,社区活跃)
- 学习路径与资源 (Learning Path & Resources):
- VS Code Python教程: VS Code Official Python Tutorial
- Miniconda安装与使用: Miniconda Official Guide
- Git入门教程: 廖雪峰的Git教程 (中文,非常适合初学者)
- Ollama官网: Ollama Website (下载并查看支持的模型列表)
- AI概念入门(视频): 3Blue1Brown: What is a GPT? (直观理解LLM内部机制)
- 产品经理视角提示 (PM’s Note):
- 这个阶段类似于产品启动前的“市场调研”和“竞品分析”。你的“竞品”就是你即将使用的技术。验证标准: 你能够成功创建一个Miniconda环境,在VS Code中运行一个打印“Hello AI”的Python脚本,并且能通过命令行与Ollama下载的Llama 3模型进行对话。如果都能做到,说明环境已就绪。
阶段二:MVP版本开发 - 核心功能实现 (MVP Development)
现在,我们将聚焦于构建一个最小可行产品(MVP)。目标是打通核心流程:数据获取 -> LLM处理 -> 内容输出。我们先从最简单的一个信息源开始。
- 阶段目标 (Objective):
- 开发一个Python脚本,能自动从一个AI博客的RSS源获取最新文章。
- 调用本地Ollama模型,对获取的文章进行摘要。
- 将摘要结果整理并保存到一个本地Markdown文件中。
- 关键任务列表 (Key Tasks):
- 项目初始化:
- 创建项目文件夹,使用Miniconda创建新的虚拟环境,并用Git初始化仓库。
- 数据获取:
- 使用
feedparser
库来解析一个目标博客的RSS订阅源(例如,Google AI Blog)。
- 使用
- LLM集成:
- 学习并使用 LangChain 框架。它像AI开发的“乐高积木”,可以帮你轻松连接LLM、数据和工具。
- 编写代码,通过LangChain连接到本地运行的Ollama模型。
- 构建Prompt:
- 设计一个高质量的Prompt模板,指导LLM如何为你抓取到的文章生成简洁、准确的摘要。
- 输出结果:
- 将LLM生成的摘要格式化,并写入一个名为
daily_ai_report.md
的文件中。
- 将LLM生成的摘要格式化,并写入一个名为
- 项目初始化:
- 核心技术/工具栈 (Tech Stack):
- Agent框架: LangChain (Why: 行业事实标准,组件化、可插拔的设计非常适合学习和迭代,社区庞大)
- RSS解析库:
feedparser
(Why: 简单、稳定,是处理RSS源最直接的方式) - 本地LLM: Ollama + Llama 3 8B (Why: Llama 3 8B模型在性能和资源消耗上取得了很好的平衡,非常适合在消费级硬件上运行)
- 学习路径与资源 (Learning Path & Resources):
- LangChain官方文档: [可疑链接已删除]
- LangChain + Ollama教程: [可疑链接已删除]
feedparser
文档: feedparser Documentation
- 产品经理视角提示 (PM’s Note):
- MVP的价值在于“验证核心假设”。这里的核心假设是:“本地LLM的能力足以生成有价值的内容摘要”。验证标准: 运行脚本后,生成的Markdown报告中的摘要是否准确、可读?它比你只看标题有更多信息量吗?这个最简陋的版本是否已经能为你节省一点时间?如果答案是肯定的,那么这个产品方向就是有价值的。
阶段三:功能迭代与体验优化 (Feature Iteration & Enhancement)
MVP验证通过后,我们进入迭代周期。像产品迭代一样,我们不断添加新功能(Feature),优化用户体验(UX)。
- 阶段目标 (Objective):
- 扩展数据源,至少能处理3种不同类型的信息(如论文、博客、GitHub项目)。
- 引入数据库,实现数据持久化和去重。
- 创建一个简单的Web界面来展示报告,提升阅读体验。
- 关键任务列表 (Key Tasks):
- 扩展数据源:
- arXiv: 使用官方
arxiv
库,根据关键词获取最新的论文。 - GitHub Trending: 使用
requests
和BeautifulSoup4
库进行简单的网页抓取,获取热门项目。 - Hacker News / Twitter: 学习使用API进行数据获取(注意:Twitter/X API可能有严格限制和成本,可作为挑战任务)。
- arXiv: 使用官方
- 数据持久化:
- 引入 SQLite 数据库。它是一个轻量级的本地数据库,无需单独安装服务器。
- 将每次获取的文章信息(链接、标题、来源)存入数据库,通过查询URL来避免重复处理。
- 提升处理能力:
- 对不同来源的信息进行分类打标(例如,在摘要前加上
[论文]
、[项目]
等标签)。
- 对不同来源的信息进行分类打标(例如,在摘要前加上
- 构建Web界面:
- 使用 Streamlit 或 Gradio 框架。这两个库可以让你用纯Python代码快速构建一个交互式Web应用。
- 将每日报告展示在网页上,而不是简单的Markdown文件。
- 扩展数据源:
- 核心技术/工具栈 (Tech Stack):
- 数据抓取:
arxiv
,requests
,BeautifulSoup4
- 数据库:
sqlite3
(Python内置,无需安装) - Web界面框架: Streamlit (Why: 对数据科学家和初学者极其友好,代码量极少,能快速生成漂亮的数据应用界面)
- 数据抓取:
- 学习路径与资源 (Learning Path & Resources):
- BeautifulSoup文档: Beautiful Soup Documentation
- Python SQLite教程: Python sqlite3 Tutorial
- Streamlit官方教程: Streamlit Get Started
- 产品经理视角提示 (PM’s Note):
- 这个阶段是产品功能的“血肉填充”。你需要开始做需求优先级排序。是先接入arXiv重要,还是先做Web界面重要?你可以用你的PM方法论来决策。验证标准: Web界面是否能清晰地展示来自多个源的、经过分类和去重的AI资讯?这个“产品”的信息密度和易用性是否比MVP有了质的提升?
阶段四:自动化与部署 (Automation & Deployment)
一个成熟的工具应该是“免维护”的,能在后台自动运行。同时,我们也探索如何将它分享出去。
- 阶段目标 (Objective):
- 实现Agent的每日定时自动运行。
- 对代码进行重构和优化,增强其健壮性。
- (可选)将Web应用部署到线上平台,方便随时随地访问。
- 关键任务列表 (Key Tasks):
- 本地自动化:
- 使用 Windows Task Scheduler (任务计划程序) 创建一个新任务,设定每天在固定时间(如早上7点)自动执行你的Python脚本。
- 代码重构:
- 将代码模块化,例如,把数据获取、LLM处理、数据库操作分别封装到不同的函数或类中,提高代码的可读性和可维护性。
- 健壮性优化:
- 增加错误处理(
try...except
),比如某个网站无法访问时,程序不会崩溃而是记录一条日志。 - 增加日志系统(使用Python内置的
logging
模块),记录每次运行的状态和结果。
- 增加错误处理(
- 线上部署 (可选):
- 学习Docker基础: 将你的Streamlit应用和所有依赖打包成一个Docker镜像,这是现代应用部署的基石。
- 选择平台: 使用 Hugging Face Spaces。
- 部署: 将你的Docker镜像推送到Hugging Face Spaces,即可获得一个公开的URL,任何人都可以访问你的AI知识Agent。
- 本地自动化:
- 核心技术/工具栈 (Tech Stack):
- 自动化: Windows Task Scheduler (Why: 系统原生,无需安装,简单可靠)
- 代码质量:
logging
, 代码模块化 - 容器化: Docker (Why: 实现“一次构建,到处运行”,是部署的标准)
- 在线平台: Hugging Face Spaces (Why: 免费额度充足,对AI/ML应用支持极好,社区庞大,符合你对简洁和交流的需求)
- 学习路径与资源 (Learning Path & Resources):
- Windows任务计划程序教程: 在YouTube或Bilibili搜索相关视频,非常直观。
- Docker入门教程: Docker Get Started
- 在Hugging Face Spaces部署Streamlit应用: Hugging Face Official Guide
- 产品经理视角提示 (PM’s Note):
- 这一阶段是产品从“可用”到“可靠”和“可规模化”的飞跃。自动化和日志系统是产品的SLA(服务等级协议)保障。线上部署则是产品的“公开发布”。验证标准: 你的Agent是否能在连续一周内,无需你手动干预,每天准时生成报告?你是否能通过一个URL在手机上访问你的Agent?如果能,恭喜你,你已经完成了一个端到端的AI应用开发!