AI Agent 量化课程 · 第 1 课
看懂 AI Agent 怎么干活
从 0 拉起你的量化研究项目 —— 一句话需求,如何变成一份可验证的行情数据
课程结束时:你会拿到一份真实产出的 data/market/1d/SHSE.600000.parquet,
并且能说清 Agent 为什么按这个顺序读文件、调接口、给证据。
开场
两个学员,同一句话,两种结果
学员 A:帮我下载浦发银行的数据
学员 B:帮我下载浦发银行的数据
AI:先确认一下——是 SHSE.600000 吗?要日线还是分钟线?哪段日期?
AI:好的,正在写一个 download_stock.py 帮你下载……
同一句话、同样是 AI,为什么一个先反问、一个直接动手写脚本?差别会在结果上体现出来吗?
这节课结束时
你能做到
- 区分 AI Chatbot 与 AI Agent(能不能真正调用工具)
- 用"标的 + 频率 + 日期"三要素说清一个数据需求
- 解释 Context Window、渐进式披露、工具调用这三个概念,以及它们怎么串起来
- 预测一次真实任务里 Agent 会按什么顺序读文件、调接口,并和真实执行结果对照
今天不讲任何量化策略知识——下载一份日线数据,只是用来观察 Agent 工作方式的载体。
组块 A:Prompt / Context Window
→
组块 B:渐进式披露 / 工具调用
→
综合应用:真实案例复盘
开始之前 · 工具准备
认识你的工具:CodeBuddy IDE
AI coding 工具 = 一个内置了 AI Agent 的代码编辑器——本课程以 CodeBuddy 为例,
其他同类 AI coding 工具的核心结构和用法是一样的。
左侧:文件树
看到项目目录结构
+
中间:编辑区
查看文件/代码内容
+
对话面板
用自然语言提任务
开始之前 · 工具准备
打开本项目:一步确认
打开 CodeBuddy
→
打开文件夹,选择 QuantSpace 仓库所在目录
→
左侧文件树里能看到 skills/、strategies/、scripts/、AGENTS.md
验收标准:能在文件树里找到 AGENTS.md——这正是待会儿组块 A
要讲到的、Agent 接下来会自动读取的第一个文件。
组块 A · Prompt
Prompt:先把这一次要什么说清楚
Prompt 是用户在这一次交互中交给 AI 的任务说明——它只负责"这一次要什么数据"。
symbol:下载什么
+
frequency:什么频率
+
date range:哪段日期
帮我下载 SHSE.600000 从 20230101 到 20231231 的日线数据。
数据源、公共 API、保存格式、目录约定、验证方式——这些不需要每次写进 Prompt,项目长期维护它们。
组块 A · Context Window
Context Window:AI 的当前工作台
AI 当前这一刻能一起参考的信息范围,容量有限——就像修理机器时的工作台。
上下文太少
可能遗漏项目规则、误解接口
上下文太多
无关信息占空间、分散注意力、稀释关键规则
Context Window 不是项目硬盘——没被读取的文件不会自动出现在当前上下文里;工具调用返回的新结果,也会占用并更新当前上下文。
Prompt、AGENTS.md 与 SKILL.md
| 信息来源 | 主要回答的问题 | 作用时间 | 本课示例 |
| Prompt | 这一次要完成什么? | 当前任务 | symbol、日期、频率 |
AGENTS.md | 在这个项目里应该怎样工作? | 项目内长期适用 | 用 uv run、优先复用 skills/ |
skills/ingest/SKILL.md | 这一类任务有哪些现成方法? | 相关任务触发时加载 | PandaDataClient、symbol 转换 |
一句话记忆:Prompt 说目标,AGENTS.md 说规矩,SKILL.md 说方法。
动手看看:工作台会不会被挤爆
不看笔记回答 · 自己动手写
「帮我下载浦发银行的数据」——
1. 这句话已经说清了什么?
2. AI 要完成任务还缺哪三类信息?
3. 把这三类信息补全,改写成一句可执行的 Prompt。
组块 B · 渐进式披露
渐进式披露:需要什么,再读什么
不是新的模型算法,而是一种上下文工程设计原则——先看到能判断相关性的少量信息,再按任务逐层深入。
| 层级 | 先看到什么 | 解决的问题 |
| 1 · 索引 | Skill 名称、简介、路径 | 这项能力与当前任务有关吗? |
| 2 · 说明 | SKILL.md 正文 | 应该怎样完成这类任务? |
| 3 · 细节 | references/、脚本 | 这个具体情况还需要什么? |
组块 B · 具体例子
套到今天的任务上:Agent 怎么找到这个方法?
还是这句 Prompt:「帮我下载 SHSE.600000 从 20230101 到 20231231 的日线数据」。
1 · 索引层:扫描 skills/*/SKILL.md 的 name+description → 判断 ingest(取数)、store(存数)都相关
→
2 · 说明层:分别打开这两份 SKILL.md 正文
→
摘出 fetch_market_data(...) 和 DataManager.save_symbol(...)
注意:Agent 没有打开 skills/backtest/、skills/ml/ 等和"下载一份日线数据"无关的正文——
这就是渐进式披露"先索引、再按需读正文"在真实调用里的样子,不是一句抽象口号。
组块 B · 工具调用
Chatbot 与 Agent:差在能不能真正动手
Chatbot 主要生成回答;Agent 能通过工具调用读取外部信息、执行真实动作,再根据结果继续工作。
模型决定下一步
→
发出工具请求(调用哪个工具/什么参数)
→
环境真正执行
→
返回结果,模型据此决定下一步
不看笔记回答 · 独立完成
如果把「帮我下载 SHSE.600000 从 20230101 到 20231231 的日线数据」
发给一个遵守 QuantSpace 项目规则的 Agent,它会按什么顺序读取文件、调用哪些接口?
只写顺序清单,不需要写出具体参数。
综合应用 · 真实案例
一句话背后,项目真的做了什么?
学员:帮我下载 SHSE.600000 从 20230101 到 20231231 的日线数据。
下一页把这句话背后 Agent 真实经历的每一步拆开,逐步演示给你看。
动手看看:Agent 是怎么一步步做完的
真实产出证据
| 验收项 | 实际结果 |
| 行数 | 242 |
| 日期范围 | 2023-01-03 ~ 2023-12-29 |
| 保存路径 | data/market/1d/SHSE.600000.parquet |
| 索引 | eob,时间升序且唯一 |
| OHLCV 质量检查 | PASS |
现在拿出你刚才写的预测清单:顺序对上了吗?漏了哪一步?多写了真实执行里没有的哪一步?
今天学到了什么?
先补完这张图的两个空格,再用一句话总结——这也是今天要带走的课堂核心产出之一。
Prompt
→
AGENTS.md
→
?
→
工具调用
→
?
用自己的话写一句话:今天我学到的最重要一件事是……(不能照抄大纲文字)
课后作业
本节课有两个作业
作业 1:补完这张图的两个空格,再用一句话总结。
Prompt
→
AGENTS.md
→
?
→
工具调用
→
?
作业 2:自己通过和 AI 对话,来下载一份数据。
下节预告
从一个标的,到批量下载
第 2 课:四个期货品种、两个频率、一段日期——同样一句话讲清业务目标,Agent 如何自动拆成多个数据任务?
今天的 Prompt / Context Window / 渐进式披露 / 工具调用这套心智模型不会变,变的只是任务的复杂度。