에이전트 아키텍처: 인자(Arguments)는 조회되는 것이지, 생성되는 것이 아니다
요약
AI 에이전트 설계 시 모델이 인자를 임의로 생성(Hallucination)하지 않도록, 인자의 출처를 추적하는 조회(Lookup) 기반 아키텍처를 제안합니다. 데이터의 출처 체인을 통해 검증하고, 불확실한 정보는 '알 수 없음'으로 처리하여 사용자에게 질문하도록 유도하는 것이 핵심입니다.
핵심 포인트
- 인자는 모델이 생성하는 것이 아니라 출처를 통해 조회되어야 함
- 출처 체인(Provenance chain)을 통한 데이터 신뢰성 확보
- '알 수 없음(Unknown)' 상태를 에러가 아닌 유효한 출력으로 취급
- 불확실한 정보가 있을 경우 실행 대신 사용자에게 질문하는 설계
에이전트 아키텍처: 인자(Arguments)는 조회되는 것이지, 생성되는 것이 아니다
검증기(Validator)는 사용자가 입력한 계좌 번호와 모델이 지어낸 번호를 구분할 수 없습니다. 더 심각한 문제는, 필수 필드가 존재하면 모델이 빈칸을 채우도록 압박을 받는다는 점입니다. 따라서 이 레이어는 인자를 검증하지 않습니다. 대신 각 인자가 어디에서 왔는지 조회(Look up)합니다.
출처 체인(Provenance chain): user_answer → instruction → pre_set_data → measured_data → prior_state
가장 먼저 발견된 것이 승리합니다. 이 다섯 가지 단계가 모두 비어 있는 경우에만 해당 필드는 '알 수 없음(unknown)' 상태가 됩니다.
'알 수 없음(Unknown)'은 정상적인 상태입니다. 지시 사항(Instruction)이 불완전할 때, '알 수 없음'은 에러가 아닙니다. 그것은 유효한 출력입니다. 만약 단 하나라도 '알 수 없음'으로 남아 있다면: 실행하지 마십시오. 질문하고, 기록하십시오.
{
"action_key": "u_01:bank.transfer",
"fields": [
{
"name": "to_account",
"status": "unknown",
"source": null
},
{
"name": "amount",
"value": 50000,
"status": "known",
"source": "instruction"
}
],
"gate": {
"unknown_fields": [
{
"name": "to_account"
}
]
},
"execution_decision": "ask_user"
}
execution-state-preflight.js — 라이브러리가 아닌 스켈레톤(Skeleton)입니다. 훅(Hooks)은 직접 구현해야 하며, 이 파일이 제공하는 것은 결정 경로(Decision path)와 계약(Contracts)입니다. 명세(Spec)의 대부분은 주석( CONTRACT: / POLICY: / BREAKS: )에 들어 있습니다. 함수를 하나만 읽는다면, lookupField를 읽으십시오.
지속성(Persistence)은 설계상 가려지지 않습니다 — 그것은 게이트(Gate)의 역할이 아니라 어댑터(Adapter)의 역할입니다.
전체 논거: 확실하지 않다면 질문하십시오. 절대 추측하지 마십시오. — AI 에이전트 실행 전 체크리스트(AI Agent Pre-Execution Checklist)
현재는 모든 '알 수 없음'이 질문이 됩니다. 다른 사람들은 대신 어디에서 실패할지 궁금하군요.
submitted by /u/Jay299792458 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기