sebuzdugan/frai
요약
FRAI는 책임감 있는 AI 출시를 지원하는 오픈 소스 툴킷입니다. 코드 스캔, 문서화, 평가 및 컴플라이언스 워크플로를 제공하며 CLI, SDK, LangChain 기반 에이전트 세 가지 패키지로 구성됩니다.
핵심 포인트
- 책임감 있는 AI 구현을 위한 오픈 소스 툴킷 제공
- CLI, SDK(frai-core), 에이전트(frai-agent)의 세 가지 구성 요소
- 코드 스캔, 모델 카드 생성, 컴플라이언스 RAG 인덱싱 지원
- LangChain 기반의 대화형 워크플로 오케스트레이션 가능
███████████ ███████████ █████████ █████ ░░███░░░░░░█░░███░░░░░███ ███░░░░░███ ░░███ ░███ █ ░ ░███ ░███ ░███ ░███ ░███ ░███████ ░██████████ ░███████████ ░███ ░███░░░█ ░███░░░░░███ ░███░░░░░███ ░███ ░███ ░ ░███ ░███ ░███ ░███ ░███ █████ █████ █████ █████ █████ █████ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░
라이브 플랫폼 (Live platform): frai.cc
FRAI는 팀이 책임감 있게 AI 기능을 출시할 수 있도록 돕는 오픈 소스 툴킷 (open-source toolkit)입니다. 이 툴킷은 증거 수집을 안내하고, 코드를 스캔하며, 검토자에게 전달할 수 있는 문서(구현 체크리스트, 모델 카드 (model cards), 리스크 파일, 평가 보고서, 컴플라이언스 인지형 RAG 인덱스)를 구성합니다. 이 툴킷은 함께 작동하는 세 가지 패키지로 제공됩니다:
frai
– 즉시 실행 가능한 워크플로 (workflows)를 갖춘 명령줄 앱 (command-line app).
frai-core
– CLI 및 모든 커스텀 통합을 구동하는 재사용 가능한 SDK.
frai-agent
– FRAI 워크플로를 위한 LangChain 기반의 대화형 에이전트 (conversational agent).
FRAI는 스캔, 테스트, 문서화, 평가 및 컴플라이언스 (compliance) 워크플로를 위한 연결된 책임감 있는 AI 도구 세트로 성장하고 있습니다.
| 프로젝트 | 기능 | 링크 |
|---|---|---|
| FRAI 플랫폼 | 웹사이트 스캔, 챗봇 테스트, 컴플라이언스 스냅샷 및 책임감 있는 AI 워크플로를 위한 무료 AI 컴플라이언스 플랫폼. | 웹사이트 |
| ... |
frai-core는 라이브러리/SDK입니다. FRAI 기능을 자체 도구, 서버, 자동화 또는 확장 프로그램에 임베딩(embedding)할 때 사용하세요.
frai는 CLI입니다. frai-core를 래핑(wraps)하여 코딩 없이도 엔드 유저 경험을 제공합니다.
-
독립적인 버전 관리 및 안정성
frai-core는 CLI 릴리스를 강제하지 않고도 통합 개발자를 위한 API를 발전시킬 수 있습니다.frai는 프로그래밍 방식의 사용자들에게 영향을 주지 않고 UX/명령어를 개선할 수 있습니다. -
다양한 환경에서의 재사용
frai-core는 현재 CLI를 구동하며, 향후 VS Code/Chrome 확장 프로그램, GitHub Actions, 내부 CLI, 서비스 또는 SDK를 구동할 것입니다. -
더 작고 집중된 설치
-
운영자(Operators)는 CLI를 설치합니다.
-
빌더(Builders)는 필요한 핵심 라이브러리만 설치합니다.
-
Choose
frai(CLI) -
대화형 프롬프트, 단일 명령 스캔, RAG 인덱싱, 평가 보고서, 또는 코드 작성 없이 CI 친화적인 자동화가 필요한 경우 선택하세요. -
Choose
frai-core(SDK) -
Node 스크립트, 서비스, 커스텀 CLI, 확장 프로그램 또는 특이한 I/O 흐름에서 FRAI 기능에 대한 API 액세스가 필요한 경우 선택하세요. -
Choose
frai-agent(Agent) -
자연어 명령을 사용하여 FRAI 워크플로우를 지능적으로 오케스트레이션(Orchestration)할 수 있는 대화형 AI 어시스턴트가 필요한 경우 선택하세요. -
CLI 사용자: 저장소에서
frai --scan및frai eval을 실행하여 거버넌스 문서와 감사 보고서를 생성합니다. -
라이브러리 사용자: 표준화된 문서를 생성하기 위해 내부 포털에서
Documents.generateDocuments를 호출하거나, GitHub Action 내부에서Scanners.scanCodebase를 사용하거나, 근거 있는 힌트(grounded hints)를 위해 VS Code 확장 프로그램 내에Rag.indexDocuments를 임베드(Embed)합니다. -
에이전트 사용자:
frai-agent와 대화식으로 상호작용합니다: "저장소를 스캔하고 발견된 리스크를 알려줘" 또는 "이 설문 조사 데이터를 기반으로 문서를 생성해줘".
요약하자면: CLI = 제품(Product); Core = 플랫폼(Platform). 이들은 의도적으로 기능이 겹치지만, 서로 다른 대상과 배포 요구 사항을 타겟팅합니다.
-
게시된 CLI 설치:
npm install -g frai -
OpenAI API 키 설정 (AI 생성 팁 및 평가에 필요):
키는 프로젝트별(frai --setup을 통해.env에 저장) 또는 전역(~/.config/frai/config)으로 저장할 수 있습니다. 또한frai --key sk-...를 사용하여 일회성 키를 제공할 수도 있습니다. -
대화형 워크플로우 실행:
FRAI는 기능 탐색 과정을 안내하며,frai를 통해checklist.md,model_card.md,risk_file.md를 작성하고 선택적으로 PDF를 내보냅니다.
생성된 결과물(Artefacts)은 현재 작업 디렉토리에 저장됩니다. 보조 명령들은 스캔, 평가, RAG 인덱싱 및 거버넌스 미세 조정(Fine-tuning)을 지원합니다.
| 명령 (Command) | 목적 (Purpose) |
|---|---|
frai [options] | 하위 호환 가능한 단축 플래그(shortcut flags)를 포함한 대화형 문서화 워크플로 (Interactive documentation workflow). |
frai generate [options] | 명시적인 대화형 워크플로 명령. |
frai scan [--ci] [--json] | AI/ML 지표(indicators)를 찾기 위해 저장소를 스캔. |
frai setup [--key <apiKey>] [--global] | OpenAI API 키를 로컬 또는 전역(globally)으로 저장. |
frai config | 주요 설정 상태 표시. |
frai docs list / frai docs clean / frai docs export | 생성된 문서 관리. |
frai rag index [options] | 컴플라이언스(compliance)를 고려한 로컬 벡터 인덱스(vector index) 구축. |
frai eval --outputs <file> [...] | 베이스라인 평가 지표(baseline evaluation metrics)를 실행하고 보고서 작성. |
frai finetune template / frai finetune validate <plan> | 미세 조정(Fine-tuning) 거버넌스 계획 생성 또는 검증. |
frai update | 최신 CLI 릴리스를 위해 npm 확인. |
대화형 문서화 흐름을 실행합니다. 선택적 플래그는 단축키를 추가합니다:
--scan
– 질문 전에 코드 스캐닝(code scanning)을 실행합니다.
--ci
– AI 지표가 감지되지 않으면 스캔 후 종료합니다.
--setup
– 주요 설정(key configuration) 단계로 바로 이동합니다.
--key <apiKey> / --global
– 키를 제공하고 선택적으로 전역(globally)에 유지합니다.
--list-docs / --clean
– 생성된 문서를 나열하거나 제거합니다.
--export-pdf
– 생성된 마크다운(markdown)을 PDF로 변환합니다 (markdown-pdf 필요).
--show-config
– 주요 저장 상태를 표시합니다.
--update
– 최신 CLI 버전을 위해 npm을 확인합니다.
기본 명령과 동일한 워크플로이지만, 문서화(documentation)에만 범위가 한정됩니다. 옵션은 기본값과 동일합니다: --scan, --ci, --key, --global, --export-pdf, --show-config.
AI 관련 라이브러리, 함수 및 파일을 찾기 위해 저장소를 스캔합니다. 비대화형 모드(non-interactive mode)를 위해 --ci를 사용하거나, 가공되지 않은 JSON을 출력하려면 --json을 사용하세요.
안내된 API 키 저장 방식입니다. 헤드리스(headless) 사용을 위해 --key <apiKey>를 제공하고, ~/.config/frai/config에 유지하려면 --global을 사용하세요.
로컬(.env) 또는 전역 설정에 API 키가 있는지 여부를 출력합니다.
생성된 결과물(artefacts)을 위한 유틸리티:
frai docs list
– 감지된 checklist.md, model_card.md, risk_file.md 목록을 나열합니다.
frai docs clean
– 생성된 문서들을 삭제합니다.
frai docs export
– markdown-pdf를 통해 문서를 PDF로 내보냅니다.
컴플라이언스 정책(compliance policies)을 위한 경량 JSON 벡터 스토어(vector store)를 생성합니다.
--input <path>
– 인덱싱할 파일 또는 디렉토리 (기본값은 현재 작업 디렉토리(cwd)).
--output <path>
– 대상 JSON 파일 (기본값은 frai-index.json).
--chunk-size <words>
– 청크(chunk)당 단어 수 (기본값 800).
--extensions <a,b,c>
– 허용된 확장자 (기본값 .md, .markdown, .txt, .json, .yaml, .yml).
모델 출력물에 대한 평가 보고서(evaluation reports)를 생성합니다.
--outputs <file>
(필수) – 모델 출력물이 포함된 JSON 파일.
--references <file>
– 참조 정답이 포함된 JSON 파일.
--report <path>
– 출력 위치 (기본값 frai-eval-report.json).
--format <json|markdown>
– 출력 형식 (기본값 JSON). Markdown 보고서에는 검토 위원회(review boards)를 위한 사람이 읽기 쉬운 요약이 포함됩니다.
파인튜닝(Fine-tuning) 거버넌스 도우미:
frai finetune template [--output <path>]
– 거버넌스 템플릿 JSON을 작성합니다 (기본값 frai-finetune-plan.json).
frai finetune validate <plan> [--readiness]
– 계획을 검증하고, 선택적으로 준비 상태 체크포인트(readiness checkpoints) 및 요약을 출력합니다.
최신 frai 릴리스를 확인하기 위해 npm을 체크하고 업그레이드 지침을 출력합니다.
npm에서 설치:
pnpm add frai-core
frai-core는 CLI가 내부적으로 사용하는 모듈형 도우미들을 노출합니다:
Questionnaire – 대화형 질문 흐름(interactive question flows).
Documents – 체크리스트, 모델 카드(model cards), 리스크 파일(risk files) 생성.
Scanners – AI 지표(AI indicators)를 위한 정적 분석(static analysis).
Rag – 정책에 기반한 인덱싱 유틸리티(policy-grounded indexing utilities).
Eval – 베이스라인 평가 지표(baseline evaluation metrics) 및 보고서 작성기.
Finetune – 거버넌스 템플릿, 검증 및 준비 상태 점수 산정(readiness scoring).
Config & Providers – 키 관리 및 LLM 프로바이더(provider) 연결.
예시: 프로그래밍 방식으로 문서 생성하기.
import fs from 'fs/promises';
import inquirer from 'inquirer';
import { Documents, Questionnaire, Scanners } from 'frai-core';
...
frai-core 때문에
is 일반적인 ESM (ECMAScript Modules) 패키지이므로, 필요한 모듈만 임포트(import)하여 자동화 파이프라인, CI 작업 또는 커스텀 제품 내에 FRAI 기능을 내장할 수 있습니다.
frai-agent
은 LangChain 기반의 대화형 에이전트(conversational agent)로, FRAI 스캐닝 및 문서화 워크플로우를 자연어 인터페이스 뒤로 래핑(wrap)합니다. 이는 저장소를 스캔하고, 문서를 생성하며, 사용자의 AI 기능에 관한 질문에 답변할 수 있는 지능형 어시스턴트를 제공합니다.
모노레포(monorepo) 루트에서:
pnpm agent:frai "Scan the repository and summarize AI risks."
채팅 스타일 세션을 실행하려면:
pnpm agent:frai --interactive --verbose
에이전트는 두 가지 도구를 지원합니다:
– FRAI의 정적 탐지기(static detectors)를 사용하여 코드베이스에서 AI 지표를 스캔합니다: scan_repository
– 설문 조사 답변으로부터 checklist.md, model_card.md, risk_file.md를 생성합니다: generate_responsible_ai_docs
저장소 스캔:
pnpm agent:frai "Scan the repo and tell me what AI-related code you found."
문서 생성 (설문 조사 답변 포함):
pnpm agent:frai "Generate the docs with these answers: {
\"core\": { \"name\": \"ReviewCopilot\", \"purpose\": \"assistant\" },
\"impact\": { \"stakeholders\": [\"developers\"], \"impactLevel\": \"medium\" },
...
import { createFraIAgentExecutor } from "frai-agent";
const executor = await createFraIAgentExecutor({
model: "gpt-4o-mini",
...
frai-agent는 FRAI의 설정 시스템을 재사용하므로, .env 파일 또는 전역 설정에서 OPENAI_API_KEY를 자동으로 찾아냅니다.
저장소를 클론(clone)하고 소스에서 작업하려면:
pnpm install
pnpm --filter frai run build
node packages/frai-cli/dist/index.js --help
개발 중에는 배포하지 않고도 CLI를 로컬에 설치할 수 있습니다:
pnpm install --global ./packages/frai-cli
# 그 다음
frai --setup
CLI 설정 흐름을 실행하거나 .env에 OPENAI_API_KEY를 설정하여 OpenAI 키를 저장하세요.
FRAI는 두 개의 npm 패키지로 제공되며, 각각 독립적으로 배포되어야 합니다.
packages/frai-core/package.json에서 버전을 올리세요 (Bump versions)
and packages/frai-cli/package.json
-
배포된
frai-core버전과 일치하도록 CLI 의존성을 업데이트하세요 (workspace:*를 제거합니다). -
CLI 빌드:
pnpm --filter frai run build -
frai-core를 먼저 배포한 다음,frai를 배포하세요:
cd packages/frai-core && npm publish && cd ../frai-cli && npm publish -
npm에서 확인:
npm view frai versions --json
npm view frai-core versions --json -
웹사이트: frai.cc
-
NPM 패키지: frai
-
docs/ai_feature_backlog.md – AI 기능 로드맵 (roadmap).
-
docs/eval_harness_design.md – 평가 하네스 (evaluation harness) 설계 노트.
-
docs/architecture-target.md – 모노레포 (monorepo) 아키텍처.
Framework of Responsible Artificial Intelligence (책임감 있는 인공지능 프레임워크)
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기