我如何(以及为何)构建了一个AI助手
本文讲述了作者为何选择自建AI助手而非使用现有工具,详细介绍了系统架构、技术栈选择及实现过程,包括LLM、LangChain、内存管理和工具集成。
作者从一个效率低下的星期二开始反思:面对客户简报、研究资料、邮件和技术文档的多重任务,他意识到自己缺少的不是时间,而是杠杆。与其被动使用通用AI工具,不如构建一个真正理解自己上下文、使用自己风格、连接特定工具并融入现有工作流的助手。
为何不直接购买?作者指出,市面上的助手(如Siri、ChatGPT、Copilot)都是基于通用假设设计的,意味着妥协。自建不仅可以控制数据存放位置(尤其对客户相关或商业敏感内容至关重要),还能在构建过程中深入理解工具——当出现问题时知道如何排查,当需要新功能时无需等待产品更新。此外,AI助手市场预计从2025年的33.5亿美元增长至2030年的211.1亿美元,年复合增长率达44.5%,掌握构建技能意味着走在前沿。
技术栈选择上,作者评估了GPT-4o和Claude,最终选用GPT-4o作为主要模型(因其工具调用可靠性和成熟生态),Claude作为后备用于文档密集任务。编排框架选择了LangChain,尽管有过度抽象的批评,但对于需要记忆、工具使用和推理循环的项目,LangChain的抽象能节省大量时间。记忆方面,使用LangChain的ConversationBufferMemory处理会话内上下文,并通过SQLite实现跨会话持久化。工具包括DuckDuckGo搜索(无需API密钥)、文件读取和自定义Python函数。
环境搭建步骤:创建虚拟环境、安装依赖包(langchain、langchain-openai、duckduckgo-search等)、安全存储API密钥。核心助手构建包括连接到LLM(设置temperature=0.2以平衡一致性和自然语言质量)、设计详细的系统提示词(定义助手行为准则)、添加SQLite持久化记忆、注册工具(搜索和文件读取)。作者强调,系统提示词是最被低估的部分——越具体,越不需要在对话中纠正模型。
最终构建的助手能搜索网络、总结文件、调用自定义函数,成为真正可依赖的工作伙伴。作者认为,虽然对于快速问答或写作辅助买现成的更划算,但若需要深度集成工作流、学习个人偏好并执行特定任务,自建是值得的。