← Back to work

LLM Agents · Multi-agent · 2026

觀瀾 · Financial Analyst — A-Share Research Workstation

Role
Design · Implementation
Stack
Python · LLM (multi-provider) · Qlib · HF Datasets
Context
Open source · PyPI · v1.0.6
Year
2026
  • 24 · 4 tiers
    Agents
  • 712
    Tests
  • PyPI · v1.0.6
    Release
  • ~10 min
    Time to report

A multi-agent A-share research workstation: 24 agents across four trust tiers produce a fundamentals / technicals / whale / quant + bull-bear debate report in about ten minutes. Published on PyPI (v1.0.6), 712 tests.

Background

A-share research is noisy and fragmented; one person can hardly track fundamentals, technicals and capital flows at once. I wanted a system that collaborates like a team — many agents, each with a job — producing a report you can actually audit, not a black box but a chain you can interrogate layer by layer.

Approach

24 agents across four trust tiers, with "the ability to touch untrusted content" and "the authority to decide what to write" structurally separated. Each tier has a different job, a different trust level, and different file permissions.

  • Data tier — reads untrusted news / filings, output JSON-schema-locked into structured fields only
  • Analyst tier — fundamental / technical / sentiment / quant; one or a few agents per track
  • Decision tier — bull, bear, risk officer, report-writer (only the writer can touch files)
  • Introspector — a fourth-tier agent doing self-audit on the first three

Key design

Quant systems depend on memory more than they look like they do — a wrong belief, once written, compounds.

  • Single-writer pattern — out of 24 agents only report-writer touches disk, so they never fight
  • Pluggable markdown memory + FTS5 retrieval — each agent carries its own small store
  • Dream loop self-iteration — past reports plus real prices feed back into experience, but always behind human review; auto-accept is off
  • JSON schema locks the untrusted-content entry point — raw text never reaches downstream decisions

Engineering details

The bits that make people actually use it often matter more than the model itself.

  • `fa start` is a zero-config one-command launch (wizard + backend + Web UI + browser auto-opens)
  • 31 buddy tools and 5 swarm presets for scenario reuse
  • Four LLM providers hot-swap (qwen / deepseek / openai / anthropic); Aliyun Bailian's 1M free-token credit covers ~150 reports
  • Datasets on HuggingFace — demo 155 MB / lite 3 GB / full 14 GB; CN users get 3-10× speedup via hf-mirror or ModelScope

Status

Stable release on PyPI (v1.0.6) with 712 tests passing. Source, PyPI, datasets, and the bilingual build journey all open.