# AI Berkshire Private Company Research Strategy: A Multi-Agent Deep-Dive Workflow

> Explore AI Berkshire's multi-agent strategy for private company research. Discover how it assembles fragmented data, marks confidence levels, and cross-validates information for structured investment reports.

- Repository: [Xbt Lin/ai-berkshire](https://github.com/xbtlin/ai-berkshire)
- Tags: how-to-guide
- Published: 2026-06-27

---

**AI Berkshire treats private-company research as a parallel, multi-agent workflow that assembles fragmented data from low-confidence sources, explicitly marks confidence levels with color-coded indicators, and cross-validates every key datum before generating a structured investment report.**

The `xbtlin/ai-berkshire` repository implements a specialized framework for analyzing unlisted companies where public financial disclosures are unavailable. Defined in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md), this strategy deploys six specialized agents simultaneously to reconstruct a private company's business model, financial health, competitive position, and risk factors while adhering to strict bias-mitigation protocols.

## Core Philosophy and Bias Controls

The framework acknowledges that **information scarcity** is the default state for private companies. Rather than fabricating data to fill gaps, the system assembles fragmented evidence from multiple low-confidence sources and explicitly marks each piece of data with confidence levels: 🟢 high, 🟡 medium, or 🔴 low.

According to lines 15-30 of [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md), the AI follows **self-aware bias handling** principles:

- Leave blanks rather than fabricate data when sources cannot be found
- Separate "verifiable facts" (plain text) from "reasoned inference" (italicized)
- Adopt a "first-principles mode" when data is extremely sparse, answering only four core questions: business problem, team advantage, upside-downside ceiling, and key validation nodes

## The Six-Agent Team Structure

The research task is decomposed across six specialized roles defined at lines 45-53 of the skill file. Each agent operates with a specific analytical lens:

- **team-lead**: Orchestrates the entire workflow, cross-validates data conflicts, and assembles the final investment decision integration
- **business-decoder**: Analyzes business models and user dynamics through the lens "What is the core business?"
- **financial-detective**: Reconstructs financial pictures under data gaps using the approach "Reconstruct financial picture under data gaps"
- **competitive-mapper**: Maps industry landscapes and substitutes, asking "Who competes and how?"
- **risk-governance-analyst**: Evaluates governance, management, and risk spectrum with "What can go wrong?"
- **tech-ip-analyst**: Assesses technology stacks, patents, and R&D capability to determine "Are there real tech moats?"
- **signal-miner**: Harvests alternative data including recruiting trends, app metrics, and legal filings to find "Hidden signals beyond news"

## Execution Workflow

The research process follows a rigorous seven-step execution pattern defined in the "第二步" (Step 2) through "第七步" (Step 7) sections of the skill file.

### Team Creation and Task Generation

First, the system creates a research team via a `TeamCreate` call with parameters `team_name: {company-name}-private-research` and `agent_type: team-lead`. Then it generates six parallel `TaskCreate` calls, each corresponding to the specialized roles above.

Each task embeds a **subject**, **description**, and an **activeForm** that drives the agent's specific investigation. The tasks are enumerated from "任务1：商业模式与产品用户深度分析" through "任务6：替代数据信号挖掘" (lines 61-71).

### Parallel Agent Execution

All six agents run concurrently (launched via a single message as described in the "第七步" block). Each agent receives a tailored prompt that reiterates the bias-aware research rules and requires:

- Multi-keyword web searches in both Chinese and English
- Full-article retrieval via `WebFetch`
- Cross-validation of every key datum with at least two independent sources

### Cross-Validation and Signal Consistency

After the agents complete their individual research, the `team-lead` executes the synthesis phase detailed from lines 650-1060:

1. Resolves conflicting data points by listing all sources and rationalizing the chosen value
2. Checks consistency across dimensions (e.g., business growth claims versus hiring trends)
3. Flags "white/gray/black" zones indicating known, partially known, and unknown information

### Final Report Assembly

The system writes a structured markdown report to `reports/{company}/{company}-private-{YYYYMMDD}.md`. This file contains:

- A one-sentence valuation summary
- Six-dimensional scorecards covering business model, finance, industry, risk, tech, and alternative signals
- Consolidated, cross-validated data tables with source attribution
- Investment theses (bull and bear cases) with exit-path analysis

## Data Source Hierarchy and Confidence Levels

The framework prioritizes sources according to a strict hierarchy defined in the "数据来源矩阵" section (lines 83-98):

| Priority | Source Type | Confidence |
|----------|------------|------------|
| 1 | Prospectus / regulatory filings (招股书 / 监管文件) | 🟢 High |
| 2 | Parent company / listed affiliate annual reports | 🟢 High |
| 3 | Regulatory penalties / compliance disclosures | 🟢 High |
| 4 | Bond / ABS issuance documents | 🟢 High |
| 5 | Business registration data (天眼查、企查查) | 🟡 Medium-high |
| 6 | Funding news and valuation reports | 🟡 Medium |
| 7 | Third-party research reports | 🟡 Medium |
| 8 | Premium media (36Kr, The Information, Bloomberg) | 🟡 Medium |
| 9 | Industry data extrapolation | 🔴 Low-medium |
| 10 | Former employee / insider leaks | 🔴 Low |

## Implementation Examples

You can trigger the private-company research workflow via API calls or CLI commands that map directly to the `TeamCreate` and `TaskCreate` actions.

### Python API Invocation

```python
import requests
import json

# Step 1: Create the research team

team_payload = {
    "team_name": "antgroup-private-research",
    "agent_type": "team-lead"
}
team_resp = requests.post(
    "https://api.ai-berkshire.com/v1/team/create",
    json=team_payload,
    headers={"Authorization": "Bearer <YOUR_TOKEN>"}
)
team_id = team_resp.json()["team_id"]

# Step 2: Generate tasks for each agent

tasks = [
    {
        "team_id": team_id,
        "subject": "拆解Ant Group商业模式、产品矩阵与用户生态",
        "description": "Deep-dive analysis of business model and user ecosystem...",
        "activeForm": "分析Ant Group商业模式与用户生态"
    },
    # Additional tasks for financial-detective, competitive-mapper, etc.

]

for t in tasks:
    requests.post(
        "https://api.ai-berkshire.com/v1/task/create",
        json=t,
        headers={"Authorization": "Bearer <YOUR_TOKEN>"}
    )

```

### CLI-Style Orchestration

```bash

# Create team

ai-berkshire team create \
  --name antgroup-private-research \
  --role team-lead

# Create tasks for each role

ai-berkshire task create \
  --team antgroup-private-research \
  --role business-decoder \
  --subject "拆解Ant Group商业模式、产品矩阵与用户生态" \
  --form "分析Ant Group商业模式与用户生态"

# Repeat for financial-detective, competitive-mapper, risk-governance-analyst,

# tech-ip-analyst, and signal-miner

```

## Summary

- **AI Berkshire** implements a six-agent parallel research framework defined in [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md) for analyzing unlisted companies.
- The **team-lead** agent orchestrates **business-decoder**, **financial-detective**, **competitive-mapper**, **risk-governance-analyst**, **tech-ip-analyst**, and **signal-miner** roles.
- Every data point receives a **confidence marker** (🟢🟡🔴) and requires **cross-validation** from at least two sources before inclusion in the final report.
- The system outputs structured markdown reports to `reports/{company}/{company}-private-{YYYYMMDD}.md` containing six-dimensional scorecards and investment theses.
- **Bias mitigation** is enforced through explicit rules: mark sources, separate facts from inference, and leave blanks rather than fabricate data.

## Frequently Asked Questions

### How does AI Berkshire handle missing data when researching private companies?

The framework explicitly instructs agents to **leave blanks rather than fabricate data** when sources cannot be found. According to lines 15-30 of [`skills/private-company-research.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/private-company-research.md), the system adopts a "first-principles mode" for extremely sparse data, answering only four core questions about the business problem, team advantage, upside-downside ceiling, and key validation nodes.

### What are the six specialized agents in the AI Berkshire research team?

The six agents are: **team-lead** (orchestration), **business-decoder** (business model analysis), **financial-detective** (financial reconstruction), **competitive-mapper** (industry landscape), **risk-governance-analyst** (risk assessment), and **tech-ip-analyst** (technology moats). A seventh role, **signal-miner**, harvests alternative data such as recruiting trends and app metrics.

### Where does AI Berkshire store the final research reports on private companies?

Final reports are written to `reports/{company}/{company}-private-{YYYYMMDD}.md` within the repository structure. Each report includes a one-sentence valuation summary, six-dimensional scorecards, cross-validated data tables with source attribution, and bull/bear investment theses.

### What confidence levels does AI Berkshire assign to different data sources?

The system uses a three-tier hierarchy: **🟢 High** confidence for prospectuses, regulatory filings, and listed affiliate reports; **🟡 Medium** confidence for business registrations, funding news, and third-party research; and **🔴 Low** confidence for industry extrapolations and unverified insider leaks. This hierarchy is defined in the "数据来源矩阵" section at lines 83-98 of the skill file.