十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

问财报AI却答非所问?Dexter任务分解机制完整指南

问财报AI却答非所问?Dexter任务分解机制完整指南 问财报AI却答非所问Dexter任务分解机制完整指南【免费下载链接】dexterAn autonomous agent for deep financial research项目地址: https://gitcode.com/GitHub_Trending/dexter19/dexter把特斯拉Q3财务健康状况如何丢进对话框没有工具链的模型往往只能给一个听起来合理的回答。Dexter是一个开源的Autonomous Agent专门做金融研究它靠任务分解处理这类问题先拆问题再用工具查数据最后写结论。Agent Loop闭环想一次、查一次、收一次尾先想一位资深分析师查一家公司的节奏先写下要查什么再打开终端拉数据查完记一句小结然后决定下一步。Dexter的核心循环干的就是这件事入口是src/agent/agent.ts里的run方法。整个过程是一个while循环每一圈叫一次迭代。模型拿到当前上下文后有两种返回一种是发起工具调用系统执行工具、把结果写回上下文进入下一圈另一种是返回纯文本说明模型认为数据够了这段文本就是最终答案循环直接结束。循环靠两块记忆支撑。一块是src/agent/scratchpad.ts里的工作区每次思考、每次工具调用都追加进一个JSONL文件事后可以完整回放研究过程。另一块是内存里的消息数组逐轮增长模型的推理连续性依赖它。所以一轮的完整动作是模型想、模型做、结果被压缩后写回、等待下一轮判断。这里的收尾不是每轮都让模型写摘要常规轮次只做轻量清理上下文超过阈值才会触发真正的总结。把金融问题拆成可执行步骤的三个环节怎么把用户问题匹配到对的工具多数人以为系统靠代码里的关键词匹配来选工具其实不是。src/tools/registry.ts给每个工具登记了何时用、何时别用的说明文字这些说明整体写进系统提示由模型看到问题后自行挑选。以分析AAPL投资价值为例模型会选get_financials查基本面、get_market_data查行情和新闻。注册表还标注每个工具是否可并发只读工具被允许并行跑一轮工具调用结束得更快。为什么迭代次数必须设上限自主智能体最容易掉进反复查同一份数据的死循环。Dexter设了两道防线一道是循环上限maxIterations默认10轮到点后直接告诉用户步骤预算内无法完成而不是硬撑着继续转另一道是Scratchpad里的工具调用计数每个工具建议最多调3次还会对查询做词重叠检测发现你在重复查同一件事就提示模型换工具换关键词或者向用户承认数据缺口。上下文压缩怎么做长调研才不会爆掉工具返回的数据经常比模型装得下的多。Dexter用三层闸门单条结果过大时先落盘上下文里只留预览每轮结果总量有预算上限当估算的上下文token超过阈值再触发一次LLM总结把前面几轮的结果换成一份摘要。关键是原始数据没有丢完整结果都存在工作区文件里压缩只作用于模型这一轮看得见的内容。跟踪一次真实拆解特斯拉Q3财务健康的问题以评估特斯拉2024年Q3的财务健康状况为例实际执行顺序大致是问题判定先弄清目标公司、季度、判断维度三要素确定优先查什么数据第一轮工具调用用read_filings拉取10-Q季报摘出流动性和负债相关章节第二轮工具调用用get_financials取同期资产负债表、利润表和现金流量表生成关键比率第三轮工具调用用get_market_data补充行情与新闻背景也可用stock_screener做同业对照每轮结果都经过落盘与预算检查后写入工作区要点才进入上下文模型判断数据足够时在本轮直接给出最终答案循环结束若先撞上10轮上限则停止并如实说明。3分钟看懂底层架构代码层面三个文件支撑着整套机制分工很明确src/agent/agent.ts跑循环负责模型调用、工具并发执行和上下文管理src/tools/registry.ts管工具清单决定模型能调用哪些工具src/agent/prompts.ts拼装系统提示把智能体的灵魂文档、用户自定义规则、记忆内容和工具说明合成一份提示词。循环的骨架可以浓缩成下面几行while (ctx.iteration this.maxIterations) { const response await this.callModelWithStreaming(messages); if (!hasToolCalls(response)) return handleDirectResponse(response); // 有工具调用执行并把结果写回上下文进入下一轮 }可以看到还要不要继续查的判断完全交给模型系统只管边界条件。这也是整个过程可控的原因模型随时可以停系统也随时能停。这套机制的价值不在让答案更聪明而在让研究过程可控制、可追溯每次工具调用都落盘上下文压缩有明确阈值撞线就停止并如实报告。对需要经得起核对的金融研究场景这比输出更长的文字更重要。想亲手试一下只需要Bun运行时和几个API密钥git clone https://gitcode.com/GitHub_Trending/dexter19/dexter cd dexter bun install克隆完成后执行cp env.example .env填好密钥bun start就能开始提问。【免费下载链接】dexterAn autonomous agent for deep financial research项目地址: https://gitcode.com/GitHub_Trending/dexter19/dexter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表