yusukebe/ax
The AI-era curl
해결하는 문제
ax는 일반적으로 코딩 에이전트가 수행하는 웹에서 데이터를 가져오고 이해하며 추출하는 비효율적인 루프를 대체합니다. curl을 취약한 파싱 스크립트에 연결하거나 막대한 양의 원시 HTML을 컨텍스트 창에 덤프하는 대신, ax는 한 명령어로 페이지를 가져오고 구조를 탐지하며 LLM의 토큰 제한에 최적화된 형식으로 구조화된 데이터를 추출할 수 있게 해줍니다.
작동 방식
이 도구는 로컬에서 작동하는 결정론적 바이너리로, 여러 기능을 통합합니다:
- 다운로드: 각 요청에 대해 상태, 헤더, 리다이렉트를 포함한 완전한 보고서를 제공하여, 본문이 비어 있을 때 에이전트가 추측을 해야 하는 상황을 방지합니다.
- 구조 탐지:
--outline과 같은 플래그를 사용해 반복 구조를 표시하고, 전체 HTML 페이지를 덤프하지 않고도 특정 선택자를 찾을 수 있는--locate를 제공합니다. - 데이터 추출: 다중 필드 행을 추출할 수 있습니다 (
--row), HTML 테이블을 키 기반 행으로 변환할 수 있습니다 (--table), 안전한 표현 언어를 사용해 결과를 필터링할 수 있습니다 (--where). - 토큰 관리:
--budget를 통해 토큰 예산과 결과 제한을 구현하여 컨텍스트 창 오버플로우를 방지하고, 에이전트가 겹치지 않게 남은 데이터를 가져올 수 있는 정확한 오프셋을 제공합니다.
대상 사용자
웹과 상호작용하여 정보를 수집하거나 문서를 읽거나, 구조화된 데이터를 스크래핑해야 하는 AI 코딩 에이전트를 주로 대상으로 합니다. 각 작업마다 사용자 정의 Python 스크립트를 작성하고 디버깅할 필요가 없습니다.
주요 특징
- 에이전트 최적화 출력: LLM 컨텍스트 창에 최적화된 구조화된 출력으로 토큰 비용이 낮습니다.
- 통합 워크플로우: 다운로드, 구조 탐지, 추출을 하나의 도구로 통합하여 여러 바이너리나 스크립트가 필요 없게 합니다.
- 로컬 및 결정론적: API 키나 클라우드 기반 마크다운 변환 없이 로컬에서 작동합니다.
- 페이징 지원:
--json-envelope와--offset을 사용해 대규모 데이터셋의 기계 가독성 있는 연속을 지원합니다. - 마크다운 변환:
--md플래그를 통해 페이지를 직접 읽기 쉬운 마크다운으로 변환할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트