Grok Build · 도구 간 정규화
Canonical Input은 안정적인 투영입니다
다양한 harness가 서로 다른 raw 파라미터 이름을 사용할 수 있습니다. Grok Build는 소수의 안정적인 시맨틱을 x.ai/tool 메타데이터에 투영하여 표시, 원격 측정 및 도구 간 분석이 공통 어휘를 갖도록 합니다.
학습 목표 8개의 canonical fields, 7개의
CanonicalToolMeta 필드와 version = 1을 암기하고, input에 필드가 누락되거나 전체 생략이 허용되는 이유를 설명할 수 있습니다.
핵심 시각 자료 · 교육용 투영 다이어그램
교육용 구조도: 투영은 필드를 버릴 수 있으며, 완전한 원시 입력은 raw_input이 담당합니다.
8개의 Canonical Fields
path파일 또는 검색 경로
offset정규화된 시작 위치
limit읽기 또는 결과 상한
command실행할 명령어
description명령어 설명
cwd작업 디렉토리 어휘
directory디렉토리 목록 대상
pattern검색 패턴
메타데이터 계약 및 생략 규칙
CanonicalToolMeta의 실제 필드
version은 숫자 1입니다. input은 선택적 JSON value이며, 안정적인 투영이 없을 때는 전체 생략됩니다.
input은 경량으로 유지합니다
이것은 canonical projection이며 raw input의 미러로 사용할 수 없습니다. grep flags, replace_all 등 공유되지 않는 필드는 버려질 수 있습니다. 편집 전후 텍스트, 전체 쓰기 내용 등 큰 필드는 투영에 들어가지 않으며 raw_input에서 가져올 수 있습니다.
공개 동작 비교: Claude Code 공개 문서의 Read 도구는
file_path, offset, limit을 사용합니다. Grok Build의 정규화 레이어는 자체 도구 입력을 path 등 공통 필드에 매핑합니다. 여기서는 공개적으로 보이는 도구 입력 이름만 비교하며 Claude Code의 내부 구현을 추론하지 않습니다.실제 소스 코드 증거
crates/codegen/xai-grok-tools/src/tool_taxonomy.rs · 12~30행, 190~200행
pub mod field {
pub const PATH: &str = "path";
pub const OFFSET: &str = "offset";
pub const LIMIT: &str = "limit";
pub const COMMAND: &str = "command";
pub const DESCRIPTION: &str = "description";
pub const CWD: &str = "cwd";
pub const DIRECTORY: &str = "directory";
pub const PATTERN: &str = "pattern";
}
pub const TOOL_META_VERSION: u32 = 1;
pub struct CanonicalToolMeta {
pub version: u32,
pub name: String,
pub kind: ToolKind,
pub namespace: ToolNamespace,
pub label: Cow<'static, str>,
pub read_only: bool,
pub input: Option<serde_json::Value>,
}
소스 스냅샷 참고: 로컬 저장소
grok-build-main의 xai-grok-tools/src/tool_taxonomy.rs 및 normalization.rs 기준, 검증일 2026-07-17. 소스에 content canonical field는 없으며, 구 페이지의 허구 메타데이터 필드와 버전 예시는 모두 제거되었습니다.수업 연습
04
편집 호출에 대한 투영 만들기
원시 입력에 file_path, old_string, new_string, replace_all이 포함됩니다. canonical input을 작성하고 어떤 필드가 raw_input에 남아야 하는지 지적하십시오.
Takeaway: canonical 레이어는 harness 전반에 걸친 안정적인 공통 시맨틱을 추구합니다. 현재 필드는
path/offset/limit/command/description/cwd/directory/pattern뿐이며 메타데이터 버전은 숫자 1입니다. input은 민감하거나 크기가 큰 필드를 생략할 수 있습니다.