crypto_project_analyst/financial_analyst_structure.md

381 lines
6.2 KiB
Markdown

# Multi-Agent Crypto Analysis System — Architecture Status Report
## Purpose
This document summarizes the **current state of the system**, what has already been built, and what components remain to be implemented.
It serves as a **quick re-orientation reference** for future development.
---
# 1. System Objective
Build a **fully local multi-agent system** capable of generating structured financial reports on crypto projects.
Core goals:
* Fully local inference
* Modular agent design
* Deterministic infrastructure layers
* Heavy reasoning isolated to a larger model
* Parallelizable agent architecture
* Extensible data sources
---
# 2. Hardware Layout
## Host A — Transformation Layer
GPU: RTX 3070
Model: Qwen 3.5 9B
Responsibilities:
* Aggregation
* Data normalization
* Structural parsing
* JSON output generation
These agents perform **lightweight deterministic transformations**.
---
## Host B — Reasoning Layer
GPU: RTX 3090
Model: OSS GPT 20B
Responsibilities:
* High-level reasoning
* Cross-source synthesis
* Narrative report generation
* Strategic interpretation
This is the **only reasoning layer**.
---
## Orchestration Node
Platform: Proxmox VM
CPU: 8 threads
Responsibilities:
* OpenClaw orchestration
* Agent coordination
* Workflow execution
* Scheduling (future)
No heavy inference runs here.
---
## Operators
---
### 1. url-operator (link discovery operator)
Purpose:
Retrieves a web page and returns a list of links and their respective categories in JSON format.
Capabilities:
* Fetch a single webpage
* Extract hyperlinks
* Normalize URLs
* Deduplicate links
* Link analysis
* Normalize URLs
* Categorizes the links
Link categories:
* GitHub
* Twitter/X
* Documentation
* Website
* Other
Constraints:
* No crawling
* No following links
Status: **Running**
### 2. twitter-operator
Purpose:
Access a local Twitter scraping service.
Capabilities:
* Retrieve tweets
* Retrieve account data
* Return raw JSON
Constraints:
* No tweet interpretation
* No sentiment detection
* No ranking or summarization
Status: **Running**
---
### 3. rss-operator
Purpose:
Access the RSS scraping service.
Capabilities:
* List feeds
* Add feeds
* Remove feeds
* Retrieve stored entries
* Trigger manual fetch
Constraints:
* No news interpretation
* No ranking
* No topic filtering
Status: **Running**
---
### 4. github-operator
Purpose:
Interface with the GitHub scraper service.
Capabilities:
* Extract repository metrics
* Retrieve repository statistics
Metrics returned include:
* stars
* forks
* watchers
* open issues
* language
* license
* contributors
* releases
* latest commit date
Constraints:
* No evaluation of development activity
* No repository ranking
* No popularity inference
Status: **Running**
---
### 5. web-operator
Purpose:
Analyzes the links and decides if they are relevant to the project.
Capabilities:
* Link analysis
* Normalize URLs
* Deduplicate links
* Select links that are relevant to the project
* Of those of relevancy, crawls them and returns a summary of the content
Outputs:
* JSON structure containing relevant links + content
Status: **Not built**
---
## Orchestrator
### Data orchestrator
Responsibilities:
* Receives a categorized list of URLs
* Spawns the operators and prompts them the relevant information
* Awaits for their responses.
* Aggregate the reponses of all the operators and passes them to the analyst.
Constraints:
* No evaluation of content
* No summarization
Outputs:
* JSON structure of the responses of the operators
Status: **Not built**
# 6. Analysis layer
## crypto_analyst
This is the **core reasoning agent**.
Responsibilities:
* consume the data orchestrator output
* correlate signals across sources
* evaluate engagement-weighted signals
* produce structured reports
Outputs:
* narrative analysis
* structured project reports
* signal interpretation
Capabilities:
* interpret meaning
* compare sources
* draw conclusions
* synthesize multi-source evidence
Model used:
OSS GPT 20B.
Status: **Not built**
---
# 7. Current Data Flow
Expected pipeline:
```
user request ---------------> link_discovery_operator (url operator)
|
|
V
rss_operator <------> data_orchestrator <------> web_operator
| | |
twitter_operator <----------| | |----------> github_operator
|
V
crypto_analyst
|
|
V
final report
```
Operators collect raw data.
The analyst interprets it.
---
# 8. Determinism Rules
Operators and orchestration layers must satisfy:
* identical output for identical input
* no hidden loops
* no narrative text
* no random ordering
* no autonomous actions
This enables:
* reproducibility
* debugging
* caching
* parallel execution
---
# 9. Current Implementation Status
Infrastructure:
```
twitter_operator ✓ running
rss_operator ✓ running
github_operator ✓ running
link_discovery_operator ✓ running
web_operator ☐ not built
```
Orchestrators:
```
data_orchestrator ☐ not built
```
Analysis layer:
```
crypto_analyst ☐ not built
```
---
# 10. Immediate Next Steps
Priority order:
1. Implement operators
* web-operator
2. Implement orchestrators
* data-orchestrator
3. Define analyst input strategy
4. Implement crypto-analyst
5. Run full pipeline tests
---
# 12. Long-Term Extensions
Possible future additions:
* Discord operator
* Governance forum operator
* On-chain data operator
* Sentiment analysis modules
* Market data feeds
The architecture is designed to **add sources without modifying the analyst core**.
---
# Summary
The **infrastructure layer is complete**, all four operators already running.
The next development phase focuses on the **orchestrator layer** followed by the **analysis agent**.
Once these components are implemented, the system will be capable of producing **fully local multi-source crypto project reports**.