Cách xây dựng đội ngũ GTM trên Claude Code mà bạn có thể tự vận hành

@nifinet
TIẾNG ANH4 tuần trước · 18 thg 6, 2026
137K
938
64
83
3.3K

TL;DR

Hướng dẫn này trình bày chi tiết cách xây dựng quy trình GTM tự động hóa hoàn toàn bằng các AI agent của Claude Code cho việc tìm kiếm khách hàng tiềm năng, nghiên cứu và theo dõi, cho phép một người quản lý toàn bộ quy trình thông qua báo cáo họp nhanh hàng ngày.

Một đội GTM trông giống như một chiến dịch gửi đi. Nhưng phần lớn công việc thực sự của nó lại nằm ở khâu phán đoán: công ty nào đáng để gửi tin nhắn trong tuần này, nên nói gì để chứng tỏ bạn đã để ý đến họ, khách hàng nào không đến mà cần phải chạy theo, và điều gì thực sự đã thúc đẩy pipeline.

Việc gửi tin luôn là phần rẻ nhất. Khâu phán đoán mới là thứ bạn từng cần cả một đội ngũ để làm, và đó chính xác là thứ mà một người duy nhất cùng với Claude Code có thể vận hành từ đầu đến cuối.

Vì vậy, hãy ngừng suy nghĩ theo số lượng nhân sự và bắt đầu suy nghĩ theo các công việc cần làm.

Một đội GTM là một danh sách những công việc đó, và hầu hết chúng đều có cùng một hình dạng: đọc một đống dữ liệu, đưa ra quyết định, viết gì đó, theo dõi, và ghi nhớ những gì đã xảy ra.

Kết nối mỗi công việc với một agent, cho chúng một bộ nhớ dùng chung, và đặt chúng vào một lịch trình. Con người có giao diện người dùng (UX), phần mềm có API, còn agent có dòng lệnh, vì vậy toàn bộ đội ngũ chạy từ một dòng cron duy nhất lúc tám giờ sáng. Mỗi sáng, nó báo cáo kết quả, và công việc của bạn chuyển từ vận hành sang chỉnh sửa.

Dưới đây là cách xây dựng, từng vị trí một, cùng với prompt mà tôi dán vào Claude Code cho mỗi vị trí.

Nicolas Finet - inline image

Danh sách: năm vị trí

Quyết định ai đáng để gửi tin nhắn

Phần khó nhất của outbound chưa bao giờ là việc gửi tin. Đó là khâu phán đoán đằng sau nó: trong số tất cả các công ty trên thị trường, công ty nào đáng để tiếp cận trong tuần này, và bạn sẽ nói gì để chứng tỏ bạn đã để ý.

Khâu phán đoán đó là vị trí đầu tiên.

Nó theo dõi bốn loại thay đổi, bốn loại mà dữ liệu thị trường hàng thập kỷ liên tục thu hẹp danh sách lại:

  • Một vị trí được mở ra, hoặc được đăng lại.
  • Một công ty tương tác với đối thủ cạnh tranh, hoặc đăng bài về vấn đề mà bạn giải quyết.
  • Một công ty ra mắt, mở rộng, hoặc thay đổi stack công nghệ.
  • Tiền di chuyển qua một vòng gọi vốn hoặc thương vụ M&A.

Nó chấm điểm từng thay đổi dựa trên mức độ phù hợp thực tế và mọi thứ bạn đã biết về tài khoản đó, sau đó soạn thảo nội dung dựa trên chính sự kiện kích hoạt đó.

Nguyên tắc nó không bao giờ phá vỡ là trích dẫn điều đã thay đổi. "Thấy bạn đã đăng lại vị trí Head of RevOps, nhân sự vận hành thứ hai trong quý này." Không bao giờ là "Chào {{firstName}}." Nếu tin nhắn có thể được gửi đi mà không thay đổi từ tháng trước, thì sự kiện kích hoạt đã bị bỏ qua và tài khoản đó phải chờ.

text
1Viết team/prospector.py: run(memory, source, delivery, icp, sequences, weights, offline, dry_run).
2Phát hiện các tín hiệu mới và phân loại vào bốn nhóm (job, social, company, funding) và ghi chúng vào bộ nhớ
3dùng chung. Gom nhóm theo tài khoản. Với mỗi tài khoản, đánh giá nó dựa trên ICP và toàn bộ lịch sử bằng
4prompts/judge.md (Claude, temperature 0), dự phòng bằng heuristic nhóm trọng số để bỏ qua các tín hiệu yếu,
5không phù hợp ICP. Với những tài khoản vượt qua ngưỡng, soạn thảo từ tín hiệu mạnh nhất bằng prompts/draft.md,
6chuyển bản nháp cho hệ thống gửi (dry-run theo mặc định), và ghi lại lần tương tác. Trả về các dòng standup đã xếp hạng.

Tóm tắt mọi cuộc gọi trước khi nó bắt đầu

Trước một cuộc gọi đầu tiên, ai đó từng dành hai mươi phút để xây dựng một trang tổng quan: công ty này là gì, điều gì đã thay đổi, bạn đã gửi gì cho họ trước đây, và cuộc trò chuyện cuối cùng đã nguội lạnh ở đâu.

Hãy giao việc đó cho agent thứ hai.

Nó viết bản tóm tắt cho mọi cuộc gọi đã lên lịch dựa trên cùng bộ nhớ mà prospector ghi vào. Vào thời điểm cuộc gọi bắt đầu, trang tóm tắt đã sẵn sàng, với sự kiện kích hoạt đã đưa họ đến, lịch sử, và một điều đáng giá để mở đầu cuộc trò chuyện.

Không ai phải chuẩn bị lúc 11 giờ tối cho một cuộc gọi lúc 9 giờ sáng, và không ai bước vào cuộc gọi mà không có thông tin.

text
1Viết team/researcher.py: run(memory, calendar, icp, offline).
2Với mỗi cuộc gọi trên lịch hôm nay, lấy toàn bộ lịch sử của tài khoản từ bộ nhớ dùng chung và viết một trang
3tóm tắt bằng prompts/brief.md: điều gì đã thay đổi, chúng ta đã gửi gì và nó được đón nhận thế nào, và một
4điều tốt nhất để mở đầu cuộc gọi. Mọi dòng đều phải dựa trên lịch sử, không được bịa đặt. Dự phòng bằng
5một mẫu đơn giản được xây dựng từ tín hiệu mới nhất khi không có API key. Trả về một dòng standup cho mỗi cuộc gọi.

Để cho sequence tự động chạy theo

Một tín hiệu là vạch xuất phát. Sequence là thứ chuyển đổi, và đó là phần mà con người làm tệ nhất, vì việc theo dõi phụ thuộc vào việc con người nhớ phải theo dõi. Chúng ta quên, chúng ta do dự, chúng ta làm một lần rồi dừng.

Vì vậy, việc gửi và chạy theo được vận hành trong Overloop AI dưới dạng các sequence tự động kích hoạt khi agent bàn giao. Agent quyết định ai và viết lần tương tác đầu tiên. Overloop đảm nhận phần còn lại theo một lịch trình, qua email và LinkedIn, để nhịp độ không bao giờ phụ thuộc vào trí nhớ của bất kỳ ai.

text
1Viết team/sequencer.py: run(memory, delivery, sequences, offline, dry_run, min_age_days, max_age_days).
2Hỏi bộ nhớ dùng chung về các tài khoản có lần tương tác cuối cách đây vài ngày và chưa có phản hồi hoặc cuộc họp
3trong sổ sách. Soạn một tin nhắn follow-up nhẹ nhàng, bổ sung một góc nhìn thực sự mới, gửi nó vào sequence
4follow_up, và ghi lại lần tương tác. Bỏ qua các tương tác gần đây bằng cách tôn trọng cửa sổ min_age. Trả về
5một dòng standup cho mỗi tài khoản.

Giành lại những khách hàng không đến cuộc hẹn

Khách hàng không đến là một lead đã đủ điều kiện nhưng gặp xung đột lịch. Họ rò rỉ ra khỏi pipeline vì một lý do: việc phục hồi thủ công không bao giờ xảy ra.

Vì vậy, cùng một công cụ chạy một sequence phục hồi cho mỗi lần vắng mặt. Bốn lần tương tác trong một tuần, hai kênh, không có lời đổ lỗi nào trong đó:

  • Một giờ sau khi vắng mặt: một liên kết đặt lại lịch chỉ với hai cú nhấp chuột.
  • Ngày hôm sau: cùng một lời đề nghị trên LinkedIn.
  • Ngày thứ ba: một điều hữu ích liên quan đến ngành của họ, không yêu cầu gì.
  • Ngày thứ bảy: một lời kêu gọi cuối cùng đơn giản.

Nó loại bỏ cảm xúc khỏi việc theo dõi, và mang về khoảng một phần ba số khách hàng vắng mặt thường biến mất. Không ai phải nhớ gửi một tin nhắn nào.

text
1Viết team/recoverer.py: run(memory, calendar, delivery, sequences, offline, dry_run).
2Với mỗi lần vắng mặt gần đây từ lịch, đăng ký nó vào sequence no_show_recovery được định nghĩa trong
3config/sequences.yaml (bốn lần tương tác trong một tuần, hai kênh, không đổ lỗi ở bước nào), ghi lại lần
4tương tác, và trả về một dòng standup. Nhịp độ nằm trong config, không phải trong code.

Biến báo cáo hàng tuần thành công cụ tự điều chỉnh

Mỗi thứ Sáu, ai đó từng tổng hợp báo cáo tổng kết: những gì đã gửi đi, những gì đã đặt lịch, những gì đang bị kẹt, pipeline đang ở đâu. Agent cuối cùng xây dựng nó từ cùng bộ nhớ, mỗi tuần, mà không cần ai yêu cầu.

Sau đó, nó làm một điều mà báo cáo của con người không bao giờ làm.

Nó tự đánh giá các chiến thuật của chính mình: những tín hiệu liên tục mang lại cuộc họp sẽ được tăng trọng số, những nội dung liên tục thất bại sẽ bị loại bỏ. Danh sách rút gọn của tháng sau được sắp xếp theo những gì thị trường thực sự phản hồi, chứ không phải theo những gì bạn đoán là quan trọng vào tháng Giêng. Báo cáo không còn là bản ghi chép của tuần trước nữa, mà trở thành thứ điều chỉnh cho tuần tiếp theo.

text
1Viết team/reporter.py: run(memory, weights, days, offline).
2Đọc số liệu thống kê trong tuần từ bộ nhớ dùng chung. Mở đầu bằng số lượng cuộc họp. Tính lại trọng số cho bốn
3nhóm tín hiệu dựa trên tỷ lệ thắng, coi trọng một cuộc họp hơn một phản hồi, với một mức sàn để không nhóm nào
4bị giảm xuống 0. Trả về các dòng standup và trọng số mới cho lần chạy tiếp theo. prompts/report.md viết phiên
5bản văn xuôi khi có key.

Hai prompt chạy mỗi sáng

Mọi prompt xây dựng ở trên chỉ chạy một lần. Hai prompt này chạy trên mọi tài khoản, mỗi ngày, vì vậy chúng là những thứ cần giữ lại và tinh chỉnh. Khả năng phán đoán và giọng văn nằm ở đây, trong các tệp đơn giản, không bị chôn vùi trong code.

Prospector đánh giá dựa trên prompt này:

text
1VAI TRÒ Bạn là lớp phán đoán của prospector. Với một tài khoản, hãy quyết định xem một tín hiệu mua hàng có đáng
2để hành động ngay lúc này hay không, và hành động như thế nào.
3ĐẦU VÀO { icp, new_signals: [{bucket, summary}], history, days_since_last_touch }
4CHẤM ĐIỂM 80-100 phù hợp ICP mạnh và tín hiệu có ý định cao (gọi vốn, hoặc hai tín hiệu kết hợp); 50-79 phù hợp tốt,
5một tín hiệu vững chắc; 20-49 phù hợp yếu hoặc một tín hiệu ý định thấp đơn lẻ; 0-19 không phù hợp ICP hoặc nhiễu
6QUY TẮC Dưới 7 ngày kể từ lần tương tác cuối, ưu tiên nurture hoặc bỏ qua, không bao giờ first_touch. Nếu tín hiệu
7yếu hoặc không phù hợp ICP, chấm điểm thấp và bỏ qua; nói không là một phần của công việc. why_now phải trích dẫn
8sự kiện kích hoạt thực tế, bằng lời lẽ mà một rep có thể nói với người mua.
9ĐẦU RA (chỉ JSON) { "score": 0-100, "why_now": "...", "play": "first_touch|follow_up|nurture|skip", "rationale": "..." }

Và nó viết dựa trên prompt này:

text
1VAI TRÒ Bạn viết tin nhắn mở đầu. Tín hiệu là lý do bạn liên hệ, và tin nhắn phải chứng tỏ bạn đã để ý đến nó.
2ĐẦU VÀO { trigger, bucket, why_now, play, guardrails: {goal, must, never} }
3QUY TẮC Mở đầu câu đầu tiên bằng sự kiện kích hoạt, không bao giờ "Chào {{firstName}}". Kết nối sự kiện kích hoạt
4với một vấn đề bạn giải quyết, trong một câu duy nhất. Kết thúc với một yêu cầu ít rào cản. Câu văn đơn giản,
5độ dài hỗn hợp, không có sự khẩn cấp giả tạo, không có em dash, không có buzzword. Nếu tin nhắn có thể được gửi
6đi mà không thay đổi từ tháng trước, bạn đã bỏ qua sự kiện kích hoạt; hãy bắt đầu lại.
7ĐẦU RA (chỉ JSON) { "subject": "6-9 từ", "body": "3-5 câu" }

Điều gì biến năm agent thành một đội ngũ

Nicolas Finet - inline image

Năm agent, một bộ nhớ dùng chung

Năm script mà mỗi cái tự ghi chú riêng không phải là một đội ngũ. Điều biến chúng thành một đội là một bộ nhớ dùng chung duy nhất: một bản ghi cho mỗi tài khoản mà mọi vị trí đều đọc và ghi.

Prospector ghi lại một lần tương tác vào thứ Hai. Sequencer đọc nó vào thứ Năm, thấy không có phản hồi, và gửi bước tiếp theo. Reporter đếm nó vào thứ Sáu và tính lại trọng số cho các nhóm. Cùng một bản ghi, một nguồn sự thật duy nhất. Hãy xây dựng kho lưu trữ đó trước, giữ cho tên phương thức của nó ổn định, và mọi vị trí sẽ dựa vào nó thay vì phải phỏng đoán.

Một người vận hành nó như thế nào

Nicolas Finet - inline image

Báo cáo sáng hàng ngày

Bạn không vận hành việc này. Bạn chỉnh sửa nó, một công việc nhỏ hơn và rất khác.

Đội ngũ chạy trên cron trước khi bạn thức dậy. Vào lúc bạn ngồi vào bàn làm việc, báo cáo sáng đã chờ sẵn trong Slack: hôm nay nên liên hệ với ai và tại sao, một bản tóm tắt cho mọi cuộc gọi trên lịch của bạn, những khách hàng vắng mặt đang được chạy theo, số liệu tuần trước đã được tính lại trọng số dựa trên những gì thực sự đã đặt lịch. Hai phút: phê duyệt, chỉnh sửa, hoặc hủy bỏ.

Không phải xây dựng danh sách, không phải đoán chủ đề email, không có cuộc họp thứ Hai về việc gọi cho ai. Toàn bộ đội ngũ chạy với chi phí khoảng 400 đô la mỗi tháng cho token, toàn bộ chi phí vận hành của bộ phận. Những gì còn lại là công việc biên tập: có gu thẩm mỹ về những gì đội ngũ đưa ra trước mặt bạn, và nói không với hầu hết chúng.

Nơi con người vẫn chiến thắng

Nicolas Finet - inline image

Nơi con người ở lại

Điều này không vận hành toàn bộ quá trình go-to-market, và những phần nó bỏ qua lại là những phần quan trọng nhất. Các agent quyết định ai cần liên hệ và viết dòng đầu tiên. Chúng không chốt sale, và chúng không xây dựng mối quan hệ khiến người mua chọn bạn một năm sau đó, khi ngân sách cuối cùng được phê duyệt.

Khi một phản hồi quay lại với một câu hỏi thực sự, một sự do dự, một lời thì thầm "chúng tôi không chắc điều này dành cho chúng tôi", đó là một cuộc trò chuyện của con người, và nó nên được giữ như vậy. Hệ thống rất giỏi trong việc đưa bạn vào phòng. Nó không có gì để nói khi bạn đã ở trong đó.

Vì vậy, những con người mà bạn từng dành cho công việc nhàm chán sẽ đi đến nơi họ luôn có giá trị hơn: cuộc gọi, lòng tin, và sự chốt sale. Đội ngũ mua lại những giờ đồng hồ từng biến mất vào việc quyết định ai xứng đáng nhận một cuộc gọi, và dành chúng cho những cuộc trò chuyện quyết định các thương vụ.

Nhận lấy đội ngũ

Tôi đã đóng gói toàn bộ vào một repo mà bạn có thể clone và chạy: năm vị trí, bộ nhớ dùng chung mà chúng chạy trên đó, các prompt mang khả năng phán đoán và giọng văn, và báo cáo sáng kết nối chúng lại với nhau.

text
1gtm-team/
2 team/ prospector · researcher · sequencer · recoverer · reporter
3 core/ memory · models · adapters · llm
4 prompts/ judge · draft · brief · report
5 config/ icp · sequences · signals · team
6 run.py báo cáo sáng hàng ngày

Đây là một bản build có thể chạy được, không phải stack nội bộ mà chúng tôi chạy tại Sortlist. Vị trí prospector là gtm-brain từ lần ra mắt trước. Đây là đội ngũ xung quanh nó.

Hãy comment TEAM và tôi sẽ gửi nó cho bạn. Nhớ follow để tin nhắn được gửi thành công.

Nếu bạn muốn nó chạy cho bạn thay vì tự cài đặt, đó là MAX: cùng một ý tưởng nhưng các đường nối được ẩn đi. Một agent bạn nói chuyện, nó theo dõi các tín hiệu, chạy các sequence qua email và LinkedIn, và đưa cho bạn báo cáo sáng, được hỗ trợ bởi mười năm dữ liệu ghép nối người mua-người bán mà bạn không thể lấy từ API công cộng. Truy cập: yourmax.ai

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral