【免费下载链接】LangAlpha
Claude Code for Financial Market
LangAlpha 是一款面向金融市场的开源 AI Agent 框架(Claude Code for Financial Market),其核心原理是Programmatic Tool Calling(PTC,程序化工具调用):它把任意 MCP 服务器自动转换为一个带文档的Python 模块,AI 模型不再逐个发 JSON 工具调用,而是直接写 Python 代码import这些工具,在沙箱里批量处理金融数据,只有最终结果回到模型上下文。
为什么传统 MCP 工具调用不够用?
传统 MCP 用法是:每个工具绑定为一次 JSON 工具调用,模型一次调一个、拿回一段结果。这在两种场景下会很吃力:
| 场景 | 传统 JSON 工具调用的问题 |
|---|---|
| 工具太多 | 每个服务器的完整 schema 都要随每次请求携带,浪费 token |
| 数据是表格 | 12 只股票 × 10 年日线 ≈ 3 万行数据,塞进上下文会撑爆窗口,模型也无法"读懂"成片的表格文本 |
LangAlpha 的解法一句话概括:让模型写代码,而不是搬运数据。
三步看懂:MCP 工具是如何变成 Python 模块的
第 1 步:生成包装函数
LangAlpha 在 src/ptc_agent/core/tool_generator.py 中的ToolFunctionGenerator读取每个 MCP 服务器的工具 schema,自动生成一个 Python 模块:
- 每个 MCP 工具 → 一个带类型注解的 Python 函数(参数名、必填/可选、枚举值都从 schema 解析而来)
- 每个工具 → 一份 Markdown 文档,写到沙箱的
tools/docs/<服务器名>/目录 - 参数名若是 Python 关键字(如
type)会自动改名并保留"线上名"映射,保证调用不错位
第 2 步:装进沙箱,挂好 MCP 客户端
install_tool_modules 把生成的模块批量上传到沙箱,同时生成一份 mcp_client.py——它是静态的 MCP 客户端运行时 + 每工作区一份 JSON 配置(通过哪种传输方式连哪个服务器:stdio 本地进程、HTTP、或 OAuth 中继)。这样沙箱里的代码一调用函数,就能真的打到 MCP 服务器上。
第 3 步:模型写代码,数据留在沙箱
模型通过ExecuteCode工具(code_execution.py)执行 Python,写法就是普通的 import:
from tools.price_data import get_stock_data data = get_stock_data(symbol="CBRS", interval="1d", period="1y") # 在沙箱里聚合、建模、画图…… print(data["data"].iloc[-1]) # 只有结果回到上下文那 3 万行 K 线数据全程留在沙箱里被 pandas 处理,回到模型上下文的只有打印出来的摘要或一张图表。
省 token 的关键:工具文档按需加载
在 formatter.py 里可以看到,系统提示中每个 MCP 服务器只占几行:
langalpha_market_data: 市场数据 MCP 服务器 - Module: tools/langalpha_market_data.py - Tools: N tools available - Import: from tools.langalpha_market_data import <tool_name>完整文档在沙箱的文件里,模型第一次需要某个服务器时才去读它的.md。新增一个 MCP 服务器,提示词只贵一行——这是 PTC 相对 JSON 工具绑定的直接收益。
数据留在哪?证据在 Sources 面板
PTC 不只是省 token,还让"证据链"更完整:无论模型是直接调用工具,还是它的 Python/Bash 在沙箱里调用,LangAlpha 的数据溯源层都会记录提供方、参数、时间戳和结果指纹,在聊天界面的 Sources 面板逐轮展示,你可以核对答案背后到底用了哪些数据。
什么时候不走 Python?直接 JSON 调用更安全
代码是默认路径,但不是唯一路径。涉及敏感操作(尤其是券商下单)的工具被固定为直接 JSON 工具调用:一次调用 = 一道系统可见、可审批、只执行一次的订单,沙箱脚本无法绕过。每个工具都可在 Plugins 页面单独切换曝光模式(summary/detailed)或调用方式,详见 plugins/ 下的插件目录与 plugins/README.md。
想扩展自己的 MCP 服务器?
LangAlpha 内置的市场数据、基本面、期权等服务器都以插件包形式放在 plugins/ 下(如 plugins/langalpha_market_data/),遵循 Agent Plugins 格式,你也可以在 Plugins 页面从 git 地址安装第三方服务器,或通过 agent_config.yaml 自定义子代理。整体全栈架构可参考仓库根目录的 README.md。
小结:LangAlpha 的 PTC 用"生成 Python 模块 + 沙箱执行 + 文档按需加载"三板斧,解决了金融 Agent 的两个痛点——工具 schema 吃上下文、表格数据塞不进窗口。这正是它被称为"金融市场里的 Claude Code"的核心原理。
【免费下载链接】LangAlpha
Claude Code for Financial Market
相关推荐
mistral.rs 手动工具定义实现函数调用(Tool Calling)完整指南
mistral.rs 手动工具定义实现函数调用(Tool Calling)完整指南 本篇技术指南围绕 mistral.rs 官方 Rust 进阶示例 tools
推理引擎模型推理服务AI Agent多模态Sonic-Cpp高级特性:JSON指针、自定义分配器与错误处理技巧
Sonic Cpp高级特性:JSON指针、自定义分配器与错误处理技巧 Sonic Cpp是一款基于SIMD加速的高性能JSON序列化与反序列化库,通过利用现代C
如何快速上手 Google GenAI Python SDK:完整使用指南
如何快速上手 Google GenAI Python SDK:完整使用指南 Google GenAI Python SDK 是开发者将 Google 强大的生成
人工智能大模型AI 应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考