us-vs-them: git 히스토리로 사람이 쓴 줄과 에이전트가 쓴 줄 구분하기
Human vs. AI – Diff-based line-level provenance for text under agentic editing
TL;DR Highlight
파일에 표시 없이 git 히스토리만으로 줄 단위 사람/에이전트 저자 비율을 계산한다
Who Should Read
에이전트가 사람이 직접 쓴 코드나 README 앞부분을 덮어써서 고민인 개발자
Core Mechanics
- 사람이 쓴 줄은 건드리지 말자는 도구
- 사람이 쓰거나 고친 텍스트는 거의 신성하게 보고, 에이전트는 신중해야 한다고 본다.
- 에이전트가 만든 슬롭(slop, 품질 낮은 생성물)은 마음대로 고쳐도 되는 영역으로 본다.
- 파일에 마커 없이 버전 히스토리로 판별한다
- 마크다운 같은 일반 텍스트를 그대로 지원하는 것이 핵심 제약이다.
- 각 버전이 사람 또는 에이전트라는 저자로 만들어졌다는 점만 활용한다.
- 결과는 바다 속 섬 모양의 범위다
- 에이전트 텍스트라는 바다에 사람이 쓴 줄이라는 섬이 떠 있는 모습으로 표현한다.
- 줄 하나가 아니라 의미가 이어지는 덩어리 단위로 저자를 추적하려 한다.
- 합쳐지거나 쪼개지거나 희석되는 경우도 다루며, 전체가 바다나 섬으로 수렴하지 않게 한다.
- CLI는 줄 범위별 0~1 점수를 출력한다
- 1.00은 완전히 사람, 0.00은 완전히 에이전트가 쓴 범위다.
- 0.46은 원래 사람이 썼지만 에이전트가 어느 정도 수정한 범위다.
- 예시 명령은 us-vs-them --ours dan@eighttrigrams.net README.md 이다.
- -ours와 --theirs 중 하나만 지정한다
Community Reactions
- 커밋 저자가 항상 내 이름이라는 지적
- 로컬에서 에이전트를 돌리면 모든 git 커밋에 내 저자 정보가 붙는다는 의견이 있었다.
- 그러면 히스토리만으로 구분하기 어렵다는 취지다.
- 누가 썼는지는 중요하지 않다는 반론
- 코드가 위험하다면 이유를 주석으로 남기면 되고, 바이트가 어떻게 생성됐는지는 상관없다는 의견이 있었다.
- README 앞부분 보호 사례는 이해된다고 했다.
- 비슷한 추적을 이미 쓴다는 경험
- AI가 생성했지만 사람이 수정한 줄도 표시한다는 경험이 공유됐다.
- 사람이 1글자 이상 바꾸면 그 줄을 수정된 것으로 본다고 했다.
- 주석 방식을 쓴다는 경험
- 에이전트가 100번 중 1번쯤 주석을 무시해도 사례가 충분히 쌓여 그 현상을 본다는 경험이 있었다.
How to Apply
- 에이전트 커밋 저자부터 분리하기
- 오늘 에이전트 작업용 git user.email을 사람 계정과 다르게 설정하라.
- 이후 us-vs-them 같은 도구가 구분할 수 있는 히스토리가 쌓인다.
- README 앞부분 보호 규칙을 에이전트 지침에 넣기
- 사람이 다시 쓴 도입부는 수정하지 말라는 문장을 CLAUDE.md 같은 지침 파일에 추가하라.
- 뒷부분은 자유롭게 고치거나 덧붙이게 허용하라.
- 쓰기 전 degradations 게이트 걸기
- Clojure 프로젝트라면 에이전트가 제안한 버전을 쓰기 전에 degradations를 호출하라.
- 결과가 비어 있을 때만 파일에 쓰도록 하라.
Try It
# Claude Code에 붙여넣는 프롬프트 (us-vs-them 아이디어의 간이 버전)
지금부터 {{파일 경로}}를 수정할 때 아래 규칙을 지켜라.
- git log로 이 파일 각 줄의 변경 작성자를 확인한다.
- 작성자가 {{내 이메일}}인 줄은 사람이 쓴 줄로 보고, 꼭 필요한 이유 없이는 수정하지 않는다.
- 그 외 작성자의 줄은 자유롭게 수정해도 된다.
- 사람이 쓴 줄을 바꿔야 하면 먼저 이유를 설명하고 허락을 구한다.
먼저 사람이 쓴 줄 범위를 목록으로 보여줘.
이어서 해 볼 것: 원문 CLI로 비교하려면 bbin을 설치하고 make install 후 us-vs-them --ours {{내 이메일}} {{파일 경로}} 를 실행하라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓