Skip to content

11_Tech_Agent_Design

Wyckoff edited this page Jun 21, 2026 · 48 revisions

Wyckoff Agent 工作机制 系列索引

本文为 Wyckoff Trading Agent 设计与实现机制的导航索引。为提升阅读体验,原技术文档已拆分为 9 篇独立章节:

系列章节目录

  1. (一) 运行时 Loop 与 Provider 抽象
    • CLI/TUI Agent 核心主循环与事件流。
    • Provider 适配层抽象、滑动提示词缓存生命周期与度量。
  2. (二) 工具调度与高风险确认
    • 必需工具识别、高风险工具静默拦截与 ask_user 二次确认机制。
  3. (三) 上下文双向切分与可恢复压缩
    • 动态安全垫计算、双向切分与尾部依赖保护。
    • 预裁剪、记忆刷写与原文归档流程。
  4. (四) 记忆系统分层与四路召回
    • L1/L2/L3 三层语义记忆模型。
    • FTS5 全文检索、精确匹配、2-gram LIKE 与历史归档四路召回算法。
  5. (五) Loop Guard 死循环拦截
    • 重试纠偏与 Doom-loop 死循环检测算法。
  6. (六) 后台长任务与通知唤醒
    • 长任务注册、并发调度与 [SYSTEM NOTIFICATION] 唤醒机制。
  7. (七) Sub-Agent 委派编排
    • Supervisor 委派模式、白名单治理、预算裁剪与 fallback 降级。
  8. (八) Scratchpad 运行追踪与可观测性
    • 会话 turn 级别运行轨迹 JSONL 结构及可观测性。
  9. (九) 多端应用适配 (Web & MCP & Skills)
    • Web Agent 面向 CF Pages 的轻量化实现。
    • MCP Server Tier 1-3 权限设计与 FastMCP 封装。
    • Skills / Prompt 模板延迟加载与故障切换。

本页记录 WyckoffAgent 当前代码中的 Agent(智能体)工程设计,重点解释 CLI(命令行)/ TUI(终端图形界面)里的完整 Agent Runtime(智能体运行时),以及 Web(网页端)、MCP(模型上下文协议)如何复用工具层但采用不同运行时。

英文术语速查

英文术语 中文释义
Agent 智能体:能根据目标自主选择工具、多轮执行并输出结果的程序
Runtime 运行时:负责模型调用、工具执行、循环控制、上下文压缩和追踪
CLI 命令行界面:通过终端命令使用系统
TUI 终端图形界面:在终端里显示类似 GUI 的交互界面
Web 网页端:浏览器里的在线读盘室
CF Pages Cloudflare Pages 边缘页面:承载 Web 前端和边缘函数
MCP 模型上下文协议:给 Claude Code、Cursor 等外部 Agent 暴露工具的协议
Provider 模型适配层:把不同模型供应商统一成同一套调用接口
Tool Schema 工具定义:告诉模型工具名、用途和参数格式
Tool Call 工具调用:模型决定调用某个工具并给出参数
ReAct 推理-行动循环:模型先推理,再调用工具,观察结果后继续推理
Loop Guard 循环守卫:运行时强制模型补调必须工具的保护机制
Doom-loop 死循环:模型反复用同一参数调用同一工具
Scratchpad 运行追踪文件:记录一轮对话中的模型、工具、压缩和最终结果
Sub-agent 子智能体:只负责某类任务的小 Agent
Context Window 上下文窗口:模型一次请求能容纳的最大上下文长度
Compaction 上下文压缩:把旧对话压成摘要,给后续轮次腾空间
Memory 记忆:跨会话保留的稳定偏好和决策逻辑
Fallback 故障切换:主模型失败时自动换备用模型
Reasoning 推理内容:部分模型输出的内部思考过程
Token 令牌:模型上下文长度和计费的基本单位
SSE 服务端事件流:流式响应的一种传输格式
Daemon Thread 守护线程:后台线程,进程退出时自动回收
System Prompt 系统提示词:约束模型行为的顶层指令
Skill 技能模板:预设的一类用户任务提示

0. 当前实现边界

WyckoffAgent 不是单一入口,而是三条通道共享同一套金融能力:

通道 入口 运行时 对话/工具编排 适合场景
React Web(网页端)/ CF Pages(Cloudflare Pages 边缘页面) web/apps/web/ Vercel AI SDK(Vercel 的 AI 工具包)streamText(流式文本生成) Web 端独立工具循环,stopWhen(stepCountIs(10))(达到 10 步就停止) 在线读盘室、浏览器用户
CLI(命令行)/ TUI(终端图形界面) wyckoff cli/runtime.py::AgentRuntime 完整 ReAct loop(推理-行动循环)、记忆、上下文压缩、后台任务、sub-agent(子智能体) 本地深度投研和工具型 Agent
MCP Server(模型上下文协议服务) wyckoff-mcp FastMCP stdio(标准输入输出通信) 无内置对话 loop(循环),只暴露工具 Claude Code / Cursor 等外部 Agent 调用

共享层是 agents/chat_tools.py 和核心分析引擎;不同入口只是在运行时、权限、展示和状态管理上分化。

关键边界:

  • CLI/TUI 是最完整的 Agent Runtime(智能体运行时):负责 provider(模型适配层)调用、工具执行、并发分批、上下文压缩、Loop Guard(循环守卫)、doom-loop(死循环)检测、scratchpad(运行追踪文件)、后台任务和 sub-agent(子智能体)。
  • Web 不复用 AgentRuntime:它使用 web/apps/web/src/lib/chat-agent.ts 中的 Vercel AI SDK(Vercel 的 AI 工具包)工具循环,保留流式输出、工具调用、上下文本地摘要和 reasoning(推理内容)透传,但不接入 CLI 的 SQLite(本地轻量数据库)记忆、scratchpad(运行追踪文件)和 sub-agent(子智能体)。
  • MCP 不具备会话智能mcp_server.py 只是把 Wyckoff 能力注册成 MCP tools(模型上下文协议工具),推理和多轮编排由外部客户端负责。

Clone this wiki locally