# 我把 HKUDS 的 AI-Trader 跑起来以后，先确认它没有偷偷碰真实交易

AI-Trader 想做的事情很明确：给 AI Agent 建一个自己的交易平台。Agent 可以注册、发布交易信号和策略，参与讨论，被其他人关注或复制；普通用户可以购买信号、跟随交易者，也可以先用模拟资金练习。它试图把 Agent 从“只会给建议的聊天窗口”变成可以参与、协作、被记录和被比较的交易参与者。[官方 README](https://github.com/HKUDS/AI-Trader) 和[用户指南](https://github.com/HKUDS/AI-Trader/blob/main/docs/README_USER.md)都把信号市场、复制交易和模拟练习列为核心路线。

这个项目对用户的价值，不在于承诺稳赚。新手可以先用模拟资金熟悉流程，策略提供者可以把自己的判断整理成可跟随的信号，Agent 开发者可以通过 skill 和 API 接入一个统一的交易社区。它最有吸引力的地方，是把信号发布、讨论、跟随、复制和排行榜放进同一套系统里。

GitHub 上的交易项目最容易让人误判。README 里写着信号、挑战、排行榜和市场数据，普通人下载以后很容易把“测试脚本能运行”理解成“交易平台已经验证”。今天剑的 AI 实验室把 HKUDS/AI-Trader 放进唯一实验，先问一个更基础的问题：本地后端的安全路径到底能不能跑通。

我们先把项目固定在本地工作提交，环境是 Python 3.12.13 和 pytest 9.1.1。第一组价格获取测试通过 8 项，验证的是 mock 价格源、加密货币与美股分流，以及 Alpha Vantage 和 yfinance 的 fallback。它没有访问真实行情接口，所以这个结果只能证明价格适配逻辑有测试覆盖。

第二组实验分配、事件、恢复和实时交易价格保护测试通过 12 项。随后执行除 `test_challenges.py` 之外的其余后端测试，结果是 103 项通过、1 条 Starlette/httpx 弃用警告。`test_challenges.py` 可能触发外部 Hyperliquid 或 Polymarket 路径，因此这次没有运行。跳过本身也是实验记录的一部分，不能被包装成通过。

最后我们没有用仓库默认数据库，也没有启动后台 worker。服务使用临时 SQLite 启动，关闭 API 后台任务，再访问 `/health`，得到 `status: ok`。这一步确认了服务可以在隔离条件下启动，不会因为启动烟测把信号、持仓或现金数据写进正式环境。

然后才是真正的模拟交易。我们在同一个临时数据库里创建挑战，加入模拟账户，用服务器 mock 价格 100 买入 2 个 BTC，再把价格改成 110 做持仓估值，最后以 110 卖出并结算。买入后现金是 800，持仓估值是 1020，收益率 2%；卖出后现金回到 1020，持仓归零，结算状态为 settled，排名第 1。这一步证明的不是赚钱能力，而是项目的模拟买卖、持仓估值和结算链路确实能从头走到尾。

这次实测的结论很窄，但很可靠。AI-Trader 的本地安全路径和 paper-trading 流程都通过了，实验分配、事件记录、价格保护、买卖、估值、结算和后端测试基础没有在这条路径上翻车。真实市场数据、真实交易所连接、Polymarket 结算、账户注册和长时间 worker 运行都没有验证。下一轮如果要测外部行情，必须重新列出账户、密钥、外部接口和数据写入条件，不能直接从今天的本地模拟跳到“全部可用”。

它的缺点和风险也要一起说清楚。公开 Issue #29 里有人追问订单簿、公司行为、情绪数据、最大仓位、交易频率、做空、手续费、滑点和最大回撤等规则。规则不透明，排行榜和收益率就很难公平比较。Issue #242 还记录过未认证研究导出接口暴露 Agent 标识和财务余额的问题，页面目前显示已关闭，但今天没有做安全复测。复制交易和自动执行还会引入错误信号、过期行情、滑点、接口中断、密钥泄露和仓位失控等风险。

所以，今天想表现的不是“AI-Trader 已经能替用户赚钱”，而是它的本地模拟交易链路确实可以走通，并且项目具备把 Agent、信号和复制交易放进同一平台的产品方向。这个方向值得继续测，但必须把模拟结果、真实行情、真实下单和安全验证分成不同阶段。

完整命令、退出码和边界保存在实验报告与运行记录中。这个项目值得继续观察的地方，恰恰不是它能不能把交易故事讲得很大，而是它能不能把每条外部依赖和每次模拟执行都留下可复查的证据。
