2P by GN⁺ | ★ favorite | 댓글 1개
  • SimpleEnglish는 LLM이 1983년부터 항공우주 분야에서 사용한 통제 언어 ASD-STE100에 맞춰, 모호하지 않고 짧은 기술 문서를 작성하도록 만드는 Agent Skill임
  • 문장 길이 제한, 능동태, 단순 시제, 조건 우선 배치, 문장당 하나의 지시 등 53개 규칙을 적용하며 문서·오류 메시지·런북·사고 보고서·릴리스 노트·프롬프트·번역 준비를 지원함
  • Claude 6개 모델과 8개 작업을 두 조건으로 비교한 96회 평가에서 100단어당 STE 위반이 평균 72.9% 감소했고, 모든 모델에서 출력 토큰도 줄어듦
  • Agent Skills 표준을 지원하는 Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI 등에서 의존성 없이 설치할 수 있으며, 미지원 환경에서는 시스템 프롬프트나 사용자 지침으로 적용 가능함
  • 결과는 ASD의 공식 인증이 아니며 마케팅·블로그·브랜드 문체에는 적용하지 않음. 기본 모드는 구조 규칙과 도메인 어휘를 결합하고 엄격 모드의 단어 판정에는 공식 표준이 필요함

프로젝트가 해결하는 문제

  • SimpleEnglish는 LLM의 과장되고 모호한 문장을 ASD-STE100 Simplified Technical English에 가까운 기술 문장으로 바꾸는 Agent Skill임
  • ASD-STE100은 피곤한 정비사가 지시를 잘못 해석하지 않도록 항공우주 분야에서 1983년부터 사용한 통제 언어임
  • Claude가 생성한 원문과 Skill 적용 결과의 차이는 구체성과 실행 가능성에 있음
    • “견고한 아키텍처를 활용해 원활하게 동기화한다”는 문장을 Postgres 테이블을 S3로 복사하며 설정 파일 하나가 필요하다는 내용으로 바꿈
    • 포괄적인 연결 실패 메시지를 사용자 app의 비밀번호 오류와 DB_PASSWORD 수정 조치로 바꿈
    • 불특정 사용자에게 영향이 있었을 수 있다는 사고 문구를 실패 시간, 12% 요청 실패, 배포 원인, 롤백 시각으로 바꿈
  • README, 오류 메시지, 사고 보고서, 릴리스 노트의 추가 비교는 examples/before-after.md에 있음

설치와 지원 환경

  • Agent Skills 표준을 지원하는 Claude Code, Cursor, VS Code Copilot, OpenAI Codex, Gemini CLI, Goose, OpenCode 등 약 25개 하네스에서 작동함
  • 프로젝트는 폴더 하나로 구성되며 외부 의존성이 없고 MIT 라이선스를 사용함
  • 설치 명령은 다음과 같음
npx skills add AminBlg/SimpleEnglish
  • skills CLI가 설치된 에이전트를 감지하고 사용자가 선택한 대상에 Skill을 설치함
  • 설치 전에는 다음 명령으로 시험할 수 있음
npx skills use AminBlg/SimpleEnglish@simple-english
  • SKILL.md를 지원하지 않는 환경에서는 prompts/system-prompt.md를 시스템 프롬프트, AGENTS.md, .cursorrules에 넣을 수 있음
    • 토큰 예산이 작은 환경을 위한 약 60토큰 버전도 제공함
    • 기술 문서 작성을 요청하거나 “rewrite this with simple-english”라고 지시해 사용할 수 있음

터미널 없는 환경에서 사용하기

  • Claude.ai 유료 플랜은 Skill을 기본 지원함
    • SKILL.md를 저장함
    • Settings → Capabilities에서 코드 실행을 활성화함
    • Settings → Customize → Skills → Upload에서 파일을 업로드함
    • Skill을 켜면 기술 문서 작성 요청에 적용됨
  • ChatGPT는 Skill을 지원하지 않으므로 프롬프트 버전을 사용함
    • prompts/system-prompt.md의 블록을 Settings → Personalization → Custom Instructions, Project 또는 Custom GPT 지침에 넣음
  • Gemini에서는 Gem을 만들고 같은 프롬프트를 지침에 붙여 넣음
  • 다른 챗봇에서는 프롬프트 파일을 첨부하거나 내용을 붙여 넣고 모든 출력에 적용하도록 지시함

ASD-STE100에서 가져온 작성 규칙

  • Skill은 1983년에 만들어진 9개 섹션의 53개 규칙을 기술 문서에 적용함
  • 핵심 규칙은 다음과 같음
    • 지시문은 최대 20단어, 설명문은 최대 25단어로 제한함
    • 문서 전체에서 단어 하나에 의미 하나만 사용해 check, verify, confirm, validate 같은 표현 혼용을 막음
    • 단순 시제만 사용해 “has been updated” 대신 누가 무엇을 갱신했는지 직접 씀
    • -ing 동사 형태와 이에 연결된 부가 절을 사용하지 않음
    • 능동태를 사용해 “it should be noted that” 같은 간접 표현을 제거함
    • should, would, may, might를 금지하지만 can, will, must는 허용함
    • 조건을 명령보다 먼저 배치해 사용자가 조건을 늦게 읽는 일을 막음
    • 문장 하나에 지시 하나만 넣음
    • 관사와 that은 유지하며, 짧더라도 전보식 문장을 만들지 않음
  • 소프트웨어 예제를 포함한 전체 재서술 규칙은 SKILL.md에 있음
  • 마케팅은 STE 적용 범위 밖이므로 README의 마케팅 문구에는 규칙을 적용하지 않으며, Skill도 문서 작성에만 적용됨

기술 문서 외 적용 범위

  • use-cases.md는 여러 형식에 맞춘 규칙을 제공함
    • 오류 메시지는 발생한 일, 원인, 사용자가 해야 할 일 순서로 씀
    • 런북은 정비 매뉴얼과 유사하므로 STE를 직접 적용함
    • 사고 보고서에는 단순 과거를 사용해 불확실하고 완곡한 표현을 제거함
    • 릴리스 노트의 호환성 파괴 변경은 명령을 먼저, 위험을 나중에 쓰는 경고로 구성함
    • AGENTS.md와 시스템 프롬프트는 질문할 수 없는 독자를 위한 절차로 취급하며, 모델이 선택 사항으로 해석할 수 있는 should를 금지함
    • 번역 전 문서를 비원어민이 읽기 쉽고 현지화 비용이 낮은 형태로 정리함
  • 마케팅 문구, 블로그 문체, 브랜드 글쓰기에는 적용하지 않으며 문체가 평면적인 것은 의도된 특성임

벤치마크 결과

  • 평가에서는 Claude 6개 모델에 8개 작성 작업을 Skill 적용 전후로 실행해 총 96개 생성 결과를 측정함
  • 100단어당 STE 위반은 전체 평균 72.9% 감소함
    • claude-opus-4-8: 1.05에서 0.62로 감소해 41% 개선됨
    • claude-opus-4-7: 2.28에서 0.42로 감소해 82% 개선됨
    • claude-opus-4-6: 2.24에서 0.40으로 감소해 82% 개선됨
    • claude-opus-4-5: 2.55에서 0.57로 감소해 78% 개선됨
    • claude-sonnet-5: 2.67에서 0.53으로 감소해 80% 개선됨
    • claude-sonnet-4-6: 2.06에서 0.52로 감소해 75% 개선됨
  • 모든 모델에서 출력 토큰 수가 감소했으며 평균 문장 길이는 11.2단어에서 9.7단어로 줄어듦
  • 두 조건에 같은 규칙을 적용하는 결정론적 정규식 린터를 사용했으며, 전체 방법과 한계는 evals/results/RESULTS.md에 있음
  • 로그인된 Claude Code CLI만 있으면 다음 명령으로 재현할 수 있음
python3 evals/run_bench.py

규칙 검증 방식

  • Skill은 블로그 요약이 아니라 2025년 Issue 9 원문을 기준으로 테스트 주도 방식으로 제작됨
  • Skill이 없는 기준 에이전트는 40단어 문장을 작성하고 존재하지 않는 규칙 번호를 만들기도 함
    • 한 결과는 짧은 문장 규칙을 “Rule 3.1”로 인용했지만 실제 Rule 3.1은 동사 형태에 관한 규칙임
  • 일부 2차 자료와 달리 공식 PDF에서는 canwill을 허용함
  • 기록된 기준 실패를 하나씩 막도록 Skill을 작성한 뒤 에이전트가 통과할 때까지 다시 테스트했으며, 시나리오와 결과는 evals/pressure-tests.md에 있음

적용 한계와 표준 상태

  • 결과물은 STE 인증 문서가 아님
    • ASD는 어떤 도구도 인증하지 않음
    • 기본 모드는 구조 규칙과 사용자의 도메인 어휘를 결합함
    • 엄격 모드는 표준에 더 가까워지지만 단어별 판정에는 공식 표준이 필요함
  • 결과는 Airbus 매뉴얼처럼 평면적이고 오해하기 어렵게 작성되며, 개성 있는 문체는 블로그 등 다른 용도에 남겨 두도록 설계됨
  • “명확하게 작성하라”는 주관적 지시와 달리 “문장을 20단어 이하로 작성하라”는 검증 가능한 명세이므로 에이전트가 따를 수 있음
  • ASD-STE100은 40년 이상 된 표준이지만 2025년 1월의 Issue 9까지 유지·갱신됐고, 번호가 있으며 테스트할 수 있음

라이선스와 비공식 지위

  • 저장소 전체는 MIT 라이선스로 제공됨
  • 교육을 위해 규칙을 재서술하며 공식 명세 문구나 사전 내용은 복제하지 않음
  • ASD 또는 STEMG와 제휴하거나 승인을 받은 프로젝트가 아니며, ASD-STE100은 ASD의 등록 상표임

댓글과 토론

Hacker News 의견들
  • 예시 하나에 “ASD-STE100 간소화 기술 영어로 다시 작성하라”는 문장만 앞에 붙여도 충분히 괜찮은 결과가 나옴. 지침 한두 문장이면 될 텐데, ASD-STE100이 이미 학습 자료에 포함됐을 가능성이 큰데도 거대한 스킬이 왜 필요한지 의문임

    • 모델이 사전 학습 지식을 알아서 활용해야 한다는 기대는 이해하지만, 후반 학습 단계에서 사전 학습 데이터가 상당히 뒤섞이는 듯함
  • LLM 생성 문장에 The Economist 스타일 가이드를 적용하는 스킬을 만들었음: https://github.com/TAJD/economist-style-guide-plugin
    비교적 구조가 좋고 편집하기 쉬운 글을 만들어 줌

  • STE 오용과 제한적인 도입에 관한 내용임: https://en.wikipedia.org/wiki/Simplified_Technical_English#M...

    • 비판 자료의 “STE로 올바르게 쓰려면 뛰어난 영어 구사력과 해당 주제에 관한 충분한 지식이 필요하다”라는 문장이 인상적임. 이는 STE 사용 여부와 관계없이 모든 분야에서 좋은 영어 글쓰기에 필요한 조건일 뿐임
    • LLM은 번역을 잘하므로 이런 글쓰기에 유난히 뛰어나야 함. 실제로 지난 일주일간 모든 프롬프트에 적용해 보니 문체의 군더더기를 없애는 데 효과적이었고, 과도한 중복 수식 표현도 전혀 보지 못했음
  • 아이디어는 마음에 들지만 스킬 자체에는 확신이 없음. 대신 https://vale.sh와 여러 린터를 발견했으니 시험해 볼 생각임

    • STE는 이미 학습 데이터에 포함돼 있으므로 스킬은 중복이며, 컨텍스트 창만 오염시킴
    • LLM 문서화 작업에서 Vale을 어떻게 활용할 수 있는지 궁금함
  • 너무 많은 일을 하는 듯하며 시스템 프롬프트 한 줄이면 충분히 잘 작동함: “출력 토큰은 귀중하므로 간결하게 답하고, ASD-STE100 간소화 기술 영어를 사용하라”

    • 실제로 계속 잘 작동하는지 궁금함. 사용자 프로필과 CLAUDE.md에 규칙을 추가해도 모델이 결국 궤도를 이탈해 docstring과 설명에 기술 전문 용어를 쏟아냈음
      코드 설명을 더 쉽고 단순하게 만들 방법이라면 무엇이든 시도할 생각이라 이것도 기대됨
  • README부터 “모호한 문장 하나 때문에 독자가 죽을 수 있는 사람들이 1983년에 작성한 9개 절, 53개 규칙” 같은 LLM 특유의 문체가 고스란히 보여 아이러니함. 글쓰기 스킬로서는 그다지 유망한 신호가 아님

    • 이를 인정하고는 있지만 README의 문체가 정말 마음에 들지 않음. “이 README는 규칙의 절반을 어기지만 마케팅은 명시적으로 STE 범위 밖이며, 스킬은 이를 알고 문서 안에 머문다”, “마케팅 문구, 블로그 문체, 브랜드 글쓰기는 거부하며 의도적으로 평평하게 쓴다” 같은 식임
      각 문장에는 HN에서 제거된 이모지도 붙어 있음
    • 한동안 평범한 ASD-STE100 프롬프트를 써 보니 에이전트의 간소화된 영어가 조금 더 마음에 들지만, 글의 전체 구조까지 바꾸지는 못함
      문장은 짧아지고 과장된 도입이나 발표 자료처럼 공허한 절 제목은 줄어들어 품질이 상당히 좋아지지만, 획기적이지는 않고 문제를 완전히 해결하지도 못함
    • README는 간결하고 정확해 보이며, 직접 시험해 보니 잘 작동함. 주변에서 본 많은 사람이 쓴 README보다 나음
  • 표준 Issue 9의 첫 예시부터 자기모순적임. Test는 승인된 명사지만 동사로는 승인되지 않았는데, STE 예문은 “Test B is an alternative to test A”임
    STE 전용 규칙을 모르면 명백히 중의적인 문장이라 명료성과 거리가 멂. 공식 사이트가 Google Form 뒤에 다운로드를 숨겨 놓았기에 직접 받을 수 있는 링크도 남김: https://www.asd-ste100.org/assets/files/ASD-STE100_ISSUE9.pd...

    • 무엇이 중의적인지 모르겠음. 앞의 Test를 동사로 읽으려면 “B가 A의 대안인지 시험하라”에서 that이 생략됐다고 봐야 하는데, 앞에서는 동사이고 뒤에서는 명사라 병렬성이 깨짐
      게다가 누군가에게 그런 행동을 지시하는 해석 자체가 가능성이 매우 낮음
  • ASD-STE100이 갑자기 주목받는 이유가 바이럴 트윗인지 궁금함. 친구에게 듣고 며칠 전 명세를 올렸음: https://asd-web-be-prod.azurewebsites.net/media/wunhmi5y/asd...
    PDF 복사가 금지돼 있는데 쉽게 우회할 수 있음에도 왜 그렇게 했는지 의아함. 허용되지 않은 단어를 차단하려면 영어용 ruff 같은 린터가 필요하며, 그렇지 않으면 에이전트가 한 줄짜리 지침을 거의 확실히 잊어버릴 것임

  • 이런 지침이 모델의 지능이나 사고 능력에 어떤 영향을 주는지 궁금함. 출력이나 사고 과정을 바꾼다면 모델의 역량도 달라질 수 있으며, 특히 학습 중 이런 언어를 사용하도록 훈련받지 않았다면 더 그럴 수 있음

    • 지침으로 주기보다는 후처리 계층으로 구현해야 할 듯함
  • https://youtu.be/uJblcC4lKYw에서는 STE 스킬 등 여러 스킬·프롬프트와 George Orwell의 글쓰기 6원칙을 비교 평가했고, 종합적으로 Orwell이 가장 좋은 결과를 냈음
    입력 컨텍스트에 추가되는 토큰도 많지 않으며, 이 규칙을 적용한 산문 프롬프트와 적용하지 않은 것을 비교해 보니 결과가 마음에 듦. 익숙한 비유를 피하고, 짧은 단어로 충분하면 긴 단어를 쓰지 않으며, 뺄 수 있는 단어는 빼고, 수동태 대신 능동태를 사용하며, 일상어가 있으면 외국어나 과학 용어·전문 용어를 피하고, 야만적인 문장을 쓰느니 이 규칙들을 깨라는 내용임

    • AI 글을 너무 많이 읽어서인지 모르겠지만, 영상 내레이션 원고도 이 규칙을 하나도 적용하지 않은 Claude가 쓴 것처럼 들림
      “솔직히 말하면 번역 개선은 실제였지만 작았다”, “이제 솔직한 부분이다”, “같은 병이지만 증상이 다르다”, “그 잔혹한 3% 수치는 자연법칙이 아니라 Claude의 특성이었다”처럼 상투어와 AI 특유의 표현이 너무 많음