001 / 만든 이유
oah는 각자에게 맞고 AI가 발전하는 만큼 함께 바뀌는 개발 환경을 만들도록 돕습니다. 가져다 고쳐 쓸 수 있는 참고 구현이자 가이드라인입니다. 코드를 만드는 것만으로 작업이 끝나지는 않습니다. 어디까지 바꿀지 정하고, 결과를 검증하고, 다음 세션이 읽을 기록도 남겨야 합니다. oah는 이 과정들을 연결해 하나의 요청이 작업과 확인, 기록까지 이어지게 합니다.
에이전트 실행v0.3.0에서 사용 가능
v0.3.0에 출시됐다. 점수는 키나 계정 없이 Epoch AI에서 가져온다. 자기 Artificial Analysis 키가 있으면 그 점수를 대신 쓴다. 릴리스마다 Epoch AI 사본이 들어 있고 카탈로그를 다시 만들 때 HTTPS로 새로 받으며, 요청에는 프로젝트, 작업, 사용자에 관한 것이 아무것도 들어가지 않는다.
점수로 고르는 모델 선택은 자료만큼만 좋고, 그 자료를 받는 과정에서 작업에 관한 것이 새어 나가서는 안 된다.
[models] ttl_hours(기본 24시간)가 지났을 때, oah models --refresh) 저장한 사본이 오래됐거나 없거나 손상됐으면 10초 제한 시간과 크기 제한을 두고 https://epoch.ai/data/benchmarks.csv를 받는다.ARTIFICIAL_ANALYSIS_API_KEY를 저장해 두었다면 Artificial Analysis에도 묻는다. 키는 x-api-key 헤더에만 싣고, 맞춘 모델마다 지수 하나만 남긴다.models/benchmarks-epoch.json, benchmarks-aa.json)에만 있고, 손상되거나 바뀐 파일은 없는 것으로 친다(OAH_SCORES_FILE_INVALID).[models] fetch_scores = false로 두면 아무것도 받지 않고 함께 배포된 사본이 고른다.자기 Artificial Analysis 키를 macOS 키체인에 둔다(키 문서).
security add-generic-password -s oah -a ARTIFICIAL_ANALYSIS_API_KEY -wARTIFICIAL_ANALYSIS_API_KEY를 환경 변수나 OS 키체인에 둔다.[models] fetch_scores의 기본값이 true이기 때문이다.OAH_SCORES_REFRESH_FAILED). 이 때문에 실행이 실패하지는 않는다.