零基础搭建家庭AI工作流:模型选型、Agent实践与本地部署全记录

发布时间:2026/9/29 18:55:30
零基础搭建家庭AI工作流:模型选型、Agent实践与本地部署全记录 在动手搭建“家庭AI工作系统”之前我对AI的印象还停留在聊天和写文案。直到有天晚上我发现自己同时开着三个窗口一个在整理孩子的课程表一个在回工作邮件还有一个在查十几份保险单据——突然觉得这些东西明明可以交给AI先过一遍。作为零编程基础、白天还要上班的业余小白我花了差不多两个月从需求整理、模型选型、脚本编写一路做到本地部署终于搭起了一套能跑在自己电脑上的家庭AI工作流。这篇记录会把整个过程拆开讲包括选型逻辑、代码思路、踩过的坑以及现在这套系统到底帮我省了多少事。1. 先给“家庭AI工作系统”画个像它到底该干什么1.1 我想要的不是“聊天机器人”而是“自动跑腿的实习生”最开始我很容易被各种AI产品带偏看到有人用AI做短视频我也想着是不是该搞个AI短剧生成器看到有人做AI绘画我又差点去研究图片生成原理。冷静下来之后我发现这些东西对家庭日常来说都是锦上添花不是雪中送炭。真正让我头疼的是那些重复、琐碎、不怎么需要创造力但特别耗时间的事情。所以我给自己定了一个目标这套系统不是一个能聊天的机器人而是一个“自动跑腿的实习生”。我给它派活它去处理处理完把结果放到固定的地方最后我花十分钟检查确认。它能做Excel整理、邮件摘要、网页资料收集、文档格式转换甚至帮我写第一版方案但最终的决定权必须在我手里。这个定位非常重要因为一旦把AI当成“全能助手”来期待很容易失望也很容易在一些重要事项上翻车。1.2 我盘点的十二件家庭琐事哪些该交给AI动手之前我花了一个周末把我日常要做的事全部列出来按“频率”和“烦人程度”打分。结果最有必要交给AI的是这几类场景具体事情是否适合AI日程管理从聊天记录里提取日期、地点、待办适合但要人工确认信息整理汇总各种群通知、邮件、网页信息适合AI摘要很在行文件归档下载的文件、照片、发票自动分类重命名适合规则加AI判断文档写作活动方案、请假条、投诉信初稿适合省开头时间记账把消费记录分类统计适合但不能替我做决定家庭提醒保险续费、证件到期、缴费日期适合但需要可靠的数据源学习辅导给孩子解释错题、出练习题部分适合需要家长把控创意内容AI短剧、AI漫剧、AI绘画不太适合容易把精力带偏我特意把最后一项划掉不是因为它不好玩而是对一个业余小白来说做短剧和漫剧需要投入大量时间学习提示词、剪辑和配音而我的核心痛点不在这里。家庭AI系统的意义是先把琐事扛下来把时间留给我去做更重要的事而不是反过来再给我制造一堆新任务。1.3 我是怎么把需求筛选出来的频率、痛苦度、可验证性筛选需求的时候我用了三个标准频率够不够高、痛苦程度够不够大、结果够不够容易验证。拿“整理聊天记录”来说它每周都会发生看着一大堆文字找关键信息非常痛苦而且AI提取出来的待办事项我一眼就能看出对不对完全符合三个标准。再拿“AI绘画”来说频率不高我也没有那么强的创作痛苦画得好不好又全凭感觉很难验证自然就被排到后面了。这个筛选方法帮了我大忙。它让我明白不是所有听起来“AI能做”的事情都值得做进系统里。业余小白的时间尤其宝贵你花的每一个小时都应该换来一个能反复使用的功能而不是一次性尝鲜的玩具。我现在跟朋友推荐AI工具时也常让他们先想清楚“我要用它解决哪一件每周都让我烦的事”而不是“AI最近又出了什么新功能”。1.4 边界比功能更重要定了清单之后我又给自己立了一条规矩AI只能处理“信息”和“草稿”不能处理“决策”和“钱”。比如它可以告诉我“这份保险的缴费日期是6月15日”但它不能替我从银行卡里扣钱它可以写一封投诉信的初稿但要不要发、发给谁必须由我按下发送键。后面我在踩坑部分会详细讲为什么这条边界是用真实教训换来的。2. 业余小白的选型路线大模型API、本地模型和Agent框架怎么选2.1 为什么直接调用大模型API而不是自己训练一个很多小白一开始会问我要不要学机器学习、微调模型我的回答是现阶段完全不需要。以我的情况来说自己训练一个大模型既不现实也没必要因为家庭场景需要的不是一个领域专家而是一个“什么都知道一点的通才”。目前国内主流的大模型API比如千问、DeepSeek已经能把通用理解做得很好我只需要调用接口就行。我的选型逻辑很简单能用现成API解决的绝不自己训练能花几十块钱跑通的绝不一开始就上显卡等到验证了需求真的存在再考虑本地部署。这就像我不会为了吃顿饭去开个农场先点外卖把肚子填饱再慢慢研究自己种菜。实际上我整个第一版系统都是用API调用跑通的成本加起来不到一顿火锅钱效果却已经超过了我的预期。2.2 在线模型与本地模型搭配千问、DeepSeek和Ollama在模型选择上我主要看中了三个角色千问负责中文理解和写作DeepSeek负责推理和代码类任务Ollama在本地跑开源小模型处理隐私相关的数据。三者不是二选一而是分工。千问的API兼容OpenAI格式对业余小白特别友好文档和示例都写得很清楚。DeepSeek在推理和编程辅助上表现很稳我经常让它帮我分析一段Python代码哪里写错了。Ollama则是一个可以在自己电脑上运行开源模型的工具支持很多小尺寸模型哪怕没有独立显卡也能跑。在线API胜在快和强本地模型胜在隐私和可控家庭系统里两者都用才是最优解。2.3 Agent框架不迷信现成系统先自己拼一遍现在“AI Agent”这个词特别火市面上也有不少Agent框架和可视化平台。但我建议业余小白不要一上来就用重框架。原因很现实框架封装得越深出问题时越难排查。我一个连环境变量都偶尔配错的人直接上复杂框架很可能卡在安装依赖这一步就放弃了。我的做法是先用Python写最底层逻辑调用模型API把返回结果解析成结构化数据再按结果去执行简单动作。比如“从文本里提取待办事项并写入文件”这个流程用不到框架几十行Python代码就能解决。跑通之后你自然理解Agent到底是怎么工作的所谓Agent就是模型根据你的需求在预设函数列表里挑一个来执行然后把执行结果送回给模型让它决定下一步做什么。有了这个基础再去玩现成框架能省掉大量踩坑时间。2.4 第一步怎么迈注册密钥、装Python、跑通一个请求如果你是零基础第一步不需要思考得太复杂只需要做到三件事装一个Python环境、申请一个大模型API密钥、把网上一个简单的请求示例跑通。我当时用的是Anaconda来管理Python环境因为它自带很多常用库省去后面pip安装的麻烦。API密钥方面千问和DeepSeek都有比较完善的开发者后台注册后创建密钥就能用。有一个细节特别值得提醒很多示例代码里的base_url都不一样不要直接照搬。不同平台会给出自己的接口地址你得去对应平台的文档里复制。我第一次就是用了别人博客里的地址结果怎么调都报错后来才发现是平台版本更新了地址。跑通一个请求之后后续的脚本就只是在这个基础上加逻辑而已。3. 第一版工作流把大模型接进日程和文档3.1 用Python调用大模型API的基础姿势先看一段最简单的代码作用是让千问帮我提取一段文本里的待办事项。你需要先去对应平台申请一个API密钥然后把base_url和model换成自己用的。from openai import OpenAI client OpenAI( api_key你的API密钥, base_urlhttps://dashscope.aliyuncs.com/compatible-mode/v1 ) resp client.chat.completions.create( modelqwen-plus, messages[ {role: system, content: 你是一个日程助手请从文本里提取所有待办事项按时间、地点、截止日期整理成Markdown列表。}, {role: user, content: 周六上午十点带孩子去体育馆上游泳课记得周三前交物业费还有下周二的家长会改到线上开了。} ] ) print(resp.choices[0].message.content)这段代码跑起来后返回结果就是整理好的日程清单。对于业余小白来说不需要理解里面每个参数的含义先把它当成一个“发消息、收回复”的模板就行。我自己的经验是跑通第一段代码特别重要从0到1的成就感会推着你继续改进。3.2 从微信聊天记录里提取待办事项接下来是我用得最多的一个功能把聊天记录里的待办事项自动提取出来。微信电脑版可以导出聊天记录文本我每周一把上周的记录统一丢给AI脚本让模型把里面跟“几点”“周几”“截止”“提醒”“需要准备”相关的内容全部抓出来再生成一张待办清单。这里有个关键细节AI理解上下文的能力比正则表达式强太多。以前我试过用关键词匹配只要句子稍复杂一点就漏掉换成大模型之后哪怕是“下周三之前别忘了把孩子的体检报告交到校医室”这种绕弯子的句子它也能准确识别出“下周三”“体检报告”“交到校医室”三个要素。我会把提取结果存成一个Markdown文件每天早上用定时任务跑一遍再配合手机的提醒功能基本不会再错过群消息里的重要通知。3.3 用AI给家庭文件自动分类归档家庭电脑里最乱的地方永远是“下载”文件夹。各种发票、课程表、体检报告、产品说明书混在一起一个月就攒下上百个文件。我让AI脚本扫描文件夹根据文件名和内容摘要自动归类到对应的子目录并重命名为“日期主题类型”的格式。比如“某某产品保修卡.jpg”会被移动到家电器材/保修卡/2025-05-12/下面。实现思路很简单先把文件名读取出来必要情况下读几段文档内容然后让模型输出一个JSON包含目标文件夹和新的文件名。脚本根据这个JSON去移动文件。因为涉及到文件操作我强烈建议第一次运行时先在副本文件夹里测试确认规则稳定后再对真实文件夹执行。后面踩坑部分我会提到有一次我忘了加“仅处理一级目录”的限制AI把我的备份目录也扫了一遍差点把整理好的历史归档又翻乱。3.4 给AI一个提纲让它写文档初稿写东西算是AI最成熟的能力之一。我平时会遇到大量“格式简单但需要花时间憋”的文档比如活动策划、请假申请、给物业的投诉信、孩子的社会实践报告模板。我的做法不是直接让AI“帮我写一篇”而是先给它一个非常具体的提纲和参考素材让它按顺序填充。这样产出的内容基本能用我只需要改改语气和细节。例如孩子学校要求写一篇“社区垃圾分类观察日记”我会把日期、地点、观察到的现象、孩子想表达的观点都写成要点发给模型让模型组织成小学生口吻的日记初稿。注意这个功能只是在“憋初稿”环节帮我节省时间家长一定要自己读一遍、改一遍再交给孩子看。AI写的东西有时候辞藻华丽但内容空洞这时候就需要用你自己的经验去修正。4. 进阶给AI装上“手和脚”——简单Agent实践4.1 Agent的核心让模型自己决定调用哪个工具跑通了第一版工作流之后我开始琢磨一个更有意思的问题能不能让AI看了我的需求之后自己去调用我刚才写的那些脚本比如我说“帮我看看下载文件夹里有没有最近的发票然后按月份归档”AI需要先列目录、再读文件名、再移动文件这已经不是一个单纯的“对话回答问题”而是一个“行动闭环”。这就是AI Agent的雏形。理解Agent不需要看太多概念核心只有一句话模型负责思考程序负责执行。具体实现时我定义一个函数列表每个函数都有名字、参数说明和对应的Python代码模型根据用户输入在函数列表里挑一个输出一个结构化的调用请求我这边收到请求后执行函数把结果返回给模型模型根据结果继续决定下一步。这个循环转起来AI就有手有脚了。4.2 实现一个能查天气、记提醒、开网页搜索的小Agent我用一个很简单的例子说明我是怎么让AI学会用工具的。先定义三个函数get_weather(city)、add_reminder(time, content)、search_web(keyword)然后把它们的名字、参数和用途告诉模型。当我说“明天下雨的话提醒我带伞”模型会判断需要调用get_weather等拿到天气数据后再根据结果决定是否调用add_reminder。代码如下tools [ { type: function, function: { name: get_weather, description: 查询指定城市的天气, parameters: { type: object, properties: {city: {type: string}}, required: [city] } } } ] resp client.chat.completions.create( modelqwen-max, messages[{role: user, content: 明天杭州会下雨吗如果会下午4点提醒我带伞。}], toolstools ) print(resp.choices[0].message.tool_calls)返回结果里会有一个tool_calls字段里面写着模型想调用的函数名和参数。我只需要写一段分发逻辑根据函数名调用实际函数再把结果发回模型。这套流程虽然没有可视化Agent平台那么炫但它逼着我把每个环节拆清楚出了Bug也能很快定位到是模型理解错了还是我的函数写错了。4.3 多AI协作主控模型和专用模型怎么分工我用到的“多AI协作”没有想象中复杂。日常对话和写作用千问代码分析和推理用DeepSeek遇到隐私敏感信息用本地模型。在脚本层面我让一个“主控模型”先判断任务类型然后根据路由分发到不同模型。比如文档整理类任务主控模型会把任务发给千问如果涉及程序Debug主控会调用DeepSeek如果输入内容是家庭成员的健康信息主控会把它投向本地模型处理全程不会把内容传到外部API。这样做的原因是不同模型在不同任务上各有优势硬让一个模型包打天下效果和成本都不是最优。对业余小白来说不要一开始就追求复杂的多智能体框架先做一个简单的“路由分发器”就已经能感受到多AI协作的好处。后面可以在知识库、语音入口上慢慢扩展。4.4 Agent的安全护栏先输出计划再执行动作给Agent加“手和脚”之后我马上意识到一个问题AI一旦能直接操作系统风险也会跟着放大。所以我给所有Agent动作加了一道安全护栏它不能直接执行只能先生成一份“行动计划”等我确认后才能真正触发。我用一个配置文件控制哪些函数是“可自动执行”的哪些是“必须人工确认”的。比如“查询天气”这种没有破坏性的读取操作我可以允许自动执行但“移动文件”“删除文件”“发消息”这类写操作我会让它先返回待执行的命令我在命令行里复制运行。这样AI依然是那个提出方案的人但我才是按下扳机的人。这套安全设计很朴素但对业余小白来说特别管用能挡住绝大多数因为模型理解偏差导致的意外操作。5. 本地部署初体验隐私敏感任务放到自己家里跑5.1 为什么要做本地部署很多人对本地部署的第一反应是“我有显卡我要跑一个大模型”。但对我来说动力不是性能而是隐私。家里有些信息不太方便传到别人的服务器比如体检报告、保险单、孩子的学籍信息。虽然大模型API都有隐私协议但把这类数据交给第三方服务心里总是不那么踏实。于是我开始研究本地部署AI。所谓本地部署就是把自己电脑当成一台小服务器模型文件装在本地所有的数据不离开这台机器。对业余小白来说这套玩意的最大价值不是“离线也能用”而是“数据可控”。哪怕它的能力比在线大模型弱一截用在敏感信息处理上这种交换是值得的。5.2 用Ollama跑通开源模型的完整步骤我选的工具是Ollama因为安装简单、命令少特别适合小白。步骤如下去Ollama官网下载对应系统的安装包安装完命令行输入ollama --version验证。选择一个适合自己电脑配置的模型比如qwen2.5:7b或gemma2:9b执行ollama pull qwen2.5:7b下载模型文件。启动模型ollama run qwen2.5:7b就可以直接在终端里跟模型聊天。在Python代码里通过requests调用本地接口http://localhost:11434/api/chat发一段JSON就好。我用的是普通笔记本没有独立显卡跑7B模型时单次回答需要十几秒到几十秒速度不快但完全够用。我会把一些不紧急的隐私文档处理任务放到夜里执行第二天早上起来看结果相当于家里多了一个“夜间值班的小助理”。5.3 本地模型能做什么不能做什么本地模型不是万能的。以我跑过的开源小模型为例它做信息提取、格式整理、摘要这类简单任务很靠谱但做复杂推理、长文写作、代码生成明显不如在线大模型。一开始我试图让它处理所有任务很快就发现效果不稳定后来才调整为“本地模型只处理隐私敏感数据其他任务全部走在线API”。这个经验特别想分享给同样想尝试本地部署的朋友先明确你本地部署的原因是为了隐私、离线还是玩服务器如果是为隐私就让它专注处理隐私任务如果是为了学习底层原理就多折腾模型参数和推理框架不要因为“本地部署听起来高级”就把它硬塞进所有工作流那样只会得到一个又慢又笨的“吉祥物”。5.4 本地模型和在线API的配合先脱敏再上云后来我找了一个折中方案让本地模型先做“脱敏”再把脱敏后的内容交给在线大模型。简单说就是把姓名、身份证号、地址、电话这类敏感信息先让本地小模型替换成“某某某”“地址1”“电话1”然后在线模型处理完再把真实信息替换回去。这样既享受到了在线大模型的强大能力又不会把原始敏感数据直接送出去。这个方案不是百分百完美替换过程中有可能漏掉某些特殊写法所以我会额外加一道自动检查如果脱敏后的文本里还能匹配到身份证号或手机号的正则就直接拦下不发给在线API。用了这套配合之后我终于可以在不牺牲效果的情况下把隐私数据的处理范围扩大了一大圈。6. 踩坑实录那些让我半夜爬起来改代码的问题6.1 AI一本正经地胡说八道怎么拦住它我碰到过最坑的情况是AI一本正经地告诉我“物业费缴费截止日期是6月15日”但我翻遍聊天记录根本没找到这句话。大模型的本质是预测下一个词只要某个信息不在上下文中它就可能根据常见模式“脑补”。这就是大家常说的幻觉问题。我的对策分三层第一在提示词里明确要求“只能根据给定文本回答不能推测”第二让模型每次输出都附带原文片段作为证据第三涉及日期、金额等关键字段时脚本里再加一道校验规则做兜底。比如从聊天记录提取日期时我会让模型同时返回“原文引用”程序再检查这个引用里是否真的包含日期关键词不匹配就标记为待人工确认。这样虽然不能完全消除幻觉但能把错误拦截在提交之前。6.2 任务一长就“失忆”上下文管理是必修课第一次尝试让AI整理一个月聊天记录时我直接把整段文本塞给模型结果它到后面完全“忘了”前面说过什么输出结果前后矛盾。后来我才理解模型每次对话能关注的内容有限这就是上下文窗口的限制。把一万字的聊天记录硬塞进去前面几千字的信息往往会被压缩和遗忘。解决办法是分割和摘要把长文本按时间或主题切成几段每一段单独跑摘要再把所有摘要汇总后重新交给模型生成最终结果。这就像写报告先做资料摘录卡再根据摘录卡写大纲逻辑上是一样的。另外一个教训是别指望AI“记住”你上周说过的话。如果需要长期记忆就用外部文件或数据库把结论存下来下次对话时重新载入而不是依赖模型自身记忆。6.3 工具调用的参数错位和重复执行在写Agent时我最常遇到的问题就是模型生成的工具参数不合法或者同一个操作被重复执行。最开始我让模型“把下载文件夹里所有PDF移动到文档目录”因为错误参数脚本把PDF文件复制到了几百个子目录里等我发现时已经晚了。后来我加了两个保障机制第一执行任何工具前先打印出模型生成的参数等人工确认后再执行第二给所有写操作加“幂等性”也就是同一个操作执行两次和一次的结果一样避免重复移动、重复复制。在关键流程上我给工具调用设置了一个“沙盒模式”先用测试目录模拟运行确认结果无误后再切到真实目录。程序行业的老哥们管这叫“先灰度再全量”咱们业余小白把它理解成“先拿草纸演习再上正稿”就行。这套流程听着保守但能帮你避免大量不可逆的失误。6.4 涉及金钱和隐私的事千万别让AI全自动这条是用一次真实经历换来的。有一次我尝试让AI跟踪信用卡账单并自动提醒还款它把全部交易记录存入本地数据库后又自动生成了一份“消费分析报告”发到我的手机上。数据倒没有泄露但我突然意识到如果这个管道被误触发任何包含敏感信息的文件都可能被自动处理、自动发送。家庭AI系统的数据安全不在于你用的是在线API还是本地模型而在于你有没有在关键节点设置人工审批。所以我现在给自己定了一条死规矩所有往外发送的内容、所有涉及支付的操作、所有写入正式文档的数据必须经过人工确认。AI可以把流程跑得越来越顺但“最终确认人”始终要留给我自己。7. 系统现状与接下来想做的三件事7.1 一张表看懂当前系统组成运行到现在家庭AI工作系统的主要组成部分如下模块用的什么跑在哪负责什么对话与写作千问API云端文档初稿、信息摘要、文本整理推理与代码DeepSeek API云端脚本调试、逻辑分析、数据处理隐私数据处理Ollama Qwen2.5本地健康档案、保险单、学籍信息任务调度Python Windows计划任务本地定时扫描、提取、归档文件归档Python脚本本地下载文件夹分类、重命名提醒通知微信/手机日历本地手机接收系统生成的各种提醒这套架构的核心思想是把最擅长思考的模型放在云端把最需要保密的模型放在本地把最无聊的重复操作交给定时任务。业余小白也能维护因为我所有配置都是几段脚本和配置文件出了问题看得见摸得着。7.2 运行一个月后的真实收益我不说虚的直接讲收益。以前每周光整理聊天记录里的待办事项就要花掉将近两小时现在系统每天早上自动生成清单我只需要花10分钟确认有没有漏项下载文件夹平均清理周期从一个月一次缩短到每周自动一次写各种家庭文档的初稿时间从一小时压到十几分钟而且语气框架都挺像样。当然也有代价搭建这套系统花了大量周末时间中间好几次想放弃踩的坑可以单独写一本书。对我来说这套系统的最大价值还不是省时间而是改变了我看AI的方式。以前总觉得AI是别人家的技术离自己很远现在我知道哪怕是一个零基础的人只要愿意拆解需求、动手试错也能把AI变成顺手的生活工具。7.3 接下来想做的三件事第一给系统加一个家庭知识库把之前处理过的文件摘要、常用地址、证件期限全部存起来让AI回答得更有“家庭背景”。第二接入语音入口早上刷牙的时候直接说一句“今天有什么安排”系统就能读出今天的日程。第三让多AI协作更顺滑比如Agent发现自己解决不了问题的时候能自动生成一份“问题简报”再转给我处理而不是卡在那里什么都不干。最后再分享一个小技巧如果你想搭类似的东西不要一上来就复刻你看到的任何炫酷案例。先找一个最让你头疼的重复性琐事用AI实现它跑通之后再考虑扩展。那一步一旦迈出去后面的路会越走越宽。