Hạ tầng dữ kiện cho tác nhân

Dữ kiện tài chính có dẫn nguồn, được cấu trúc cho agent AI.

CLI + Skill và MCP là các giao diện chính cho agent; REST cung cấp truyền tải HTTPS và theo lô. Mỗi phản hồi bao gồm siêu dữ liệu trạng thái và quản trị; các dữ kiện được trả về được liên kết với bằng chứng nguồn và ngữ nghĩa thời gian.

Các lượt gọi chính của agent dùng CLI + Skill hoặc MCP; REST cung cấp truyền tải HTTPS và theo lô.

Khám phá đi trước thực thi. Mọi lượt gọi thành công hoặc bị từ chối đều có cấu trúc, giới hạn rõ ràng và có thể kiểm toán.
ARGUS / SYSTEM MAPMột lộ trình được quản trị từ đầu đến cuối

Chọn giao diện phù hợp với AI agent của bạn

Cả ba đường dẫn truy cập đều đi vào cùng một CoreServiceBoundary. Các quy tắc về Tenant, quyền, giấy phép, bằng chứng, nguồn gốc và kiểm toán không thay đổi theo ứng dụng khách.

01CLIOAuth · browser sign-in · JSON stdout
argus auth login
argus --base-url https://api.argusfa.com entity-resolve \
  --identifier-type lei \
  --identifier-value HWUPKR0MPOU8FGXBT394

Tài liệu kỹ thuật: CLI

02RESTOAuth Bearer · HTTPS · JSON · OpenAPI
# First run: argus auth login
import json
from urllib.request import Request, HTTPRedirectHandler, build_opener
from argus.cli.oauth import CliOAuthProfile

profile = CliOAuthProfile()
token = profile.client().access_token()
if token is None:
    raise RuntimeError("Run argus auth login first")

class NoRedirect(HTTPRedirectHandler):
    def redirect_request(self, *args, **kwargs):
        return None

request = Request(
    profile.api_base_url + "/v1/entity-resolve",
    data=json.dumps(json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')).encode(),
    headers={"Authorization": f"Bearer {token}",
             "Content-Type": "application/json", "User-Agent": "Argus REST client"},
    method="POST",
)
with build_opener(NoRedirect()).open(request, timeout=30) as response:
    envelope = json.load(response)
    print(json.dumps(envelope, indent=2))

Tài liệu kỹ thuật: REST

03MCPPython 3.12+ · Argus 1.1.8+ · MCP SDK · Ưu tiên sổ đăng ký
# Chỉ cài đặt một lần: use the official Argus installer.
# argus auth login --interface mcp
import asyncio
import json
from datetime import timedelta

from argus.cli.oauth import CliOAuthProfile
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.shared._httpx_utils import create_mcp_http_client


def decode_tool_result(response):
    if response.isError:
        raise RuntimeError(response.content)
    if response.structuredContent is not None:
        return response.structuredContent
    text = next(block.text for block in response.content if block.type == "text")
    return json.loads(text)


async def main() -> None:
    tool_name = "entity_resolve"
    arguments = json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')
    profile = CliOAuthProfile.from_environment().for_interface("mcp")
    token = profile.client().access_token()
    if token is None:
        raise RuntimeError("Run argus auth login --interface mcp first")

    async with (
        create_mcp_http_client(headers={"Authorization": f"Bearer {token}"}) as http,
        streamable_http_client(profile.audience, http_client=http) as (read, write, _),
    ):
        async with ClientSession(
            read,
            write,
            read_timeout_seconds=timedelta(seconds=30),
        ) as session:
            await session.initialize()
            listed_tools = {tool.name for tool in (await session.list_tools()).tools}
            registry = decode_tool_result(
                await session.call_tool("agent_tool_registry")
            )
            registry_tools = {tool["tool_name"] for tool in registry["tools"]}
            if tool_name not in listed_tools or tool_name not in registry_tools:
                raise RuntimeError(f"Công cụ không có trong sổ đăng ký hiện tại: {tool_name}")

            response = await session.call_tool(
                tool_name,
                arguments=arguments,
            )
            payload = decode_tool_result(response)
            if payload.get("success") is not True:
                error = payload.get("error")
                audit_id = payload.get("audit_id")
                if audit_id is None and isinstance(error, dict):
                    audit_id = error.get("audit_id")
                raise RuntimeError(f"Yêu cầu Argus thất bại (audit_id={audit_id}): {error}")
            print(json.dumps(payload, indent=2, ensure_ascii=False))


asyncio.run(main())

Tài liệu kỹ thuật: MCP

Một lộ trình được quản trị từ đầu đến cuối

Khám phá đi trước thực thi. Mọi lượt gọi thành công hoặc bị từ chối đều có cấu trúc, giới hạn rõ ràng và có thể kiểm toán.

  1. 01identityOAuth subject · scopes · purpose · as_of
  2. 02registryagent_tool_registry · scopes · allowed_purposes
  3. 03boundarytenant · permission · license · provenance · audit
  4. 04DataPackagefacts · source_evidence · known_time · quality · audit_id

Yêu cầu tham chiếu có thể tái sử dụng

Đăng nhập bằng OAuth trước khi gọi công cụ. Các yêu cầu này sử dụng một pháp nhân GLEIF có thật; hãy kiểm tra phạm vi bao phủ và bằng chứng được trả về trước khi sử dụng kết quả. Lưu thông tin xác thực của máy chạy không cần giám sát trong môi trường bí mật của bạn.

  1. Kết nối AI agent bằng OAuth tương tác; với tự động hóa không người giám sát, dùng machine client hoặc service account.
  2. Đọc sổ đăng ký công cụ trước và chọn công cụ có phạm vi cùng mục đích phù hợp với danh tính.
  3. Dùng CLI + Skill hoặc MCP làm giao diện chính cho agent; dùng REST để truyền tải HTTPS và theo lô.
  4. Gọi công cụ với thời điểm as_of rõ ràng.
  5. Xác thực bằng chứng, chất lượng, giấy phép, hạn chế và audit_id trước khi sử dụng dữ kiện.

Xác thực toàn bộ gói, không chỉ mã trạng thái

Truyền tải thành công không chứng minh dữ kiện có thể sử dụng. Hãy kiểm tra envelope được quản trị và DataPackage lồng bên trong trước khi tự động hóa.

Ở đây chỉ trình bày cú pháp yêu cầu. Hãy sử dụng mã định danh thật, bằng chứng được trả về từ các lần gọi trước và khoảng thời gian có phạm vi bao phủ đã được xác nhận. Ví dụ này không thể hiện một kết quả kinh doanh trên môi trường production đã hoàn tất.

DataPackage · company_fact_snapshot

{
  "success": true,
  "tool_name": "company_fact_snapshot",
  "output_format": "json",
  "audit_id": "audit_01JYEXAMPLE0000000000000000",
  "data_package_version": "company-fact-snapshot-cli-v1",
  "source_evidence": [
    {
      "evidence_id": "evidence:filing:1",
      "source_type": "regulatory_filing",
      "source_file_id": "filing:example-inc:2025-10k",
      "document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
      "fragment_position": "char:1024-1080",
      "page_number": 42,
      "paragraph_position": null,
      "field_path": "filing.financials.revenue",
      "filing_time": "2026-06-15T09:00:00Z",
      "retrieved_at": "2026-06-16T09:30:00Z",
      "parser_version": "filing-parser-v1",
      "evidence_confidence": 0.99,
      "credibility_level": "regulatory_original",
      "pointer_type": "source_fragment",
      "content_trust": "untrusted_source_text",
      "mime_type": "text/plain",
      "source_object_sha256": null,
      "excerpt_boundary": "external_source_data",
      "is_conflicting": false,
      "conflict_group_id": null
    }
  ],
  "permission_result": {
    "allowed": true,
    "checked_at": "2026-06-16T10:00:00Z",
    "missing_permissions": [],
    "reason": "permission_allowed",
    "safe_alternative_tools": [
      "company_fact_snapshot",
      "filing_search",
      "source_evidence_lookup"
    ]
  },
  "license_status": "authorized",
  "output_restrictions": [
    "machine_readable_json",
    "cite_source_evidence"
  ],
  "result": {
    "package_type": "company_fact_snapshot",
    "package_version": "company-fact-snapshot-cli-v1",
    "generated_at": "2026-06-16T10:00:00Z",
    "request_subject": "company:example-inc",
    "caller_id": "service:customer-agent",
    "institution_id": "institution:customer",
    "request_purpose": "factual_lookup",
    "facts": [
      {
        "fact_id": "fact:revenue",
        "fact_type": "financial_metric",
        "field_name": "revenue",
        "value": 125000000,
        "evidence_ids": [
          "evidence:filing:1"
        ],
        "credibility_level": "regulatory_original",
        "extraction_method": "structured_source",
        "confidence": 0.99,
        "review_status": null
      }
    ],
    "sections": [],
    "source_evidence": [
      {
        "evidence_id": "evidence:filing:1",
        "source_type": "regulatory_filing",
        "source_file_id": "filing:example-inc:2025-10k",
        "document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
        "fragment_position": "char:1024-1080",
        "page_number": 42,
        "paragraph_position": null,
        "field_path": "filing.financials.revenue",
        "filing_time": "2026-06-15T09:00:00Z",
        "retrieved_at": "2026-06-16T09:30:00Z",
        "parser_version": "filing-parser-v1",
        "evidence_confidence": 0.99,
        "credibility_level": "regulatory_original",
        "pointer_type": "source_fragment",
        "content_trust": "untrusted_source_text",
        "mime_type": "text/plain",
        "source_object_sha256": null,
        "excerpt_boundary": "external_source_data",
        "is_conflicting": false,
        "conflict_group_id": null
      }
    ],
    "data_period": {
      "start": "2025-01-01T00:00:00Z",
      "end": "2025-12-31T23:59:59Z"
    },
    "filing_time": "2026-06-15T09:00:00Z",
    "known_time": "2026-06-16T09:30:00Z",
    "revision_time": null,
    "invocation_time": "2026-06-16T10:00:00Z",
    "data_quality": {
      "quality_level": "high",
      "issues": [],
      "requires_human_review": false
    },
    "credibility_level": "regulatory_original",
    "data_license": {
      "license_id": "public-disclosure-v1",
      "source": "regulatory_filing",
      "status": "authorized",
      "allowed_uses": [
        "factual_lookup",
        "audit_reproduction"
      ],
      "prohibited_uses": [
        "restricted_redistribution"
      ],
      "redistribution": "restricted",
      "authorized_institutions": [
        "institution:customer"
      ],
      "restricted_fields": []
    },
    "allowed_uses": [
      "factual_lookup",
      "audit_reproduction"
    ],
    "prohibited_uses": [
      "restricted_redistribution"
    ],
    "output_restrictions": [
      "machine_readable_json",
      "cite_source_evidence"
    ],
    "structured_output_flags": {},
    "audit_id": "audit_01JYEXAMPLE0000000000000000",
    "output_policy_version": "[email protected]"
  }
}

Công cụ

Sổ đăng ký công cụ công khai hiện định nghĩa 53 công cụ được quản trị. Các bản ghi đại diện này được tạo từ cùng dữ liệu có thẩm quyền với danh mục công cụ.

  1. 01

    company_fact_snapshot

    Ảnh chụp dữ kiện công ty

    Trả về dữ kiện công ty đã công bố dưới dạng gói dữ liệu có cấu trúc.

    REST
    /v1/company-fact-snapshot
    MCP
    company_fact_snapshot
    Hợp đồng trả về
    CliToolEnvelope dạng JSON với kết quả DataPackage lồng nhau
  2. 02

    point_in_time_snapshot

    Ảnh chụp theo thời điểm

    Trả về ảnh chụp công ty an toàn theo mốc as-of.

    REST
    /v1/point-in-time-snapshot
    MCP
    point_in_time_snapshot
    Hợp đồng trả về
    CliToolEnvelope dạng JSON với kết quả DataPackage lồng nhau
  3. 03

    evidence_gap_report

    Báo cáo khoảng trống bằng chứng

    Trả về phân loại có bằng chứng, thiếu, chất lượng thấp, xung đột và bị giấy phép chặn.

    REST
    /v1/evidence-gap-report
    MCP
    evidence_gap_report
    Hợp đồng trả về
    CliToolEnvelope dạng JSON với kết quả DataPackage lồng nhau
  4. 04

    agent_data_preflight

    Kiểm tra trước dữ liệu tác nhân

    Trả về siêu dữ liệu kiểm tra trước về quyền, giấy phép, trường, khoảng thời gian và công cụ đích.

    REST
    /v1/agent-data-preflight
    MCP
    agent_data_preflight
    Hợp đồng trả về
    CliToolEnvelope dạng JSON với DataPackage agent_data_preflight_result lồng nhau

Độ tin cậy

Argus cung cấp hạ tầng dữ kiện với giới hạn hiển thị rõ. Trạng thái từ chối, hạn chế, độ mới, giấy phép và yêu cầu con người xem xét luôn nằm trong kết quả.

[POLICY]Argus không tạo quyết định đầu tư hoặc lệnh, nhưng không hạn chế agent phía khách hàng phân tích và xuất kết quả độc lập từ dữ liệu có được hợp pháp.

Độ tin cậy

Tiếp tục với hướng dẫn có thẩm quyền

Bắt đầu bằng hướng dẫn yêu cầu đầu tiên, xem toàn bộ công cụ hoặc mở tài liệu giao diện mà AI agent của bạn sử dụng.