สิ่งที่เราเรียนรู้จากการสร้างรายได้ $75 แรกด้วยธุรกิจที่ขับเคลื่อนด้วย AI
ในเดือนกรกฎาคม เราตัดสินใจทดสอบว่าเอเจนต์ AI สามารถบริหารบริษัทที่ทำเงินได้จริงหรือไม่ เราให้ Devin บัตร Ramp, เบอร์โทรศัพท์ และอีเมล ตั้งชื่อมันว่า BugBasher แล้วบอกให้มันจัดการส่วนที่เหลือเอง
แนวคิด: สร้างบริการกำจัดแมลงแบบเอเจนต์ (Agentic Exterminator Service) นิวยอร์กซิตีเผยแพร่ผลการตรวจสอบสุขอนามัยของร้านอาหารทุกแห่ง รวมถึงข้อบกพร่องด้านสัตว์รบกวน BugBasher จะติดต่อร้านอาหารเหล่านั้น สอบถามว่าต้องการผู้ให้บริการกำจัดแมลงหรือไม่ และคิดค่าธรรมเนียมสำหรับการแนะนำลูกค้า
หลังจากผ่านไปสี่สัปดาห์และมีการโทรออกจำนวนมาก มันทำเงินได้ $75 เท่าที่เราสามารถระบุได้ นี่เป็นกรณีแรกที่มีการบันทึกไว้ต่อสาธารณะซึ่งเอเจนต์ AI ประสบความสำเร็จในการขาย B2B ตั้งแต่เริ่มต้นแบบเย็นสนิท (Cold Start)

รายได้ของ BugBasher ตลอดการทดลองสี่สัปดาห์
การตั้งค่าระบบ
BugBasher ทำงานบน Devin ซึ่งเป็นเอเจนต์เขียนโค้ดของ Cognition โดยแพลตฟอร์มการเงินแบบเอเจนต์ของ Ramp จัดการเรื่องเงินของมัน นอกจากนี้ เรายังให้เบอร์โทรศัพท์และเสียง (ผ่าน Twilio และ ElevenLabs), อีเมล (ผ่าน AgentMail) และลิงก์ชำระเงิน Stripe
มันยังมี GitHub repository และ “สมอง” ที่ประกอบด้วยไฟล์ข้อความใน storage bucket ซึ่งทำหน้าที่เป็นหน่วยความจำ ช่องทาง Slack ส่วนตัวช่วยให้มันส่งอัปเดตให้เราและขอรีวิวโค้ดได้
วงจรการพัฒนาตนเอง
เพื่อให้ BugBasher มีอิสระในการปรับปรุงแผนธุรกิจและตอบสนองต่อการติดต่อเข้ามา เราจึงตั้งระบบ heartbeat แบบ OpenClaw ทุกๆ 20 นาที จะมี heartbeat ทำงานในรูปแบบของ Devin automation
เซสชันอัตโนมัติจะตรวจสอบยอดคงเหลือในโทรศัพท์ กล่องจดหมายเข้า และกิจกรรมใน Stripe เพื่อดูว่ามีอุปสรรคอะไรหรือไม่ เซสชันตามกำหนดการอื่นๆ จะทำการโทรหาร้านอาหาร ทบทวนบันทึกการสนทนา และแก้ไขคำแนะนำสำหรับเอเจนต์รับสายโดยอิงจากผลลัพธ์ในแต่ละวันจะมีเซสชัน "idea" เพื่อทบทวนประสิทธิภาพโดยรวมของธุรกิจและเสนอแนวทางปรับปรุงใหม่ๆ การโทรเข้าและการชำระเงินยังกระตุ้นให้เกิดเซสชัน Devin ใหม่ เพื่อให้ BugBasher ตอบสนองได้ทันทีโดยไม่ต้องรอ heartbeat ครั้งถัดไป

กิจกรรมของ BugBasher ตลอดสี่สัปดาห์ แสดงสีตามประเภทเซสชัน จุดสีส้มแสดงเซสชันที่เราเริ่มด้วยตนเอง
แต่ละ heartbeat จะเปิด Devin ตัวใหม่พร้อม sandbox ใหม่ และดึงข้อมูล “สมอง” จาก storage bucket ลงมาในระบบไฟล์ของเอเจนต์ภายใน ใน bucket นั้นมีทักษะของเอเจนต์ บันทึกการสนทนา และ log อื่นๆ ที่เอเจนต์ตัดสินใจเก็บไว้ วิธีนี้ทำให้เอเจนต์หลายตัวทำงานพร้อมกันและอัปเดตสมองเดียวกันได้ พร้อมเรียนรู้จากความก้าวหน้าของตัวเอง
1bugbasher-brain-main/2├── AGENTS.md3├── memory.md4├── open-decisions.md5├── do-not-call.csv6├── (... other MD and CSV files)7│8├── transcripts/9│ └── 2026-08-07 … 2026-09-08/ (25 day folders, 14,742 .json)10├── results/11│ ├── 2026-08-25-123b4fb1-partner-webform-shots/12│ ├── 2026-08-28-cf20a49e-desk2-lead-sheets/13│ └── (...)14├── runs/15│ ├── dial-slots/16│ └── <date>-<session>-<role>.md (411 files)17├── skills/18│ ├── README.md19│ ├── roles/20│ │ ├── calling/21│ │ ├── heartbeat/22│ │ ├── idea-engine/23│ │ ├── morning-brief/24│ │ └── (...)25│ ├── brain-maintenance/26│ ├── call-qa/27│ ├── (..)28├── call-qa/29├── context/30│ ├── meetings/31│ └── (18 .md)32├── archive/33│ ├── memory-2026-08.md34│ ├── memory-2026-09.md35│ ├── strategy-2026-08.md36│ ├── strategy-2026-09.md37│ └── open-decisions-closed.md38├── webcrafter/39│ └── (...)40├── partner-prospects/41│ └── (...)42├── dashboard/43│ ├── expenses.csv44│ ├── metrics.csv45│ ├── revenue.csv46│ └── summary.json47├── delivery/48│ └── runs/49├── handoff/50└── inbound-callbacks/
ไฟล์ที่ใช้ร่วมกันช่วยให้เซสชันใหม่สามารถรับช่วงงานก่อนหน้าและปรับแนวทางได้โดยไม่ต้องให้เราสั่งการทุกขั้นตอน
ระหว่างกระบวนการทบทวนประจำวัน Devin จะดู log ทั้งหมดที่ผ่านมาและพยายามเรียนรู้จากความผิดพลาด การเรียนรู้ส่วนใหญ่อยู่ในรูปแบบของการอัปเดตทักษะ (skill updates) เพื่อปรับปรุงการโทรออกครั้งถัดไปหรือป้อนข้อมูลเชิงลึกให้กับเซสชันในอนาคต BugBasher สามารถอัปเดต prompt และคำแนะนำที่บันทึกไว้ได้ด้วยตัวเอง แต่การเปลี่ยนแปลงโค้ดยังคงต้องได้รับการอนุมัติจากเรา

BugBasher เพิ่ม ลบ และจัดระเบียบคำแนะนำใหม่ขณะทบทวนผลการโทร Prompt ของมันขยายจาก 252 เป็น 2,793 คำตลอดระยะเวลาการทดลอง
เราใช้เวลาสองสัปดาห์แรกในการสร้าง BugBasher และดูแลอย่างใกล้ชิด ส่วนหนึ่งของการทดลองคือเพื่อดูว่ามันสามารถก้าวหน้าต่อไปได้หรือไม่เมื่อพบอุปสรรค ดังนั้นหลังจากตั้งค่าเบื้องต้นเสร็จ เราจึงพยายามแทรกแซงน้อยที่สุด โดยเข้าไปตรวจสอบประมาณสัปดาห์ละครั้งเพื่ออนุมัติการเปลี่ยนแปลงโค้ดที่สำคัญ
การค้นหา ร้านอาหารที่สนใจ
เพื่อขายการแนะนำลูกค้า BugBasher ต้องหาร้านอาหารที่ต้องการบริการกำจัดแมลงก่อน งานส่วนใหญ่ของมันคือการโทรหาร้านอาหารที่มีข้อบกพร่องด้านสัตว์รบกวนเมื่อเร็วๆ นี้ และสอบถามว่าพวกเขาต้องการให้ติดต่อผู้ให้บริการกำจัดแมลงให้หรือไม่

ผลลัพธ์จากการโทรหาร้านอาหาร 10,929 สาย จำนวนนับหมายถึงจำนวนสาย ไม่ใช่จำนวนร้านอาหารที่ไม่ซ้ำกัน
การโทรเหล่านี้ถูกป้อนเข้าสู่กระบวนการทบทวนอัตโนมัติ ซึ่ง Devin จะตรวจสอบบันทึกการสนทนาและแก้ไขคำแนะนำสำหรับเอเจนต์รับสายในการโทรครั้งถัดไป
ภาษา
BugBasher บางครั้งติดต่อคนที่ไม่เข้าใจภาษาอังกฤษตอนเปิดบทสนทนา พวกเขาพูดว่า "Hello? Huh? Wéi?" ซึ่งมันตีความว่าเป็นสัญญาณไม่ดี — จึงวางสายใส่พวกเขา เมื่อวันที่ 11 สิงหาคม หลังจากใช้เวลากับร้านอาหารแห่งหนึ่งแบบนี้ไป 45 วินาที มันเพิ่มคำแนะนำลงใน prompt การโทรให้ถามว่า: “ภาษาสเปนหรือจีนสะดวกกว่าไหม?”
ในการโทรที่ไม่ใช่ภาษาอังกฤษส่วนใหญ่ แค่นี้ก็เพียงพอที่จะเริ่มบทสนทนาที่เคยล้มเหลวได้ ตลอดระยะเวลาการทดลอง มันเปลี่ยนภาษาในการโทร 39 สาย ส่วนใหญ่เป็นภาษาสเปนหรือจีน

System Prompt
เอเจนต์บางครั้งยังอ่าน system prompt ออกดังๆ กลางบทสนทนาอีกด้วย

เอเจนต์รับสายกำลังอ่านคำแนะนำออกดังๆ ระหว่างการโทรหาร้านอาหาร
มันยังเถียงกับตัวเองออกดังๆ เกี่ยวกับสิ่งที่จะทำ:
"คุณยังอยู่หรือเปล่า? ผู้ใช้เงียบไปสองรอบแล้ว ตามกฎ SPEECH GATE และ THE ASK ถ้ารอบไหนแสดงให้เห็นว่าพวกเขาไม่ได้ฟัง คำตอบทั้งหมดของฉันคือ ask อย่างไรก็ตาม กฎ 'Quiet has continued past thirty seconds' ระบุว่าถ้าความเงียบดำเนินเกินสามสิบวินาทีโดยไม่มีการตอบกลับ ฉันควรพูดว่า 'ฉันจะลองใหม่อีกครั้ง ขอบคุณ!' และจบการโทร เนื่องจากผู้ใช้เงียบไปสองรอบ มีความเป็นไปได้ว่าเวลาเกินสามสิบวินาทีไปแล้ว แต่ก่อนจะจบการโทร ฉันควรถามว่า 'คุณยังอยู่หรือเปล่า?' ตามกฎ นี่คือครั้งแรกที่ฉันถามคำถามนี้"
เหตุการณ์นี้เกิดขึ้นในการโทร 197 สาย BugBasher พยายามเพิ่ม “ห้ามพูดเหตุผลของคุณ” ลงใน prompt ลบคำเฉพาะบางคำ และเปลี่ยนรูปแบบการเรียกเครื่องมือ (tool-call formatting) ไม่มีวิธีแก้ไขใดที่ได้ผล เมื่อวันที่ 24 สิงหาคม มันหยุดเปลี่ยนถ้อยคำและยกระดับปัญหามาให้เรา
การหาทางออกจากจุดติดขัด
BugBasher กำลังหาร้านอาหารที่สนใจได้ แต่ยังไม่มีบริษัทกำจัดแมลงให้ส่งต่อ ตอนแรกมันมองว่าการเซ็นสัญญากับบริษัทกำจัดแมลงเป็นงานที่ต้องมีมนุษย์เข้ามาเกี่ยวข้อง หลังจากผ่านไปแปดวัน มันบันทึกไว้ว่า:
"Sign an exterminator" เป็น blocker อันดับ 1 มา 8 วัน ในขณะที่ทุกเซสชันทำงานต่อจากนั้น และไม่มีเซสชันใดผลิต input สำหรับการตัดสินใจนั้น
คำขออื่นๆ ก็รอเราเช่นกัน มันไม่มีสิทธิ์อ่านคำตอบใน Slack และ blocker ด้านมนุษย์ เช่น การอนุมัติค่าใช้จ่ายและการรีวิวโค้ด กำลังสะสมมากขึ้น การอัปเดตใน Slack ของมันมาถึงเราแต่ไม่ได้รับคำตอบ
เมื่อวันที่ 23 สิงหาคม BugBasher ระบุ “human approval throughput” เป็น blocker หลักและเริ่มมองหาวิธีอื่นในการติดต่อเรา
เช้าวันนั้น มันเริ่มค้นหาทั่วทั้ง “สมอง” และไฟล์ทั้งหมดเพื่อหาข้อมูลติดต่อของมนุษย์ เมื่อพบว่าไร้ผล มันพยายามลิสต์สมาชิกในช่อง Slack ของมันโดยหวังว่าจะเจอคนที่ติดต่อได้:
1slack conversations.members -> missing_scope2slack users.list -> missing_scope
อย่างไรก็ตาม โดยขาดสิทธิ์ที่จำเป็นใน Slack ทั้งสองคำสั่งจึงคืนค่า error หนึ่งนาทีต่อมา มันตัดสินใจลองวิธีอื่น คราวนี้ลิสต์ผู้ร่วมงานใน Github repo ของมัน:
1gh api repos/.../collaborators -> jzone3, birdhumming
จากนั้นมันรัน git log เพื่อหาผู้เขียนใน commit ก่อนหน้า ซึ่งให้ผลเป็นอีเมลที่ทำงานสองฉบับ:
113:49:19 git log --format='%an %ae' | sort -u213:50:17 email sent to two work addresses -> 200
และเราตื่นขึ้นมาพร้อมกับอีเมลต่อไปนี้:

ผม merge PR ที่ค้างอยู่เก้ารายการสองวันต่อมา
หลังจากนั้น มันบันทึกไว้กับตัวเองว่า:
ความไม่สมดุลของต้นทุนช่างโหดร้าย: เวลาหนึ่งนาทีในการค้นหา เทียบกับหนึ่งวันที่คำขอไม่ได้รับคำตอบ
การหาลูกค้า
เนื่องจากมี leads มากมายที่จะขาย BugBasher ยังเริ่มค้นหาบริษัทกำจัดแมลงด้วยตัวเอง เพื่อหาพันธมิตรที่เป็นไปได้ BugBasher ดึงข้อมูลทะเบียนสารกำจัดศัตรูพืชของรัฐ กรองเหลือธุรกิจควบคุมสัตว์รบกวนใน NYC 321 แห่ง และเสริมข้อมูลติดต่อให้กับ 125 แห่ง
มันลองส่งอีเมล โทร และกรอกแบบฟอร์มติดต่อในเว็บไซต์ก่อน หลังจากผ่านไปสองวันโดยไม่ติดต่อมนุษย์ได้ มันตัดสินใจเปลี่ยนกลุ่มเป้าหมาย มันเริ่มมุ่งเป้าไปที่แผนกบัญชีองค์กรขนาดใหญ่ของเชนระดับภูมิภาคและระดับชาติ ด้วยเหตุผลที่ว่าบริษัทที่ใหญ่กว่าจะมีพนักงานขายเฉพาะทางมากกว่า "ที่มีโต๊ะทำงานและมีมนุษย์คอยรับสาย"
วิธีนี้ประสบความสำเร็จมากขึ้นในการติดต่อมนุษย์ แต่บางสายจบลงด้วยการที่ BugBasher วางสายกลางประโยค และข้อเสนอ leads ฟรีดึงดูดความสนใจได้น้อย มันแก้ bug เรื่องการวางสายและเปลี่ยน pitch ให้เริ่มด้วยการระบุร้านอาหารเฉพาะเจาะจงที่ต้องการใบเสนอราคา:
"ฉันมีร้านอาหารแห่งหนึ่งใน Clarkson Avenue ใน Brooklyn ที่ต้องการใบเสนอราคา — ควรส่งให้ใครดี?"
กลยุทธ์ pitch ใหม่ได้ผลดีกว่ามาก: เมื่อมันโทรกลับไปที่แผนกเดิมในวันถัดไป มีคนรับสาย 10 คน และ 4 คนให้ที่อยู่ทางอีเมลผ่านการโทรเพื่อนำส่ง lead
BugBasher ส่งอีเมล leads ออกไปโดยไม่คิดเงินล่วงหน้า แผนของมันคือบริษัทกำจัดแมลงจะจ่าย $75 หลังจากรับงานแล้ว ไม่มีผู้รับคนใดตอบกลับ
มันตัดสินใจว่าต้องใจน้อยลง และเปลี่ยนข้อเสนอให้บริษัทกำจัดแมลงต้องจ่าย $75 ล่วงหน้าผ่านลิงก์ Stripe แล้วจึงจะได้รับข้อมูลติดต่อของร้านอาหารภายหลัง
เมื่อวันที่ 1 กันยายน มันส่งอีเมลข้อเสนอนี้ไปยังบริษัทกำจัดแมลง 30 แห่ง รวมถึง 4 แห่งที่เคยส่งมาก่อนหน้า หลังจากผ่านไปหนึ่งชั่วโมง ไม่มีใครคลิกลิงก์ Stripe และมันสรุปว่า experiment ใหม่ของมันล้มเหลวเช่นกัน
แปดชั่วโมงหลังจากนั้น หนึ่งในผู้ติดต่อเก่าจ่าย $75 ผ่านลิงก์ โดยไม่เคยตอบกลับอีเมลเลย BugBasher ยืนยันการชำระเงินกับ Stripe และส่งชื่อ ที่อยู่ และเบอร์โทรศัพท์ของร้านอาหารให้เขาประมาณหกนาทีต่อมา

ต่อมาเราได้พูดคุยกับผู้ซื้อ ซึ่งเป็นผู้จัดการของบริษัทควบคุมสัตว์รบกวน เพื่อถามเกี่ยวกับประสบการณ์ของเขาที่มีต่อ BugBasher เมื่อถามว่าทำไมเขาถึงรับสาย เขาบอกว่าแค่ “อารมณ์ดีในวันนั้น” และเนื่องจากเพิ่งรันแคมเปญ Google Ads ทำให้เขารับโทรศัพท์จำนวนมากจาก “เบอร์แปลกๆ” อยู่แล้ว
เมื่อถามความเห็นเกี่ยวกับการโต้ตอบกับเอเจนต์ AI เขาตอบว่า “Business is business” (ธุรกิจก็คือธุรกิจ) เขายังกล่าวอีกว่าเขายินดีอย่างยิ่งที่จะซื้อจาก BugBasher อีก และถามว่าเรามี leads อื่นให้ขายเขาไหม จริงๆ แล้ว BugBasher มี leads อื่นที่ยังถืออยู่; อย่างไรก็ตาม แนวคิดเรื่องการกลับไปขายให้ลูกค้าเก่าดูเหมือนจะยังไม่เคยผุดขึ้นมาในหัวของมัน โดยรวมแล้ว เขาให้คะแนนประสบการณ์กับ BugBasher 8/10: แม้ lead จะไม่ปิดการขายสำเร็จ เขาก็พอใจกับการติดต่อเข้ามา
สิ่งที่เราเรียนรู้
- BugBasher เก่งมากในการทำ hill-climbing (ปรับปรุงทีละนิด) แต่แย่มากกับวัตถุประสงค์ปลายเปิด เมื่อเจอปัญหาชัดเจนที่มีผลลัพธ์วัดได้ มันไม่ลดละ: มันเขียนกฎป้องกัน prompt-leak ใหม่ห้าครั้งและประเมินแต่ละเวอร์ชันเทียบกับสายในวันถัดไป และเมื่อมันอยากติดต่อเรา มันหาทางจาก Slack ไปสู่ git history จนเจออีเมลที่ทำงานของเราได้ในเวลาประมาณสองนาที แต่ถ้าบอกเพียงว่า "ไปทำเงินมา" มันใช้เวลาสี่สัปดาห์ เงินทุนราว $3,000 และการโทรนับพันครั้งเพื่อทำเงินได้ $75 เอเจนต์ยังคงดิ้นรนกับการวางแผนระยะยาวและสภาพแวดล้อมที่ซับซ้อน
- โลกจริงเป็น eval environment ที่ดีมาก ไอเดียเริ่มต้นของ BugBasher ค่อนข้างแย่; มันคาดหวังว่าบริษัทกำจัดแมลงจะตอบอีเมลที่เสนอ leads ฟรี พนักงานต้อนรับจะสนใจเป็นพันธมิตร และผู้อ่านโฆษณาประกาศจะคลิกลิงก์ที่ดูน่าสงสัย เอเจนต์ดูเหมือนจะมีความหยั่งรู้ (intuition) น้อยมากเกี่ยวกับพฤติกรรมจริงของคน และ BugBasher ถูกทำให้ประหลาดใจตลอดเวลา แม้กระนั้น ในวงจรของการลองไอเดีย ดูตัวเลข เขียนเหตุผลที่ล้มเหลว ลองสิ่งอื่น มันก็สามารถบรรลุกลยุทธ์ที่ใช้งานได้สำเร็จ
ต้องอาศัยการโทรหลายครั้ง วงจรหลายรอบ และไอเดียที่ล้มเหลวมากมาย แต่ท้ายที่สุด BugBasher ก็สร้างยอดขายแรกได้ คำถามที่ว่าเอเจนต์ AI สามารถบริหารธุรกิจที่ยั่งยืนในระยะยาวได้จริงหรือไม่ — และอาจกลายเป็นธุรกิจที่ทำกำไรได้ — ยังคงเป็นคำถามที่เปิดกว้าง





