10分钟跑通第一个AI智能体:Python自主智能体框架Upsonic完整实战指南
【免费下载链接】gpt-computer-assistantBuild autonomous AI agents in Python.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-computer-assistant
每天收盘后,你还需要手动查行情、翻公告、整理数据,再敲出一份分析报告?对一个小团队来说,这类重复劳动会吃掉整个晚上。这篇文章用 Upsonic(GPT-Computer-Assistant)做一个股票分析智能体:它自己调用行情工具拿数据、带着记忆连续分析、最后多智能体协作产出结构化报告,全程 Python 实现,核心代码不到 30 行。
Upsonic 帮你省掉的四件事
Upsonic 是一个纯 Python 的自主智能体框架,MIT 协议,pip install upsonic即可装好。它把智能体开发中反复出现的四块"脏活"收进了框架里:
- 自己拼 LLM 调用与工具路由→ 框架封装了
Agent与Task两个核心抽象,你只描述任务,模型调哪个工具、调几次由框架托管 - 每个数据源都要手写 API 集成→ 内置 工具模块 提供现成生态,金融数据、网页搜索、代码执行等按开关启用
- 智能体每次对话都"失忆"→ Memory 模块 提供可持久化的跨任务记忆,就像给智能体配了个记事本
- 复杂任务一个人干不完→ Team 模块 原生支持多智能体分工,三种协作模式覆盖常见编排需求
传统做法和它的对比大概是这样:
| 传统做法 | Upsonic 做法 |
|---|---|
| 手写 LLM 对话循环 + 工具分发 | agent.do(task)一行托管 |
| 每个数据源写一遍请求封装 | 内置工具类,构造时勾选能力 |
| 用数据库表记会话,自己拼上下文 | Memory 自动存取,支持 SQLite/Redis/Postgres |
| 用消息队列自研多智能体编排 | Team 三种模式开箱即用 |
安装 Upsonic 并配置第一个可运行智能体
安装只要一条命令,支持 pip 或 uv:
uv pip install upsonic # 或 pip install upsonic然后把模型密钥写进项目根目录的.env,框架启动时会自动读取:
OPENAI_API_KEY=your_api_key_here ANTHROPIC_API_KEY=your_api_key_here接下来是最小可运行路径——四行代码跑通第一个智能体:
from upsonic import Agent, Task agent = Agent(model="openai/gpt-4o", name="Stock Analyst") result = agent.do(Task(description="分析当前美股大盘走势")) print(result)这段代码在做什么:创建一个绑定 GPT-4o 的智能体,把"分析大盘"描述成一个任务丢给它,do会跑完整轮推理并返回文本结果。如果想在终端里看到工具调用过程,把do换成print_do即可。到这里,你已经有了智能体的"空壳",下面开始往里面装能力。
核心实战:搭建一个股票分析智能体
整个案例围绕一个业务场景:收盘后自动完成"取数 → 分析 → 出报告"。分四块搭。
给智能体挂上金融数据工具
智能体要分析股票,得先能拿到数据。Upsonic 内置了基于 Yahoo Finance 的 YFinanceTools,按构造函数开关选择要启用的子能力:
from upsonic.tools.common_tools import YFinanceTools tools = YFinanceTools(stock_price=True, company_news=True) agent = Agent(model="openai/gpt-4o", name="股票分析师", tools=tools) agent.print_do(Task(description="分析NVDA近一个月股价表现,结合最新新闻判断短期趋势"))工具类不需要你写任何请求逻辑,智能体在推理过程中会自己决定何时调stock_price、何时调company_news。两个关键参数值得留意:构造函数里的布尔开关决定暴露哪些工具,工具数量越少,模型的调用决策越不容易出错;tools也可以挂在单个Task上而非智能体上,实现按任务临时加能力。
为智能体配置持久化记忆
连续分析时你肯定不希望它每轮都忘掉上一轮结论。Memory 就像给智能体配了一个记事本,把会话历史存进存储后端:
from upsonic.storage import Memory from upsonic.storage.providers.sqlite import SqliteStorage storage = SqliteStorage(db_file="agent_memory.db") memory = Memory(storage=storage, session_id="analysis_001", full_session_memory=True) agent = Agent(model="openai/gpt-4o", memory=memory)配好之后,先问"NVDA 上个月表现如何",再问"那它最近有负面新闻吗",第二个任务会自动携带前一个的上下文。这一步是整个流程中唯一需要你显式配置的环节,而且换后端只需换一行:storage支持内存、SQLite、Redis、Postgres 等,接口在 storage 模块 下。session_id是记忆的隔离维度,不同标的、不同客户各开一个会话即可互不串扰。
用 Team 拆分"取数—分析—写作"流水线
单个智能体干所有事,提示词会越写越长,职责也模糊。Upsonic 的 Team 让你把流程切成几个专职角色:
from upsonic import Team data_agent = Agent(model="openai/gpt-4o", name="数据专员", tools=tools) report_agent = Agent(model="openai/gpt-4o", name="报告专员") team = Team(name="股票分析团队", agents=[data_agent, report_agent], mode="sequential") team.print_do(Task(description="完成对NVDA的全面分析,产出含数据、逻辑、结论的结构化报告"))mode是关键参数,三种取值对应不同拓扑:sequential按顺序接力,前一个的输出作为后一个的输入;coordinate由 leader 智能体协调成员分头干活再汇总;route由 router 把任务分发给最合适的成员。多数线性流水线选sequential就够,需要"总调度"语义时再换coordinate。
用 AutonomousAgent 处理工作目录里的文件
报告素材往往散落在文件夹里:财报 PDF、会议记录、日志。这类"要动手操作文件"的任务,用框架专门预配置的AutonomousAgent,它自带文件读写和 shell 工具:
from upsonic import AutonomousAgent agent = AutonomousAgent(model="openai/gpt-4o", workspace="./reports") agent.print_do(Task("读取目录下的季度财报文件,提取三项关键风险并写入 risk_summary.md"))注意workspace参数:所有文件和 shell 操作都被沙箱限制在这个目录内,路径穿越和危险命令会被拦截。这让"让模型执行命令"这件事变得可控——沙箱边界就是安全边界,blocked_commands还能追加自定义黑名单。
进阶方向:文档解析、自定义工具与现成智能体
OCR 文档解析。扫描版 PDF 直接给智能体读不了,Upsonic 提供分层 OCR 管线:Layer 0 负责 PDF 转图与预处理,Layer 1 跑识别引擎。安装upsonic[ocr]后,初始化OCR并传入EasyOCREngine等引擎即可调用get_text("file.pdf"),引擎支持 EasyOCR、PaddleOCR、Tesseract 等,见 ocr 模块。
自定义工具。业务独有的计算用装饰器就能注册:
from upsonic.tools import tool @tool def volatility(prices: list[float]) -> float: """计算一组收盘价的标准差""" ...把返回的volatility加进tools列表,模型就能在推理中调用它。函数签名和 docstring 会自动转成工具 schema,不需要手写 JSON 描述。
预构建智能体。如果你不想从零配系统提示词,prebuilt 目录 下有社区维护的现成智能体(如 applied_scientist),每个都打包好了技能、系统提示和首条消息,装上就能跑,也可以照它的结构给体育、医疗等领域复刻自己的。
适用边界与下一步学习路径
Upsonic 适合数据密集型分析、文档处理、多智能体流水线这类"任务型"场景;它不适合低延迟高并发的在线实时服务——每个任务都会触发完整的多轮模型调用,延迟和 token 成本需要你自己评估。框架只负责编排,模型能力上限仍取决于你接入的模型。
下一步建议按这个顺序走:先看 tests/doc_examples/ 下按 agent、chat、memory、team 分好类的官方示例,每类都短小可直接运行;再对照 Documents/ai/explanation/ 里各模块的机制说明理解底层行为;遇到具体 API 参数,仓库 README 的 Quick Start 部分是最快的速查入口。跑通上面的股票案例后,把sequential换成coordinate、把 SQLite 换成 Redis,就是你熟悉的第二套配置了。
【免费下载链接】gpt-computer-assistantBuild autonomous AI agents in Python.项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-computer-assistant
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考