AI로 경비 보고서를 회사 정책과 대조하기
에이전트가 정책과 경비 목록을 읽고, 위반 항목마다 어긴 조항을 함께 표시합니다.
- 파일
- 예산 상한
실제 실행 보기
2026년 10월 7일에 기록된 실제 실행을 다시 재생합니다. 모델: openai/gpt-6-luna.
성공run_ae931be673f63d34dfc866fd9f435b33$0.03 중 $0.00491
- 대기 중예산 $0.03 예약됨
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- 파일
read expense-policy.md - 파일
read expenses.csv - MicroVMmicroVM destroyed
- 성공모델 호출 2회, 토큰 3,564개기록된 출력 (영어)
{ "violations": [ { "line": 2, "clause": 1, "reason": "The expense includes wine, and alcohol is never reimbursed." }, { "line": 6, "clause": 2, "reason": "The $52 expense is missing a receipt." }, { "line": 7, "clause": 5, "reason": "The Sunday ride has no note naming a business reason." }, { "line": 9, "clause": 6, "reason": "This expense is an exact duplicate of line 10." }, { "line": 10, "clause": 6, "reason": "This expense is an exact duplicate of line 9." }, { "line": 5, "clause": 4, "reason": "$410 for two nights is $205 per night, exceeding the $180 limit." }, { "line": 12, "clause": 4, "reason": "$205 for one night exceeds the $180 per-night limit." } ], "needs_human": [ { "line": 2, "question": "How many people were covered by this meal, so the $60 per-person daily limit can be checked?" }, { "line": 3, "question": "Was this 11-hour business-class flight approved in advance by a director?" }, { "line": 6, "question": "Was the airport taxi taken for a business trip?" }, { "line": 7, "question": "Was this ride part of a business trip?" } ], "compliant_lines": 4 } - 워커 폐기됨$0.00491 청구, $0.02509 반환
모델 $0.00091 · 웹 $0.00 · 컴퓨팅 $0.004
직접 실행하기
요청이 모두 채워진 상태로 플레이그라운드에서 샘플을 엽니다. 내 계정에서 표시된 예산 안에서, 같은 읽기 전용 샘플 시스템을 대상으로 실행됩니다.
이 샘플의 예산: $0.03
작동 방식
정책과 경비 내역은 모두 읽기 전용 파일입니다. 답변은 표시한 항목마다 줄 번호와 조항 번호를 인용하므로 검토자가 몇 초 만에 확인할 수 있습니다. 규정을 지킨 항목은 나열하지 않습니다.
에이전트가 할 수 있는 일과 할 수 없는 일
권한은 요청의 일부입니다. 여기에 나열되지 않은 것은 실행에서 사용할 수 없습니다.
| 설정 | 허용 범위 |
|---|---|
| 연결 | 없음 |
| 웹 | 꺼짐 |
| 셸 | 꺼짐 |
| 파일 | expense-policy.md, expenses.csv (읽기 전용) |
| 데이터 무보존 | 꺼짐: 기록이 30일간 보관됩니다 |
| 예산 | $0.03, 하드 캡 |
| 시간 제한 | 60초 |
자격 증명은 머신 안으로 들어가지 않습니다. 브로커가 각 호출에 자격 증명을 추가하고 위의 메서드를 강제합니다.
코드
샘플이 보내는 정확한 요청입니다. EPHEMERAL_API_KEY를 내 조직의 멤버 키로 설정하세요.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.json요청에 포함된 파일
인라인으로 전달되므로 먼저 업로드할 필요가 없습니다. 에이전트는 각각을 읽기 전용 파일로 봅니다.
expense-policy.md
# Expense policy
1. Meals: at most 60 USD per person per day. Alcohol is never reimbursed.
2. Every expense of 25 USD or more needs a receipt.
3. Flights: economy class only, unless the flight is longer than 8 hours and a director approved it in advance.
4. Hotels: at most 180 USD per night.
5. Taxis and rides: only for business trips; weekend rides need a note naming the business reason.
6. The same expense must not be claimed twice.
expenses.csv
line,date,employee,category,description,amount_usd,receipt,approved_by
1,2026-09-14,a.nguyen,meal,Team lunch (4 people),88.00,yes,
2,2026-09-14,a.nguyen,meal,Wine with client dinner,64.00,yes,
3,2026-09-15,b.keller,flight,Frankfurt to Tokyo business class (11h),4210.00,yes,
4,2026-09-15,b.keller,flight,Tokyo to Frankfurt economy (11h),980.00,yes,
5,2026-09-16,c.ortiz,hotel,Hotel Osaka 2 nights,410.00,yes,
6,2026-09-17,c.ortiz,taxi,Airport taxi,52.00,no,
7,2026-09-20,d.smith,taxi,Sunday ride home,31.00,yes,
8,2026-09-21,a.nguyen,meal,Breakfast,14.50,no,
9,2026-09-22,e.rossi,flight,Milan to Berlin economy,210.00,yes,
10,2026-09-22,e.rossi,flight,Milan to Berlin economy,210.00,yes,
11,2026-09-23,f.hall,meal,Dinner (1 person),47.00,yes,
12,2026-09-24,c.ortiz,hotel,Hotel Kyoto 1 night,205.00,yes,
전체 요청 본문 request.json
파일이 인라인으로 포함된 같은 본문입니다.
{
"prompt": "Check every line of expenses.csv against expense-policy.md. Reply with one JSON object and nothing else: {\"violations\": [{\"line\": number, \"clause\": number, \"reason\": string}], \"needs_human\": [{\"line\": number, \"question\": string}], \"compliant_lines\": number}. Report a violation only when the file proves it. When a rule cannot be checked from the data (for example advance approval), put the line in needs_human instead of guessing. A line can appear more than once if it breaks several clauses.",
"files": [
{
"path": "expense-policy.md",
"content": "# Expense policy\n\n1. Meals: at most 60 USD per person per day. Alcohol is never reimbursed.\n2. Every expense of 25 USD or more needs a receipt.\n3. Flights: economy class only, unless the flight is longer than 8 hours and a director approved it in advance.\n4. Hotels: at most 180 USD per night.\n5. Taxis and rides: only for business trips; weekend rides need a note naming the business reason.\n6. The same expense must not be claimed twice.\n"
},
{
"path": "expenses.csv",
"content": "line,date,employee,category,description,amount_usd,receipt,approved_by\n1,2026-09-14,a.nguyen,meal,Team lunch (4 people),88.00,yes,\n2,2026-09-14,a.nguyen,meal,Wine with client dinner,64.00,yes,\n3,2026-09-15,b.keller,flight,Frankfurt to Tokyo business class (11h),4210.00,yes,\n4,2026-09-15,b.keller,flight,Tokyo to Frankfurt economy (11h),980.00,yes,\n5,2026-09-16,c.ortiz,hotel,Hotel Osaka 2 nights,410.00,yes,\n6,2026-09-17,c.ortiz,taxi,Airport taxi,52.00,no,\n7,2026-09-20,d.smith,taxi,Sunday ride home,31.00,yes,\n8,2026-09-21,a.nguyen,meal,Breakfast,14.50,no,\n9,2026-09-22,e.rossi,flight,Milan to Berlin economy,210.00,yes,\n10,2026-09-22,e.rossi,flight,Milan to Berlin economy,210.00,yes,\n11,2026-09-23,f.hall,meal,Dinner (1 person),47.00,yes,\n12,2026-09-24,c.ortiz,hotel,Hotel Kyoto 1 night,205.00,yes,\n"
}
],
"shell": false,
"timeout_seconds": 60,
"max_cost_micros": 30000
}