절차
실행 순서
- 1
각 대상의 식별 결과를 확인한다.
- 2
같은 metric과 기간을 가진 evidence를 대상별로 만든다.
- 3
한쪽만 있는 수치로 강한 비교 결론을 내지 않는다.
- 4
비교 표가 있으면 visual을 만든다.
- 5
`c = dartlab.Company("005930")`
- 6
`c.analysis()`
- 7
`c.analysis("financial", "수익성")`
- 8
`dartlab.analysis(c, axis="financial", sub="수익성")`
- 9
Company 재무 snapshot과 표준 계정 매핑을 읽어 단일 기업의 재무 축을 계산한다. 인자 없이 호출하면 사용 가능한 axis/subaxis 가이드 DataFrame을 반환한다. 데이터가 없으면 값을 만들지 않고 None 또는 데이터 부재 메시지로 제한한다.
- 10
실행 전에 target, period/date, metric, source 또는 universe를 확인한다.
- 11
데이터가 없거나 runtime 제한이 있으면 값을 추정하지 않고 한계와 필요한 다음 수집 경로를 말한다.
- 12
주로 DataFrame 또는 dict-like 결과를 반환한다. 핵심 컬럼/키는 period, metric/account, value, unit, basis, comment이며 금액 단위는 원/백만원, 비율은 % 또는 배수다.
예시
이런 질문이 들어오면 이 skill 을 쓴다
- 삼성전자와 SK하이닉스 경쟁력 비교
출력
기대 결과
- 동일축 비교표
- 우위/열위 판단
- 데이터 누락 한계
절차
- 각 대상의 식별 결과를 확인한다.
- 같은 metric과 기간을 가진 evidence를 대상별로 만든다.
- 한쪽만 있는 수치로 강한 비교 결론을 내지 않는다.
- 비교 표가 있으면 visual을 만든다.
공개 호출 방식
c = dartlab.Company("005930")c.analysis()c.analysis("financial", "수익성")dartlab.analysis(c, axis="financial", sub="수익성")
호출 동작
- Company 재무 snapshot과 표준 계정 매핑을 읽어 단일 기업의 재무 축을 계산한다. 인자 없이 호출하면 사용 가능한 axis/subaxis 가이드 DataFrame을 반환한다. 데이터가 없으면 값을 만들지 않고 None 또는 데이터 부재 메시지로 제한한다.
- 실행 전에 target, period/date, metric, source 또는 universe를 확인한다.
- 데이터가 없거나 runtime 제한이 있으면 값을 추정하지 않고 한계와 필요한 다음 수집 경로를 말한다.
대표 반환 형태
- 주로 DataFrame 또는 dict-like 결과를 반환한다. 핵심 컬럼/키는 period, metric/account, value, unit, basis, comment이며 금액 단위는 원/백만원, 비율은 % 또는 배수다.
- 전체 세부 필드는 공개 docstring/capability와 동기화한다. 코드/API 변경으로 이 설명이 오래되면 skill 갱신 누락으로 본다.
기본 검증
- 실행 결과는 tableRef, valueRef, dateRef, executionRef 중 필요한 근거로 남긴다.
- 최종 판단의 숫자 claim은 해당 table/value ref에 직접 묶는다.
- 스킬과 실제 공개 API의 호출 방식, 대표 반환 형태, 오류/제한 동작이 다르면 같은 변경에서 스킬을 갱신한다.
런타임
실행 환경별 호환성
| 환경 | 상태 | 비고 / 제한 |
|---|---|---|
| Local Python | supported | — |
| Server | supported | — |
| MCP | supported | — |
| Web AI | limited | — |
| Pyodide | limited |
|
실패 회피
흔한 실패 · 절대 금지
흔한 실패
- partial comparison
- 서로 다른 기간/metric 혼합
절대 금지
- 한쪽 수치만으로 우열 단정