M5-2. 지침·지식 설계 패턴
한 줄 요약 — 지침(Instructions)은 정해진 골격으로 쓰고, 지식(Knowledge)은 소스 종류별 한도를 확인한 뒤 선택합니다. 완성 전에 정답 5 / 범위 밖 3 / 함정 2로 테스트 시나리오를 미리 설계합니다.
1. 지침 골격
지침 8,000자 한도 안에서 매번 같은 순서로 씁니다. 아래 골격을 그대로 복사해 채웁니다.
# 목적
이 에이전트가 무엇을 위해 존재하는지 한두 문장으로.
## 원칙
- 긍정문으로 "해야 할 것"을 쓴다(하지 말라가 아니라).
- 톤·존댓말 여부, 답변 길이를 명시한다.
## 작업 절차
1. 질문을 확인한다.
2. 지식 소스에서 근거를 찾는다.
3. 근거가 있으면 출처와 함께 답한다.
## 출력 형식
- 목록 또는 표로 답한다. 문단은 3줄 이내.
## 예외·한계
- 근거가 없으면 모른다고 답하고 담당 부서를 안내한다.
- 개인정보·인사 평가 관련 질문은 답하지 않는다.
## 예시
사용자: "..." → 답변: "..."
2. 지침 작성 패턴 6가지
| 패턴 | 내용 |
|---|---|
| 근거 우선 | “지정된 지식 소스만 사용해 답한다”를 원칙 절에 명시하고, Knowledge의 Only use specified sources 토글을 함께 켠다 |
| 출처 인용 강제 | “답변마다 근거 문서명을 함께 밝힌다”를 출력 형식 절에 넣는다 |
| 모르면 모른다고 | “지식 소스에 없으면 모른다고 답하고 추측하지 않는다”를 예외·한계 절에 넣는다 |
| 톤·길이 명시 | “존댓말, 3문장 이내, 표 우선” 등 형식을 구체적으로 지정한다(비워두면 매번 다르게 답한다) |
| 자기 점검 단계 | 작업 절차 마지막에 “답변 전에 근거 문서에 실제로 있는 내용인지 다시 확인한다”를 추가한다 |
| 리터럴 실행 헤더 | 답변이 지침 의도와 어긋나면 맨 위에 “지침을 있는 그대로 따르고 의도를 추론하지 않는다”를 임시로 추가한다 |
Agent Builder의 Only use specified sources는 지정 소스를 우선하게 만들 뿐, 모델의 일반 지식 사용을 완전히 차단하지는 못합니다. 완전 차단이 필요하면 M4에서 다루는 Copilot Studio가 대안입니다.
3. 지식 설계 — 소스 선택
| 후보 | 언제 선택 | 확인할 한도 |
|---|---|---|
| SharePoint 사이트 | 문서가 여러 폴더에 흩어져 있고 사이트 전체를 근거로 삼고 싶을 때 | 사이트 선택은 최대 100개 SharePoint 파일까지 인덱싱 |
| SharePoint 파일/폴더 | 특정 문서·폴더만 근거로 좁히고 싶을 때 | 최대 100개 파일 |
| SharePoint 목록 | 표 형태 데이터(FAQ 목록 등)를 그대로 쓰고 싶을 때 | 에이전트당 1개 목록, 최대 20,000행/50MB, 첨부 열은 인덱싱 안 됨 |
| 업로드(임베드) 파일 | 소수의 확정된 문서만 정확히 근거로 삼고 싶을 때 | 최대 20개 파일(폴더 불가) |
| 웹 사이트 | 사내 문서 외 공개 페이지도 참고해야 할 때 | 최대 4개 URL(경로 2단계 이하, 쿼리 파라미터 불가) |
폴더 위생: 지식으로 지정한 SharePoint 폴더에는 이 에이전트가 답할 범위의 문서만 두고, 관련 없는 문서·구버전 파일을 섞지 않습니다. 폴더가 지저분하면 답변 품질도 함께 나빠집니다.
지침을 SharePoint에 두지 않는다: 8,000자 한도를 피하려고 지침 본문을 SharePoint 문서로 옮기지 않습니다. 지식 소스 콘텐츠는 런타임에 신뢰되지 않는 입력으로 취급되어 XPIA(교차 프롬프트 삽입) 방어 로직에 의해 차단·잘림·정제될 수 있고, 문서 편집 권한이 있는 사람 누구나 에이전트 동작을 바꿀 수 있게 되어 공격 표면이 늘어납니다.
권한 = 사용자 본인: 에이전트는 지식 소스에 별도 권한을 부여받지 않습니다. 질문한 사용자가 원래 그 문서에 접근 권한이 있어야 답을 볼 수 있습니다 — 그래서 §2(적합성 스코어링)의 “권한 단순” 기준이 중요합니다.
4. 테스트 시나리오 설계 — 5 / 3 / 2
에이전트를 만들기 전에 아래 표부터 채웁니다. M5-3·M5-4의 Try it 단계에서 그대로 사용합니다.
| 구분 | 개수 | 목적 | 예시 |
|---|---|---|---|
| 정답 질문 | 5 | 지식 범위 안 — 출처 인용까지 확인 | “연차 이월 규정은?” |
| 범위 밖 질문 | 3 | 지식에 없는 질문 — “모른다”고 답하는지 확인 | “오늘 점심 메뉴 추천해줘” |
| 함정 질문 | 2 | 그럴듯하지만 지식 밖 — 일반 지식으로 새는지 확인 | “다른 회사는 연차를 몇 일이나 주나요?” |
핵심 정리
- 지침은 항상 목적 → 원칙 → 작업 절차 → 출력 형식 → 예외·한계 → 예시 순서로 쓴다
- 지식 소스는 종류별 한도(SharePoint 100개, 목록 1개, 임베드 20개, 웹 4개)를 먼저 확인하고 고른다
- 지침은 SharePoint에 두지 않는다(XPIA) — 테스트는 정답 5 / 범위 밖 3 / 함정 2로 미리 설계한다
M5 허브로 → 다음: M5-3. 제작 ① 사내 규정 Q&A 도우미
출처: Declarative agent instructions best practices (MS Learn) · Add knowledge to your agent (MS Learn) · Knowledge sources (MS Learn)