公孫衍
秦の恵文君5年(紀元前333年)、大良造に任じられた。翌恵文君6年(紀元前332年)、秦は魏の上郡雕陰(現在の陝西省延安市甘泉県の南)を取るため公孫衍(公子卬)率いる軍を派兵した。魏は龍賈を主将とする軍でこれに当たったが2年にわたる激戦の末、龍賈率いる魏軍は敗れ4万5千または8万の兵を討たれ、龍賈は生捕りにされた。魏はこの戦役において河西郡と上郡を防衛する戦力全てを失い、魏の恵王は翌年河西郡全域を秦に割譲し、秦は魏に占領されていた河西地区一帯を取り返した。
『史記』によると蘇秦は秦が自らが補佐する趙を攻めることを恐れており、張儀が秦に向かうよう仕向けた。
同年、秦は斉と魏に公孫衍を使者として派遣し、両国を騙して趙を攻めさせた。趙の粛侯が蘇秦を責めたため、蘇秦は慌てて燕に赴き斉を攻撃するよう依頼し、蘇秦はそのまま趙を離れた。これにより蘇秦が締結させた反秦の六国同盟は崩壊することとなった。
公孫衍は恵文王に他国を攻めるための策として、魏との一時的な和睦を提案した。この時、張儀は恵文王と面会し、今魏は四面の国を敵に回しており、逆に他国を使って魏を討ち、その覇権を崩す好機であると説いた。恵文王は張儀を宰相とし、その献策を用いたため公孫衍は秦を去ると魏に入りその将軍となった。
魏の国力は衰退していたため、公孫衍は他の国と連合して周辺国と戦う策を用いた。
恵文君13年(紀元前325年)、斉の将軍の田盼と共同して韓と趙の将軍の韓挙と趙護を平邑(現在の河南省濮陽市南楽県)と新城(現在の河南省洛陽市伊川県の南西)で破り、斉は平邑を取った。
恵文王2年(紀元前323年)、公孫衍は魏・韓・趙・燕・中山国の五国で連盟を組み、各国の王を対等な王とすることで秦・斉・楚と言った大国や張儀の連衡策に対抗する策として働きかけた(五国相王(中国語版))。しかしこの策は張儀が斉や楚に働きかけたことにより楚が魏を討つために出兵し頓挫した。また魏の宰相である恵施が斉や楚と連合を組む活動を行なったが、失敗し追放されることとなった。
恵文王3年(紀元前322年)、張儀は魏の恵王に遊説し、秦と魏が連衡して韓を攻め秦は三川、魏は南陽を取ることを提案した。恵王はこれに同意し、張儀を魏の宰相として迎えた。公孫衍は韓の宣恵王に遊説し、南陽を直接魏に割譲すれば秦と魏の連衡は崩れ去ると提案した。宣恵王はこれを容れ南陽を魏に割譲したため、公孫衍は張儀の功績を横取りする形となり恵王から褒賞を得た。
恵文王6年(紀元前319年)、魏は張儀を罷免・追放し秦に帰した。さらに魏・韓・趙・燕・楚で合従して秦を攻めようと謀り、公孫衍を相国の地位に昇進させ、追放していた恵施を帰国させ五国による合従を結成させた。
恵文王7年(紀元前318年)、公孫衍は五国合従軍を率いて秦の函谷関を攻めた。合従軍の総指揮官は楚の懐王が務めることとなり、公孫衍はさらに義渠にも秦を攻めるよう働きかけた。しかし各国の利害関係の元、実際に参戦したのは魏・趙・韓の三国と李帛(現在の甘粛省天水市の東)で秦と戦った義渠に過ぎず、この戦いは合従軍の敗北に終わった(函谷関の戦い)。