0Pricing
AI Agents · 강의

신뢰할 수 있는 양식 작성 에이전트 구축

실용적인 사례 연구입니다. 포털에 로그인하고 여러 페이지로 구성된 양식을 작성한 뒤 제출 내용을 확인합니다.

신뢰할 수 있는 양식 작성 에이전트 구축은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

현실적인 프로젝트

"여러 페이지로 구성된 이 양식을 입력하는" 에이전트를 만들어 보겠습니다. Playwright + LLM 계획 수립 + 재시도 + 비전 대체 수단을 결합합니다.

아키텍처

  1. LLM이 JSON 명세에서 필드 요구 사항을 읽습니다
  2. Playwright가 양식을 엽니다
  3. 각 필드에 대해 선택자와 값을 찾고, 입력한 다음 검증합니다
  4. DOM으로 필드를 찾기 어려우면 비전 기능으로 대체합니다
  5. 양식을 제출하고 성공 여부를 확인합니다

Step 1: Define the Task

TASK = {
    'url': 'https://example.com/apply',
    'login': {'user': 'alice', 'pass': '...'},
    'fields': {
        'first_name': 'Alice',
        'last_name': 'Smith',
        'email': 'alice@example.com',
        'role': 'Senior Engineer'
    }
}

Step 2: Login

page.goto(TASK['url'])
if page.locator('input[name="username"]').is_visible():
    page.fill('input[name="username"]', TASK['login']['user'])
    page.fill('input[name="password"]', TASK['login']['pass'])
    page.click('button[type="submit"]')
    page.wait_for_load_state('networkidle')

Step 3: Field Filler

def fill_field(page, field_name, value):
    for selector in [
        f'input[name="{field_name}"]',
        f'input[aria-label="{field_name}"]',
        f'input[placeholder*="{field_name}"]',
        f'label:has-text("{field_name}") + input'
    ]:
        if page.locator(selector).count() > 0:
            page.fill(selector, value)
            return True
    return False

# --- demo ---
class _FakeLocator:
    def __init__(self, found):
        self._found = found
    def count(self):
        return 1 if self._found else 0

class _FakePage:
    """Only the 3rd selector (placeholder) matches, to show the fallback loop."""
    def locator(self, selector):
        return _FakeLocator(found='placeholder*=' in selector)
    def fill(self, selector, value):
        print(f'Filled via selector: {selector} -> {value!r}')

page = _FakePage()
ok = fill_field(page, 'email', 'alice@example.com')
print(f'fill_field succeeded: {ok}')

Step 4: LLM 지원 로케이터

표준 선택자가 실패하면 LLM에 필드를 식별하도록 요청하십시오:

def ask_llm_for_selector(html, field_name):
    prompt = f'Find the input element for "{field_name}" in this HTML and return a CSS selector. HTML:\n{html[:5000]}'
    return llm.invoke(prompt).content.strip()

Step 5: 비전 대체 수단

LLM조차 선택자를 찾지 못하면 스크린샷을 찍어 비전 기능을 사용하십시오:

if not filled:
    screenshot = page.screenshot()
    coordinate = vision_llm_locate(screenshot, field_name)
    page.mouse.click(coordinate.x, coordinate.y)
    page.keyboard.type(value)

Step 6: 각 단계 검증

입력한 후 값을 다시 읽으십시오:

actual = page.input_value(selector)
assert actual == expected_value, f'Expected {expected_value}, got {actual}'

Step 7: Submit and Verify

page.click('button[type="submit"]')
page.wait_for_load_state('networkidle')
if page.locator('text=Thank you').count() == 0:
    raise SubmissionFailed('Success page not detected')

Step 8: 재시도 로직

양식은 때때로 오작동합니다. 멱등성 확인과 함께 재시도하십시오:

@retry(stop=stop_after_attempt(3), wait=wait_fixed(2))
def fill_and_submit(page, task):
    ...

Step 9: 캡차 처리

양식에 reCAPTCHA가 있으면 해결 서비스(2Captcha, Anti-Captcha)를 사용하거나, 적절히 실패를 처리하고 사람에게 요청하십시오.

Step 10: 기록 및 재생

모든 작업과 스크린샷을 저장하십시오. 문제가 발생하면 디버깅을 위해 추적 기록을 재생할 수 있습니다:

context.tracing.stop(path=f'trace-{task_id}.zip')
# View with: playwright show-trace trace-abc.zip

동시성 고려 사항

많은 사용자의 양식을 병렬로 처리하려면 작업마다 브라우저 컨텍스트를 하나씩 생성하십시오. 대상 사이트에 과부하가 걸리지 않도록 동시 작업 수를 제한하십시오.

대상 사이트 존중

  • 작업 사이에 간격을 두십시오(사람은 초당 200자를 입력하지 않습니다)
  • robots.txt와 서비스 약관을 준수하십시오
  • 허용된 경우에만 IP를 순환해 사용하십시오
  • 악용을 피하십시오. 에이전트 트래픽은 무분별한 스크래핑이 아닙니다

견고성 전략

예측할 수 없는 HTML에서 양식을 입력하는 가장 안정적인 전략은 무엇입니까?

복습

Playwright + LLM 지원 선택자 + 비전 대체 수단 + 단계별 검증 + 재시도 + 추적 기록. 안정적인 양식 입력을 위한 방법입니다.

자주 묻는 질문

“신뢰할 수 있는 양식 작성 에이전트 구축” 강의는 무료인가요?

네 — “신뢰할 수 있는 양식 작성 에이전트 구축” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.

“신뢰할 수 있는 양식 작성 에이전트 구축”에서 뭘 배우나요?

실용적인 사례 연구입니다. 포털에 로그인하고 여러 페이지로 구성된 양식을 작성한 뒤 제출 내용을 확인합니다. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AI Agents을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“신뢰할 수 있는 양식 작성 에이전트 구축” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Playwright로 브라우저 자동화
  2. 화면 이해를 위한 비전 모델
  3. 컴퓨터 사용 패턴(Anthropic Computer-Use)
  4. 신뢰할 수 있는 양식 작성 에이전트 구축
← AI Agents(으)로 돌아가기