← Adelie

정책 엔진이랑 선택적 망각

Policy Engine과 Memory Harness로 AI를 제약하고 컨텍스트를 관리하다

Policy EngineMemory HarnessAST

Meta Harness로 파이프라인을 동적으로 만들 수 있게 됐는데, 한 가지 걱정이 생겼다. AI가 자유도가 높아지면 위험한 코드도 쓸 수 있다는 거. 그래서 같은 날 바로 두 가지를 추가했다.

Policy Engine

.adelie/constraints.yaml 파일 하나에 규칙을 선언하면, 코드가 프로젝트에 반영되기 전에 자동으로 검사된다. 세 종류를 지원하게 했다:

  • pattern: 정규식으로 위험 패턴 탐지 (예: eval() 호출)
  • ast: Python AST를 파싱해서 구조적으로 검사 (와일드카드 임포트, 독스트링 누락)
  • file: 파일 줄 수 제한

negative_pattern이라는 것도 넣었다. 예를 들어 requests.get( 패턴을 잡되, timeout=이 있으면 통과시키는 식. 이게 없으면 false positive가 너무 많았다.

Coder AI랑 Reviewer AI 프롬프트에도 현재 활성 정책을 주입해서, 생성 단계에서부터 위반을 줄이게 했다. 그래도 빠져나가는 건 PolicyGate에서 마지막으로 막는다.

Memory Harness — 선택적 망각

이건 좀 다른 문제였다. 프로젝트가 진행될수록 KB 파일이 쌓이는데, 옛날 에러 로그나 이미 완료된 페이즈의 문서가 컨텍스트를 오염시키는 거였다. AI가 이미 해결된 에러를 다시 고치려고 하거나, 초기 설정 문서에 영향받아서 이상한 방향으로 가거나.

그래서 세 가지 메커니즘을 만들었다:

  1. Phase Scope Filter: KB 파일에 phase_scope 태그를 붙이면 해당 페이즈에서만 보임
  2. Archive Manager: 3사이클 이상 된 에러 파일은 자동 아카이빙
  3. Summary Tree: 아카이빙된 파일의 1-2줄 요약을 남겨서 최소한의 맥락은 유지

컨텍스트 윈도우의 5%만 아카이브 요약에 할당하는 것도 중요했다. 너무 많이 주면 또 오염되니까.

Adelie의 다른 기록 보기
김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.

esc

↑↓ 고르기↵ 열기? 단축키

해변에서 주운 것

읽으러 가기 →
guest@beachcombers — zsh

단축키

⌘K 또는 /
글·작업·개발일지 찾기
R
해변 산책 — 아무 글 하나 줍기
`
터미널 열기
←→
쪽 넘기기 (휠·스와이프도 됩니다)
?
이 안내
esc
닫기