소스 업데이트
Some checks failed
Deploy Tools / deploy (push) Has been cancelled

This commit is contained in:
jade
2026-09-08 09:24:05 +09:00
parent f80461a071
commit 82551d87bb

View File

@@ -522,13 +522,35 @@ public class ToolScaffolder {
return value == null ? "" : value.replace("\\", "\\\\").replace("\"", "\\\"").replace("\r", " ").replace("\n", " ");
}
/**
* 콘솔 Scaffold에서 LLM 설명 대신 업무 단위의 제안서를 입력할 수 있도록 안내한다.
*/
public static String businessProposalGuide() {
return """
\n[업무 제안서 작성 가이드]
Tool 이름만 적지 말고, 아래 항목을 한두 문장씩 포함해 작성하세요.
1. 조회 대상·식별 기준: 무엇을 어떤 값으로 찾는지
2. 조회 목적·사용자: 누가 어떤 업무 상황에서 쓰는지
3. 조회 범위·결과 단위: 목록인지 상세인지, 반드시 필요한 정보는 무엇인지
4. 조건·예외: 기준일, 포함/제외 조건, 식별값 부족·다건 조회 시 처리
5. 권한·마스킹 및 제외 범위: 노출하면 안 되는 정보와 별도 Tool로 분리할 업무
[통합계약원부 조회 제안서 예시]
상담사가 고객의 현재 유효 계약을 확인한다. 계약번호가 있으면 상세 원부를 조회하고,
없으면 고객 식별값으로 계약 목록을 먼저 조회한다. 계약 기본정보, 계약자·피보험자,
주계약·특약, 납입 상태와 실효 여부를 반환한다. 계약이 여러 건이면 목록을 먼저 반환하고,
주민번호와 계좌번호는 마스킹한다. 해지·대출·보험금 상세는 별도 Tool로 분리한다.
""";
}
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
String baseName = getOrAsk(args, 0, scanner, "1. 생성할 Tool의 기본 이름 (예: ExchangeRate) [영문 PascalCase]: ");
String interfaceId = getOrAsk(args, 1, scanner, "2. 레거시 API 인터페이스 ID (예: EXCH_001): ");
String title = getOrAsk(args, 2, scanner, "3. Tool title: ");
String description = getOrAsk(args, 3, scanner, "4. Tool description for LLM: ");
System.out.println(businessProposalGuide());
String description = getOrAsk(args, 3, scanner, "4. 업무 제안서 (생성 Tool의 LLM 설명으로 사용): ");
String group = getOrAsk(args, 4, scanner, "5. Tool category: ");
if (group.isEmpty()) group = "COMMON";
String routingType = getOrAsk(args, 5, scanner, "6. Routing type (HTTP, TCP, MCI, EAI): ");