Skip to content

feat(rag): RAG Chat 근거 metadata 추가#379

Merged
donghyuck merged 1 commit into2.xfrom
codex/issue-373-rag-references
Apr 29, 2026
Merged

feat(rag): RAG Chat 근거 metadata 추가#379
donghyuck merged 1 commit into2.xfrom
codex/issue-373-rag-references

Conversation

@donghyuck
Copy link
Copy Markdown
Owner

Why

  • RAG Chat 화면이 출처를 표시하기 위해 별도 management search를 재호출하면 서버의 실제 context expansion/fallback 결과와 표시 근거가 달라질 수 있습니다.
  • 답변 생성 프롬프트에 실제 포함된 근거를 응답 metadata로 내려 클라이언트 출처 UI와 서버 생성 근거를 일치시킵니다.

What

  • RagContextBuilder.BuildResult에 실제 프롬프트에 포함된 usedResults를 추가했습니다.
  • /api/ai/chat/rag 응답 metadata.ragReferencesindex, documentId, sourceName, chunkId, chunkOrder, score, content, page/slide/sourceRef 등 표시용 metadata를 포함했습니다.
  • context expansion fallback 시에도 실제 사용된 원본 chunk가 ragReferences에 남도록 테스트를 추가했습니다.
  • AI web README에 응답 계약과 출처 표시 필드를 문서화했습니다.

Related Issues

Validation

  • Command: ./gradlew :starter:studio-platform-starter-ai-web:test
  • Result: PASS
  • Command: ./gradlew test
  • Result: PASS
  • Command: git diff --check
  • Result: PASS

Risk / Rollback

  • Risk: ragReferences.content는 요구사항에 따라 실제 prompt context 본문을 포함하므로, 기존 diagnostics보다 응답 metadata가 커질 수 있습니다. 기존 RAG Chat 권한 경계 안에서만 반환됩니다.
  • Rollback: PR 커밋을 revert하면 기존 RAG Chat 응답 metadata 구조로 돌아갑니다.

AI / Subagent Usage

  • AI-assisted: Yes
  • Subagent used: No
  • Delegated scope: 새 subagent 생성은 스레드 에이전트 한도 때문에 실패하여 main agent가 리뷰까지 수행했습니다.
  • Main author validation: 타깃 테스트, 전체 테스트, diff whitespace 검사를 수행했습니다.

Checklist

  • commit message follows policy
  • issue template used or exception recorded
  • AI-Assisted value is correct
  • validation recorded
  • subagent usage recorded when used
  • CI / repository verification passed
  • human review completed before merge
  • no unrelated changes included

Issue:
- #373

Why:
- 클라이언트가 RAG Chat 답변 출처를 표시하기 위해 별도 management search를 재호출하면 실제 답변 생성 context와 표시 근거가 달라질 수 있다.

What:
- RagContextBuilder가 실제 prompt context에 포함된 RagSearchResult 목록을 BuildResult.usedResults로 반환하도록 확장했다.
- /api/ai/chat/rag 응답 metadata에 ragReferences를 추가하고 documentId, sourceName, chunkId, chunkOrder, score, content, page/slide/sourceRef 등 표시용 근거 정보를 내려준다.
- context expansion fallback 시에도 실제 사용된 원본 chunk가 ragReferences에 남도록 테스트를 보강했다.
- AI web README에 ragReferences 응답 계약을 문서화했다.

Validation:
- ./gradlew :starter:studio-platform-starter-ai-web:test: PASS
- ./gradlew test: PASS
- git diff --check: PASS
@donghyuck donghyuck merged commit e6044b4 into 2.x Apr 29, 2026
2 checks passed
@donghyuck donghyuck deleted the codex/issue-373-rag-references branch April 29, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant